From a76ff59a2c2e94eb26c1a30bcb13cb6978ccdc87 Mon Sep 17 00:00:00 2001 From: Hongkun Peng Date: Thu, 29 Aug 2024 21:38:08 +0800 Subject: [PATCH 01/67] docs(zh): sync the home page style and add sponsor information (#1865) --- docs/zh/index.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/zh/index.md b/docs/zh/index.md index 98f83fcd6..953a128f3 100644 --- a/docs/zh/index.md +++ b/docs/zh/index.md @@ -22,11 +22,11 @@ features: details: 在 TypeScript 支持的任何地方运行。适用于任何技术栈和框架。 --- -
+
### 谁在使用? -
    +
    • @@ -37,3 +37,17 @@ features:
+ +
+ +### 赞助商 + +
+ +
+ +通过在 [OpenCollective](https://opencollective.com/openapi-ts) 上支持此项目,成为赞助商! + + + +
From 08bde72cfeed14ecc3a15251a2f77d0770382442 Mon Sep 17 00:00:00 2001 From: liangsky <31531283+liangskyli@users.noreply.github.com> Date: Thu, 29 Aug 2024 22:46:14 +0800 Subject: [PATCH 02/67] fix: keyedParameters use unique key (#1849) * fix: keyedParameters use unique key * chore: lint format * chore: lint format * fix: ref also use unique key * Create proud-pugs-clean.md fix: keyedParameters use unique key --- .changeset/proud-pugs-clean.md | 5 ++ .../src/transform/path-item-object.ts | 6 +- .../test/transform/path-item-object.test.ts | 60 +++++++++++++++++++ 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 .changeset/proud-pugs-clean.md diff --git a/.changeset/proud-pugs-clean.md b/.changeset/proud-pugs-clean.md new file mode 100644 index 000000000..4d27faecb --- /dev/null +++ b/.changeset/proud-pugs-clean.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": patch +--- + +fix: keyedParameters use unique key diff --git a/packages/openapi-typescript/src/transform/path-item-object.ts b/packages/openapi-typescript/src/transform/path-item-object.ts index 04aca3cd3..c57129893 100644 --- a/packages/openapi-typescript/src/transform/path-item-object.ts +++ b/packages/openapi-typescript/src/transform/path-item-object.ts @@ -53,7 +53,11 @@ export default function transformPathItemObject(pathItem: PathItemObject, option 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 ?? [])]) { - const name = "$ref" in parameter ? options.ctx.resolve(parameter.$ref)?.name : parameter.name; + // fix: #1798, use unique key + const name = + "$ref" in parameter + ? `${options.ctx.resolve(parameter.$ref)?.in}-${options.ctx.resolve(parameter.$ref)?.name}` + : `${parameter.in}-${parameter.name}`; if (name) { keyedParameters[name] = parameter; } 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 ed0e697e3..1b3efea95 100644 --- a/packages/openapi-typescript/test/transform/path-item-object.test.ts +++ b/packages/openapi-typescript/test/transform/path-item-object.test.ts @@ -359,6 +359,66 @@ describe("transformPathItemObject", () => { }, }, ], + [ + "parameters > header and cookie have same name param1", + { + given: { + get: { + parameters: [ + { + name: "param1", + in: "header", + required: true, + schema: { + type: "string", + }, + description: "param1", + }, + { + name: "param1", + in: "cookie", + required: true, + schema: { + type: "string", + }, + description: "param1", + }, + ], + }, + }, + want: `{ + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header: { + /** @description param1 */ + param1: string; + }; + path?: never; + cookie: { + /** @description param1 */ + param1: string; + }; + }; + requestBody?: never; + responses: never; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; +}`, + }, + ], ]; for (const [testName, { given, want, options = DEFAULT_OPTIONS, ci }] of tests) { From 9dda22199bff4a33783633d6d244d9c5282c90b5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 09:28:20 -0600 Subject: [PATCH 03/67] [ci] release (#1860) * [ci] release * Fix versions --------- Co-authored-by: github-actions[bot] Co-authored-by: Drew Powers --- .changeset/happy-singers-fry.md | 5 ----- .changeset/little-knives-design.md | 5 ----- .changeset/proud-pugs-clean.md | 5 ----- packages/openapi-fetch/CHANGELOG.md | 8 ++++++++ packages/openapi-fetch/package.json | 2 +- packages/openapi-react-query/CHANGELOG.md | 7 +++++++ packages/openapi-react-query/package.json | 2 +- packages/openapi-typescript/CHANGELOG.md | 6 ++++++ packages/openapi-typescript/package.json | 2 +- 9 files changed, 24 insertions(+), 18 deletions(-) delete mode 100644 .changeset/happy-singers-fry.md delete mode 100644 .changeset/little-knives-design.md delete mode 100644 .changeset/proud-pugs-clean.md diff --git a/.changeset/happy-singers-fry.md b/.changeset/happy-singers-fry.md deleted file mode 100644 index 16d22fb3b..000000000 --- a/.changeset/happy-singers-fry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-fetch": minor ---- - -Allow specifying baseUrl per request diff --git a/.changeset/little-knives-design.md b/.changeset/little-knives-design.md deleted file mode 100644 index a53e70395..000000000 --- a/.changeset/little-knives-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-fetch": patch ---- - -fix: allow use of `PathBasedClient` with generated `paths` diff --git a/.changeset/proud-pugs-clean.md b/.changeset/proud-pugs-clean.md deleted file mode 100644 index 4d27faecb..000000000 --- a/.changeset/proud-pugs-clean.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": patch ---- - -fix: keyedParameters use unique key diff --git a/packages/openapi-fetch/CHANGELOG.md b/packages/openapi-fetch/CHANGELOG.md index 333fec2b2..47b692d6a 100644 --- a/packages/openapi-fetch/CHANGELOG.md +++ b/packages/openapi-fetch/CHANGELOG.md @@ -1,5 +1,13 @@ # openapi-fetch +## 0.11.2 + +### Patch Changes + +- [#1817](https://github.com/openapi-ts/openapi-typescript/pull/1817) [`2a4b067`](https://github.com/openapi-ts/openapi-typescript/commit/2a4b067f43f7e0b75aecbf5c2fb3013a4e96e591) Thanks [@Gruak](https://github.com/Gruak)! - Allow specifying baseUrl per request + +- [#1842](https://github.com/openapi-ts/openapi-typescript/pull/1842) [`0e42cbb`](https://github.com/openapi-ts/openapi-typescript/commit/0e42cbb98e2a023c33685de65ab0b8dbf82cc4b3) Thanks [@gzm0](https://github.com/gzm0)! - fix: allow use of `PathBasedClient` with generated `paths` + ## 0.11.1 ### Patch Changes diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index c0d31554c..b9e7502f6 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -1,7 +1,7 @@ { "name": "openapi-fetch", "description": "Fast, type-safe fetch client for your OpenAPI schema. Only 6 kb (min). Works with React, Vue, Svelte, or vanilla JS.", - "version": "0.11.1", + "version": "0.11.2", "author": { "name": "Drew Powers", "email": "drew@pow.rs" diff --git a/packages/openapi-react-query/CHANGELOG.md b/packages/openapi-react-query/CHANGELOG.md index 21be79ebc..5748597c6 100644 --- a/packages/openapi-react-query/CHANGELOG.md +++ b/packages/openapi-react-query/CHANGELOG.md @@ -1,5 +1,12 @@ # openapi-react-query +## 0.1.3 + +### Patch Changes + +- Updated dependencies [[`2a4b067`](https://github.com/openapi-ts/openapi-typescript/commit/2a4b067f43f7e0b75aecbf5c2fb3013a4e96e591), [`0e42cbb`](https://github.com/openapi-ts/openapi-typescript/commit/0e42cbb98e2a023c33685de65ab0b8dbf82cc4b3)]: + - openapi-fetch@0.11.2 + ## 0.1.2 ### Patch Changes diff --git a/packages/openapi-react-query/package.json b/packages/openapi-react-query/package.json index 6be76032f..40af8c590 100644 --- a/packages/openapi-react-query/package.json +++ b/packages/openapi-react-query/package.json @@ -1,7 +1,7 @@ { "name": "openapi-react-query", "description": "Fast, type-safe @tanstack/react-query client to work with your OpenAPI schema.", - "version": "0.1.2", + "version": "0.1.3", "author": { "name": "Martin Paucot", "email": "contact@martin-paucot.fr" diff --git a/packages/openapi-typescript/CHANGELOG.md b/packages/openapi-typescript/CHANGELOG.md index 76326bdf8..19f469658 100644 --- a/packages/openapi-typescript/CHANGELOG.md +++ b/packages/openapi-typescript/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-typescript +## 7.3.1 + +### Patch Changes + +- [#1849](https://github.com/openapi-ts/openapi-typescript/pull/1849) [`08bde72`](https://github.com/openapi-ts/openapi-typescript/commit/08bde72cfeed14ecc3a15251a2f77d0770382442) Thanks [@liangskyli](https://github.com/liangskyli)! - fix: keyedParameters use unique key + ## 7.3.0 ### Minor Changes diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 2bcbd6a3d..58d333b22 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.3.0", + "version": "7.3.1", "author": { "name": "Drew Powers", "email": "drew@pow.rs" From bd8856854eaaf213b96d04b9eb130db1695bb1f1 Mon Sep 17 00:00:00 2001 From: Bruno Carneiro Date: Thu, 29 Aug 2024 17:29:02 +0200 Subject: [PATCH 04/67] fix(openapi-typescript-helpers): fix SuccessResponseJSON and ErrorResponseJSON helpers (#1871) --- .changeset/silly-apes-know.md | 5 +++++ packages/openapi-typescript-helpers/index.d.ts | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/silly-apes-know.md diff --git a/.changeset/silly-apes-know.md b/.changeset/silly-apes-know.md new file mode 100644 index 000000000..eb6d63071 --- /dev/null +++ b/.changeset/silly-apes-know.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript-helpers": patch +--- + +fix SuccessResponseJSON and ErrorResponseJSON helpers diff --git a/packages/openapi-typescript-helpers/index.d.ts b/packages/openapi-typescript-helpers/index.d.ts index fad9b4ca6..d8e67c501 100644 --- a/packages/openapi-typescript-helpers/index.d.ts +++ b/packages/openapi-typescript-helpers/index.d.ts @@ -131,13 +131,13 @@ export type ErrorResponse = FilterKeys< >; /** Return first JSON-like 2XX response from a path + HTTP method */ -export type SuccessResponseJSON = JSONLike>>; +export type SuccessResponseJSON = SuccessResponse>; /** Return first JSON-like 5XX or 4XX response from a path + HTTP method */ -export type ErrorResponseJSON = JSONLike>>; +export type ErrorResponseJSON = ErrorResponse>; /** Return JSON-like request body from a path + HTTP method */ -export type RequestBodyJSON = JSONLike, "content">>; +export type RequestBodyJSON = FilterKeys, "content">; // Generic TS utils From 21fb8b0febbae1a12dd1bb43eb9130422629409e Mon Sep 17 00:00:00 2001 From: Hongkun Peng Date: Thu, 29 Aug 2024 23:29:56 +0800 Subject: [PATCH 05/67] fix(openapi-typescript): type errors generated under `enumValues` (#1867) * fix(openapi-typescript): type errors generated under `enumValues` * Create proud-students-repeat.md --- .changeset/proud-students-repeat.md | 5 +++++ packages/openapi-typescript/src/lib/ts.ts | 22 +++++++++++++++++-- .../src/transform/schema-object.ts | 1 + .../openapi-typescript/test/node-api.test.ts | 5 +++++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 .changeset/proud-students-repeat.md diff --git a/.changeset/proud-students-repeat.md b/.changeset/proud-students-repeat.md new file mode 100644 index 000000000..d975a340e --- /dev/null +++ b/.changeset/proud-students-repeat.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": patch +--- + +fix(openapi-typescript): type errors generated under `enumValues` diff --git a/packages/openapi-typescript/src/lib/ts.ts b/packages/openapi-typescript/src/lib/ts.ts index c090a2eac..559d62ed3 100644 --- a/packages/openapi-typescript/src/lib/ts.ts +++ b/packages/openapi-typescript/src/lib/ts.ts @@ -242,13 +242,13 @@ export function tsArrayLiteralExpression( name: string, elementType: ts.TypeNode, values: (string | number)[], - options?: { export?: boolean; readonly?: boolean }, + options?: { export?: boolean; readonly?: boolean; injectFooter?: ts.Node[] }, ) { let variableName = sanitizeMemberName(name); variableName = `${variableName[0].toLowerCase()}${variableName.substring(1)}`; const arrayType = options?.readonly - ? ts.factory.createTypeReferenceNode("ReadonlyArray", [elementType]) + ? tsReadonlyArray(elementType, options.injectFooter) : ts.factory.createArrayTypeNode(elementType); return ts.factory.createVariableStatement( @@ -490,3 +490,21 @@ export function tsWithRequired( tsUnion(keys.map((k) => tsLiteral(k))), ]); } + +/** + * Enhanced ReadonlyArray. + * eg: type Foo = ReadonlyArray; type Bar = ReadonlyArray + * Foo and Bar are both of type `readonly T[]` + */ +export function tsReadonlyArray(type: ts.TypeNode, injectFooter?: ts.Node[]): ts.TypeNode { + if ( + injectFooter && + !injectFooter.some((node) => ts.isTypeAliasDeclaration(node) && node?.name?.escapedText === "ReadonlyArray") + ) { + const helper = stringToAST( + "type ReadonlyArray = [Exclude] extends [any[]] ? Readonly> : Readonly[]>;", + )[0] as any; + injectFooter.push(helper); + } + return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("ReadonlyArray"), [type]); +} diff --git a/packages/openapi-typescript/src/transform/schema-object.ts b/packages/openapi-typescript/src/transform/schema-object.ts index 4ad571523..7e74f094c 100644 --- a/packages/openapi-typescript/src/transform/schema-object.ts +++ b/packages/openapi-typescript/src/transform/schema-object.ts @@ -136,6 +136,7 @@ export function transformSchemaObjectWithComposition( { export: true, readonly: true, + injectFooter: options.ctx.injectFooter, }, ); diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts index b0ef5f800..e476552a6 100644 --- a/packages/openapi-typescript/test/node-api.test.ts +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -797,6 +797,11 @@ export interface components { pathItems: never; } export type $defs = Record; +type ReadonlyArray = [ + Exclude +] extends [ + any[] +] ? Readonly> : Readonly[]>; export const pathsUrlGetParametersQueryStatusValues: ReadonlyArray = ["active", "inactive"]; export const statusValues: ReadonlyArray = ["active", "inactive"]; export const errorCodeValues: ReadonlyArray = [100, 101, 102, 103, 104, 105]; From 246f3b77e47ac8f6074cfe21c451a2b0b89b2f88 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 09:44:02 -0600 Subject: [PATCH 06/67] [ci] release (#1885) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [ci] release * Don’t need to release clients --------- Co-authored-by: github-actions[bot] Co-authored-by: Drew Powers --- .changeset/proud-students-repeat.md | 5 ----- .changeset/silly-apes-know.md | 5 ----- packages/openapi-typescript-helpers/CHANGELOG.md | 6 ++++++ packages/openapi-typescript-helpers/package.json | 2 +- packages/openapi-typescript/CHANGELOG.md | 6 ++++++ packages/openapi-typescript/package.json | 2 +- 6 files changed, 14 insertions(+), 12 deletions(-) delete mode 100644 .changeset/proud-students-repeat.md delete mode 100644 .changeset/silly-apes-know.md diff --git a/.changeset/proud-students-repeat.md b/.changeset/proud-students-repeat.md deleted file mode 100644 index d975a340e..000000000 --- a/.changeset/proud-students-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": patch ---- - -fix(openapi-typescript): type errors generated under `enumValues` diff --git a/.changeset/silly-apes-know.md b/.changeset/silly-apes-know.md deleted file mode 100644 index eb6d63071..000000000 --- a/.changeset/silly-apes-know.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript-helpers": patch ---- - -fix SuccessResponseJSON and ErrorResponseJSON helpers diff --git a/packages/openapi-typescript-helpers/CHANGELOG.md b/packages/openapi-typescript-helpers/CHANGELOG.md index 74367e00b..58404ebf8 100644 --- a/packages/openapi-typescript-helpers/CHANGELOG.md +++ b/packages/openapi-typescript-helpers/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-typescript-helpers +## 0.0.13 + +### Patch Changes + +- [#1871](https://github.com/openapi-ts/openapi-typescript/pull/1871) [`bd88568`](https://github.com/openapi-ts/openapi-typescript/commit/bd8856854eaaf213b96d04b9eb130db1695bb1f1) Thanks [@brunolca](https://github.com/brunolca)! - fix SuccessResponseJSON and ErrorResponseJSON helpers + ## 0.0.12 ### Patch Changes diff --git a/packages/openapi-typescript-helpers/package.json b/packages/openapi-typescript-helpers/package.json index 961a828fe..60292d002 100644 --- a/packages/openapi-typescript-helpers/package.json +++ b/packages/openapi-typescript-helpers/package.json @@ -1,7 +1,7 @@ { "name": "openapi-typescript-helpers", "description": "TypeScript helpers for consuming openapi-typescript types", - "version": "0.0.12", + "version": "0.0.13", "author": { "name": "Drew Powers", "email": "drew@pow.rs" diff --git a/packages/openapi-typescript/CHANGELOG.md b/packages/openapi-typescript/CHANGELOG.md index 19f469658..8638218d0 100644 --- a/packages/openapi-typescript/CHANGELOG.md +++ b/packages/openapi-typescript/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-typescript +## 7.3.2 + +### Patch Changes + +- [#1867](https://github.com/openapi-ts/openapi-typescript/pull/1867) [`21fb8b0`](https://github.com/openapi-ts/openapi-typescript/commit/21fb8b0febbae1a12dd1bb43eb9130422629409e) Thanks [@phk422](https://github.com/phk422)! - fix(openapi-typescript): type errors generated under `enumValues` + ## 7.3.1 ### Patch Changes diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 58d333b22..5b19b4e12 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.3.1", + "version": "7.3.2", "author": { "name": "Drew Powers", "email": "drew@pow.rs" From 6038f8fca09fa698c9dd9bc49349c49342c46ac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Stani=C5=A1evsk=C3=BD?= Date: Fri, 30 Aug 2024 15:43:53 +0200 Subject: [PATCH 07/67] Allow falsy values (except undefined) as a valid body (#1825) * Allow falsy values (except undefined) as a valid body * Add change-set --- .changeset/rich-crews-repeat.md | 5 + packages/openapi-fetch/src/index.js | 2 +- packages/openapi-fetch/test/index.test.ts | 182 ++++++++++++++++++++++ 3 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 .changeset/rich-crews-repeat.md diff --git a/.changeset/rich-crews-repeat.md b/.changeset/rich-crews-repeat.md new file mode 100644 index 000000000..8aac07cc7 --- /dev/null +++ b/.changeset/rich-crews-repeat.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": patch +--- + +Allow falsy values (except undefined) as a valid body diff --git a/packages/openapi-fetch/src/index.js b/packages/openapi-fetch/src/index.js index 75fadaa0f..36248c52f 100644 --- a/packages/openapi-fetch/src/index.js +++ b/packages/openapi-fetch/src/index.js @@ -84,7 +84,7 @@ export default function createClient(clientOptions) { ...init, headers: mergeHeaders(baseHeaders, headers, params.header), }; - if (requestInit.body) { + if (requestInit.body !== undefined) { requestInit.body = bodySerializer(requestInit.body); // remove `Content-Type` if serialized body is FormData; browser will correctly set Content-Type & boundary expression if (requestInit.body instanceof FormData) { diff --git a/packages/openapi-fetch/test/index.test.ts b/packages/openapi-fetch/test/index.test.ts index 14c7a9438..79362d072 100644 --- a/packages/openapi-fetch/test/index.test.ts +++ b/packages/openapi-fetch/test/index.test.ts @@ -1,6 +1,8 @@ import { HttpResponse, type StrictResponse } from "msw"; import { afterAll, beforeAll, describe, expect, expectTypeOf, it } from "vitest"; import createClient, { + type BodySerializer, + type FetchOptions, type MethodResponse, type Middleware, type MiddlewareCallbackParams, @@ -1335,6 +1337,186 @@ describe("client", () => { }); }); + describe("body serialization", () => { + const BODY_ACCEPTING_METHODS = [["PUT"], ["POST"], ["DELETE"], ["OPTIONS"], ["PATCH"]] as const; + const ALL_METHODS = [...BODY_ACCEPTING_METHODS, ["GET"], ["HEAD"]] as const; + + const fireRequestAndGetBodyInformation = async (options: { + bodySerializer?: BodySerializer; + method: (typeof ALL_METHODS)[number][number]; + fetchOptions: FetchOptions; + }) => { + const client = createClient({ baseUrl, bodySerializer: options.bodySerializer }); + const { getRequest } = useMockRequestHandler({ + baseUrl, + method: "all", + path: "/blogposts-optional", + status: 200, + }); + await client[options.method]("/blogposts-optional", options.fetchOptions as any); + + const request = getRequest(); + const bodyText = await request.text(); + + return { bodyUsed: request.bodyUsed, bodyText }; + }; + + it.each(ALL_METHODS)("missing body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: {}, + }); + + expect(bodyUsed).toBe(false); + expect(bodyText).toBe(""); + expect(bodySerializer).not.toBeCalled(); + }); + + it.each(ALL_METHODS)("missing body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ method, fetchOptions: {} }); + + expect(bodyUsed).toBe(false); + expect(bodyText).toBe(""); + }); + + it.each(ALL_METHODS)("`undefined` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: undefined, + }, + }); + + expect(bodyUsed).toBe(false); + expect(bodyText).toBe(""); + expect(bodySerializer).not.toBeCalled(); + }); + + it.each(ALL_METHODS)("`undefined` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: undefined, + }, + }); + + expect(bodyUsed).toBe(false); + expect(bodyText).toBe(""); + }); + + it.each(BODY_ACCEPTING_METHODS)("`null` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: null, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("Serialized: null"); + expect(bodySerializer).toBeCalled(); + }); + + it.each(BODY_ACCEPTING_METHODS)("`null` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: null, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("null"); + }); + + it.each(BODY_ACCEPTING_METHODS)("`false` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: false, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("Serialized: false"); + expect(bodySerializer).toBeCalled(); + }); + + it.each(BODY_ACCEPTING_METHODS)("`false` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: false, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("false"); + }); + + it.each(BODY_ACCEPTING_METHODS)("`''` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: "", + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe('Serialized: ""'); + expect(bodySerializer).toBeCalled(); + }); + + it.each(BODY_ACCEPTING_METHODS)("`''` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: "", + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe('""'); + }); + + it.each(BODY_ACCEPTING_METHODS)("`0` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: 0, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("Serialized: 0"); + expect(bodySerializer).toBeCalled(); + }); + + it.each(BODY_ACCEPTING_METHODS)("`0` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: 0, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("0"); + }); + }); + describe("requests", () => { it("multipart/form-data", async () => { const client = createClient({ baseUrl }); From 9c93cfd7ba30204a4ffb3bc8474b19783c5bd43f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 07:53:04 -0600 Subject: [PATCH 08/67] [ci] release (#1889) * [ci] release * Fix wrong package patch --------- Co-authored-by: github-actions[bot] Co-authored-by: Drew Powers --- .changeset/rich-crews-repeat.md | 5 ----- packages/openapi-fetch/CHANGELOG.md | 6 ++++++ packages/openapi-fetch/package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 .changeset/rich-crews-repeat.md diff --git a/.changeset/rich-crews-repeat.md b/.changeset/rich-crews-repeat.md deleted file mode 100644 index 8aac07cc7..000000000 --- a/.changeset/rich-crews-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": patch ---- - -Allow falsy values (except undefined) as a valid body diff --git a/packages/openapi-fetch/CHANGELOG.md b/packages/openapi-fetch/CHANGELOG.md index 47b692d6a..db3bb4bc9 100644 --- a/packages/openapi-fetch/CHANGELOG.md +++ b/packages/openapi-fetch/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-fetch +## 0.11.3 + +### Patch Changes + +- [#1825](https://github.com/openapi-ts/openapi-typescript/pull/1825) [`6038f8f`](https://github.com/openapi-ts/openapi-typescript/commit/6038f8fca09fa698c9dd9bc49349c49342c46ac2) Thanks [@goce-cz](https://github.com/goce-cz)! - Allow falsy values (except undefined) as a valid body + ## 0.11.2 ### Patch Changes diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index b9e7502f6..eed5996a3 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -1,7 +1,7 @@ { "name": "openapi-fetch", "description": "Fast, type-safe fetch client for your OpenAPI schema. Only 6 kb (min). Works with React, Vue, Svelte, or vanilla JS.", - "version": "0.11.2", + "version": "0.11.3", "author": { "name": "Drew Powers", "email": "drew@pow.rs" From 94592a494566255807a3fc9bc19369af86d7cb78 Mon Sep 17 00:00:00 2001 From: Hongkun Peng Date: Fri, 30 Aug 2024 21:53:27 +0800 Subject: [PATCH 09/67] =?UTF-8?q?fix:=20replace=20special=20characters=20u?= =?UTF-8?q?sing=20`SPECIAL=5FCHARACTER=5FMAP`=20for=20dup=E2=80=A6=20(#187?= =?UTF-8?q?7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: replace special characters using `SPECIAL_CHARACTER_MAP` for duplicate-identifiers * chore: optimized code * Create slimy-points-learn.md --- .changeset/slimy-points-learn.md | 5 +++++ packages/openapi-typescript/src/lib/ts.ts | 8 +++++++- packages/openapi-typescript/test/lib/ts.test.ts | 8 ++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 .changeset/slimy-points-learn.md diff --git a/.changeset/slimy-points-learn.md b/.changeset/slimy-points-learn.md new file mode 100644 index 000000000..1d664486d --- /dev/null +++ b/.changeset/slimy-points-learn.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": patch +--- + +fix: replace special characters using `SPECIAL_CHARACTER_MAP` for duplicate-identifiers diff --git a/packages/openapi-typescript/src/lib/ts.ts b/packages/openapi-typescript/src/lib/ts.ts index 559d62ed3..3f795c60c 100644 --- a/packages/openapi-typescript/src/lib/ts.ts +++ b/packages/openapi-typescript/src/lib/ts.ts @@ -4,6 +4,10 @@ import ts, { type LiteralTypeNode, type 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 SPECIAL_CHARACTER_MAP: Record = { + "+": "Plus", + // Add more mappings as needed +}; export const BOOLEAN = ts.factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKeyword); export const FALSE = ts.factory.createLiteralTypeNode(ts.factory.createFalse()); @@ -308,7 +312,9 @@ export function tsEnumMember(value: string | number, metadata: { name?: string; if (invalidCharMatch[0] === name) { name = `"${name}"`; } else { - name = name.replace(JS_PROPERTY_INDEX_INVALID_CHARS_RE, "_"); + name = name.replace(JS_PROPERTY_INDEX_INVALID_CHARS_RE, (s) => { + return s in SPECIAL_CHARACTER_MAP ? SPECIAL_CHARACTER_MAP[s] : "_"; + }); } } } diff --git a/packages/openapi-typescript/test/lib/ts.test.ts b/packages/openapi-typescript/test/lib/ts.test.ts index 517a00d58..d6169181d 100644 --- a/packages/openapi-typescript/test/lib/ts.test.ts +++ b/packages/openapi-typescript/test/lib/ts.test.ts @@ -208,6 +208,14 @@ describe("tsEnum", () => { NotFound = 101, // User doesn't have permissions PermissionDenied = 102 +}`); + }); + + test("replace special character", () => { + expect(astToString(tsEnum("FOO_ENUM", ["Etc/GMT+0", "Etc/GMT+1", "Etc/GMT-1"])).trim()).toBe(`enum FOO_ENUM { + Etc_GMTPlus0 = "Etc/GMT+0", + Etc_GMTPlus1 = "Etc/GMT+1", + Etc_GMT_1 = "Etc/GMT-1" }`); }); }); From f7bb00ff3654de4536607a0fe9ead82ddd9d3437 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 07:55:21 -0600 Subject: [PATCH 10/67] [ci] release (#1890) Co-authored-by: github-actions[bot] --- .changeset/slimy-points-learn.md | 5 ----- packages/openapi-typescript/CHANGELOG.md | 6 ++++++ packages/openapi-typescript/package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 .changeset/slimy-points-learn.md diff --git a/.changeset/slimy-points-learn.md b/.changeset/slimy-points-learn.md deleted file mode 100644 index 1d664486d..000000000 --- a/.changeset/slimy-points-learn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": patch ---- - -fix: replace special characters using `SPECIAL_CHARACTER_MAP` for duplicate-identifiers diff --git a/packages/openapi-typescript/CHANGELOG.md b/packages/openapi-typescript/CHANGELOG.md index 8638218d0..447d3e5e1 100644 --- a/packages/openapi-typescript/CHANGELOG.md +++ b/packages/openapi-typescript/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-typescript +## 7.3.3 + +### Patch Changes + +- [#1877](https://github.com/openapi-ts/openapi-typescript/pull/1877) [`94592a4`](https://github.com/openapi-ts/openapi-typescript/commit/94592a494566255807a3fc9bc19369af86d7cb78) Thanks [@phk422](https://github.com/phk422)! - fix: replace special characters using `SPECIAL_CHARACTER_MAP` for duplicate-identifiers + ## 7.3.2 ### Patch Changes diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 5b19b4e12..8dea1a975 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.3.2", + "version": "7.3.3", "author": { "name": "Drew Powers", "email": "drew@pow.rs" From b893c44f4290917f24c2ef7cda106c540df9cb3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Stani=C5=A1evsk=C3=BD?= Date: Fri, 30 Aug 2024 18:19:58 +0200 Subject: [PATCH 11/67] Do not set content-type on body-less requests (#1826) * Do not set content-type on body-less requests * Add docs * Remove commented code * Implement CR suggestions * Add change-set * Fix change-set * Post-rebase fix --- .changeset/chilled-forks-rush.md | 5 + docs/openapi-fetch/api.md | 11 ++ packages/openapi-fetch/src/index.js | 28 +++-- packages/openapi-fetch/test/index.test.ts | 144 ++++++++++++++++++++-- 4 files changed, 167 insertions(+), 21 deletions(-) create mode 100644 .changeset/chilled-forks-rush.md diff --git a/.changeset/chilled-forks-rush.md b/.changeset/chilled-forks-rush.md new file mode 100644 index 000000000..a530bb853 --- /dev/null +++ b/.changeset/chilled-forks-rush.md @@ -0,0 +1,5 @@ +--- +"openapi-fetch": minor +--- + +Do not set content-type on body-less requests diff --git a/docs/openapi-fetch/api.md b/docs/openapi-fetch/api.md index 3a120cb38..bc4539f59 100644 --- a/docs/openapi-fetch/api.md +++ b/docs/openapi-fetch/api.md @@ -181,6 +181,17 @@ const { data, error } = await client.PUT("/submit", { }); ``` +::: tip + +For convenience, `openapi-fetch` sets `Content-Type` to `application/json` automatically +for any request that provides value for the `body` parameter. When the `bodySerializer` returns an instance of `FormData`, +`Content-Type` is omitted, allowing the browser to set it automatically with the correct message part boundary. + +You can also set `Content-Type` manually through `headers` object either in the fetch options, +or when instantiating the client. + +::: + ## Path serialization openapi-fetch supports path serialization as [outlined in the 3.1 spec](https://swagger.io/docs/specification/serialization/#path). This happens automatically, based on the specific format in your OpenAPI schema: diff --git a/packages/openapi-fetch/src/index.js b/packages/openapi-fetch/src/index.js index 36248c52f..cc9952ec6 100644 --- a/packages/openapi-fetch/src/index.js +++ b/packages/openapi-fetch/src/index.js @@ -1,8 +1,4 @@ // settings & const -const DEFAULT_HEADERS = { - "Content-Type": "application/json", -}; - const PATH_PARAM_RE = /\{[^{}]+\}/g; /** Add custom parameters to Request object */ @@ -41,7 +37,6 @@ export default function createClient(clientOptions) { ...baseOptions } = { ...clientOptions }; baseUrl = removeTrailingSlash(baseUrl); - baseHeaders = mergeHeaders(DEFAULT_HEADERS, baseHeaders); const middlewares = []; /** @@ -58,6 +53,7 @@ export default function createClient(clientOptions) { parseAs = "json", querySerializer: requestQuerySerializer, bodySerializer = globalBodySerializer ?? defaultBodySerializer, + body, ...init } = fetchOptions || {}; if (localBaseUrl) { @@ -78,19 +74,25 @@ export default function createClient(clientOptions) { }); } + const serializedBody = body === undefined ? undefined : bodySerializer(body); + + const defaultHeaders = + // with no body, we should not to set Content-Type + serializedBody === undefined || + // if serialized body is FormData; browser will correctly set Content-Type & boundary expression + serializedBody instanceof FormData + ? {} + : { + "Content-Type": "application/json", + }; + const requestInit = { redirect: "follow", ...baseOptions, ...init, - headers: mergeHeaders(baseHeaders, headers, params.header), + body: serializedBody, + headers: mergeHeaders(defaultHeaders, baseHeaders, headers, params.header), }; - if (requestInit.body !== undefined) { - requestInit.body = bodySerializer(requestInit.body); - // remove `Content-Type` if serialized body is FormData; browser will correctly set Content-Type & boundary expression - if (requestInit.body instanceof FormData) { - requestInit.headers.delete("Content-Type"); - } - } let id; let options; diff --git a/packages/openapi-fetch/test/index.test.ts b/packages/openapi-fetch/test/index.test.ts index 79362d072..b484d4fdb 100644 --- a/packages/openapi-fetch/test/index.test.ts +++ b/packages/openapi-fetch/test/index.test.ts @@ -4,6 +4,7 @@ import createClient, { type BodySerializer, type FetchOptions, type MethodResponse, + type HeadersOptions, type Middleware, type MiddlewareCallbackParams, type QuerySerializerOptions, @@ -11,7 +12,7 @@ import createClient, { type PathBasedClient, createPathBasedClient, } from "../src/index.js"; -import { server, baseUrl, useMockRequestHandler, toAbsoluteURL } from "./fixtures/mock-server.js"; +import { baseUrl, server, toAbsoluteURL, useMockRequestHandler } from "./fixtures/mock-server.js"; import type { paths } from "./fixtures/api.js"; beforeAll(() => { @@ -819,12 +820,7 @@ describe("client", () => { await client.GET("/self"); // assert default headers were passed - expect(getRequest().headers).toEqual( - new Headers({ - ...headers, // assert new header got passed - "Content-Type": "application/json", // probably doesn’t need to get tested, but this was simpler than writing lots of code to ignore these - }), - ); + expect(getRequest().headers).toEqual(new Headers(headers)); }); it("can be overridden", async () => { @@ -850,7 +846,6 @@ describe("client", () => { expect(getRequest().headers).toEqual( new Headers({ "Cache-Control": "no-cache", - "Content-Type": "application/json", }), ); }); @@ -894,6 +889,139 @@ describe("client", () => { }); }); + describe("content-type", () => { + const BODY_ACCEPTING_METHODS = [["PUT"], ["POST"], ["DELETE"], ["OPTIONS"], ["PATCH"]] as const; + const ALL_METHODS = [...BODY_ACCEPTING_METHODS, ["GET"], ["HEAD"]] as const; + + const fireRequestAndGetContentType = async (options: { + defaultHeaders?: HeadersOptions; + method: (typeof ALL_METHODS)[number][number]; + fetchOptions: FetchOptions; + }) => { + const client = createClient({ baseUrl, headers: options.defaultHeaders }); + const { getRequest } = useMockRequestHandler({ + baseUrl, + method: "all", + path: "/blogposts-optional", + status: 200, + }); + await client[options.method]("/blogposts-optional", options.fetchOptions as any); + + const request = getRequest(); + return request.headers.get("content-type"); + }; + + it.each(ALL_METHODS)("no content-type for body-less requests - %s", async (method) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: {}, + }); + + expect(contentType).toBe(null); + }); + + it.each(ALL_METHODS)("no content-type for `undefined` body requests - %s", async (method) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: { + body: undefined, + }, + }); + + expect(contentType).toBe(null); + }); + + const BODIES = [{ prop: "a" }, {}, "", "str", null, false, 0, 1, new Date("2024-08-07T09:52:00.836Z")] as const; + const METHOD_BODY_COMBINATIONS = BODY_ACCEPTING_METHODS.flatMap(([method]) => + BODIES.map((body) => [method, body] as const), + ); + + it.each(METHOD_BODY_COMBINATIONS)( + "implicit default content-type for body-full requests - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: { + body, + }, + }); + + expect(contentType).toBe("application/json"); + }, + ); + + it.each(METHOD_BODY_COMBINATIONS)( + "provided default content-type for body-full requests - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + defaultHeaders: { + "content-type": "application/my-json", + }, + method, + fetchOptions: { + body, + }, + }); + + expect(contentType).toBe("application/my-json"); + }, + ); + + it.each(METHOD_BODY_COMBINATIONS)( + "native-fetch default content-type for body-full requests, when default is suppressed - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + defaultHeaders: { + "content-type": null, + }, + method, + fetchOptions: { + body, + }, + }); + // the fetch implementation won't allow sending a body without content-type, + // and it defaults to `text/plain;charset=UTF-8`, however the actual default value + // is irrelevant and might be flaky across different fetch implementations + // for us, it's important that it's not `application/json` + expect(contentType).not.toBe("application/json"); + }, + ); + + it.each(METHOD_BODY_COMBINATIONS)( + "specified content-type for body-full requests - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: { + body, + headers: { + "content-type": "application/my-json", + }, + }, + }); + + expect(contentType).toBe("application/my-json"); + }, + ); + + it.each(METHOD_BODY_COMBINATIONS)( + "specified content-type for body-full requests, even when default is suppressed - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: { + body, + headers: { + "content-type": "application/my-json", + }, + }, + }); + + expect(contentType).toBe("application/my-json"); + }, + ); + }); + describe("fetch", () => { it("createClient", async () => { function createCustomFetch(data: any) { From e40fe0651663beb984a7ec637733e92d3e96294d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 10:26:15 -0600 Subject: [PATCH 12/67] [ci] release (#1891) * [ci] release * Fix major bump --------- Co-authored-by: github-actions[bot] Co-authored-by: Drew Powers --- .changeset/chilled-forks-rush.md | 5 ----- packages/openapi-fetch/CHANGELOG.md | 8 +++++++- packages/openapi-fetch/package.json | 2 +- packages/openapi-react-query/CHANGELOG.md | 7 +++++++ packages/openapi-react-query/package.json | 2 +- 5 files changed, 16 insertions(+), 8 deletions(-) delete mode 100644 .changeset/chilled-forks-rush.md diff --git a/.changeset/chilled-forks-rush.md b/.changeset/chilled-forks-rush.md deleted file mode 100644 index a530bb853..000000000 --- a/.changeset/chilled-forks-rush.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-fetch": minor ---- - -Do not set content-type on body-less requests diff --git a/packages/openapi-fetch/CHANGELOG.md b/packages/openapi-fetch/CHANGELOG.md index db3bb4bc9..e0d588aa3 100644 --- a/packages/openapi-fetch/CHANGELOG.md +++ b/packages/openapi-fetch/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-fetch +## 0.12.0 + +### Minor Changes + +- ⚠️ **Breaking Change** [#1826](https://github.com/openapi-ts/openapi-typescript/pull/1826) [`b893c44`](https://github.com/openapi-ts/openapi-typescript/commit/b893c44f4290917f24c2ef7cda106c540df9cb3d) Thanks [@goce-cz](https://github.com/goce-cz)! - Do not set content-type on body-less requests + ## 0.11.3 ### Patch Changes @@ -29,7 +35,7 @@ ### Minor Changes -- [#1791](https://github.com/openapi-ts/openapi-typescript/pull/1791) [`a956d5d`](https://github.com/openapi-ts/openapi-typescript/commit/a956d5d8480834402536283ee2f24ce8086698dc) Thanks [@gzm0](https://github.com/gzm0)! - Add support for `client["/endpoint"].GET()` style calls +-- ⚠️ **Breaking Change** [#1791](https://github.com/openapi-ts/openapi-typescript/pull/1791) [`a956d5d`](https://github.com/openapi-ts/openapi-typescript/commit/a956d5d8480834402536283ee2f24ce8086698dc) Thanks [@gzm0](https://github.com/gzm0)! - Add support for `client["/endpoint"].GET()` style calls ## 0.10.6 diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index eed5996a3..05abd769f 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -1,7 +1,7 @@ { "name": "openapi-fetch", "description": "Fast, type-safe fetch client for your OpenAPI schema. Only 6 kb (min). Works with React, Vue, Svelte, or vanilla JS.", - "version": "0.11.3", + "version": "0.12.0", "author": { "name": "Drew Powers", "email": "drew@pow.rs" diff --git a/packages/openapi-react-query/CHANGELOG.md b/packages/openapi-react-query/CHANGELOG.md index 5748597c6..004aa0861 100644 --- a/packages/openapi-react-query/CHANGELOG.md +++ b/packages/openapi-react-query/CHANGELOG.md @@ -1,5 +1,12 @@ # openapi-react-query +## 0.1.4 + +### Patch Changes + +- Updated dependencies [[`b893c44`](https://github.com/openapi-ts/openapi-typescript/commit/b893c44f4290917f24c2ef7cda106c540df9cb3d)]: + - openapi-fetch@0.12.0 + ## 0.1.3 ### Patch Changes diff --git a/packages/openapi-react-query/package.json b/packages/openapi-react-query/package.json index 40af8c590..4aa967f1f 100644 --- a/packages/openapi-react-query/package.json +++ b/packages/openapi-react-query/package.json @@ -1,7 +1,7 @@ { "name": "openapi-react-query", "description": "Fast, type-safe @tanstack/react-query client to work with your OpenAPI schema.", - "version": "0.1.3", + "version": "0.1.4", "author": { "name": "Martin Paucot", "email": "contact@martin-paucot.fr" From 08e507db716921621394cd6a0189c8688cebc34c Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Tue, 3 Sep 2024 10:23:54 -0600 Subject: [PATCH 13/67] chore(openapi-fetch): Split apart tests (#1895) * Split apart tests * Update deps --- package.json | 12 +- packages/openapi-fetch/CONTRIBUTING.md | 19 +- packages/openapi-fetch/biome.json | 2 +- .../examples/react-query/package.json | 6 +- .../examples/sveltekit/package.json | 16 +- .../openapi-fetch/examples/vue-3/package.json | 10 +- packages/openapi-fetch/package.json | 18 +- .../test/common/create-client.test.ts | 153 + .../openapi-fetch/test/common/params.test.ts | 522 + .../openapi-fetch/test/common/request.test.ts | 306 + .../test/common/response.test.ts | 195 + .../test/common/schemas/common.d.ts | 782 + .../test/common/schemas/common.yaml | 446 + .../test/{fixtures/e2e => e2e/app}/app.ts | 4 +- .../test/{fixtures/e2e => e2e/app}/index.html | 0 .../e2e => e2e/app/schemas}/e2e.d.ts | 0 .../e2e => e2e/app/schemas}/e2e.yaml | 0 .../{fixtures/e2e => e2e/app}/vite.config.ts | 0 .../openapi-fetch/test/{ => e2e}/index.e2e.ts | 0 .../test/examples/examples.test.ts | 32 + .../test/examples/schemas/github.d.ts | 117810 +++++++++++++++ .../test/examples/schemas/stripe.d.ts | 63458 ++++++++ packages/openapi-fetch/test/fixtures/api.d.ts | 1095 - packages/openapi-fetch/test/fixtures/api.yaml | 746 - .../test/fixtures/mock-server.ts | 113 - .../openapi-typescript-codegen.min.js | 10 - packages/openapi-fetch/test/helpers.ts | 41 + .../test/http-methods/delete.test.ts | 47 + .../test/http-methods/get.test.ts | 94 + .../test/http-methods/head.test.ts | 16 + .../test/http-methods/options.test.ts | 15 + .../test/http-methods/patch.test.ts | 18 + .../test/http-methods/post.test.ts | 179 + .../test/http-methods/put.test.ts | 17 + .../test/http-methods/schemas/delete.d.ts | 66 + .../test/http-methods/schemas/delete.yaml | 33 + .../test/http-methods/schemas/get.d.ts | 118 + .../test/http-methods/schemas/get.yaml | 64 + .../test/http-methods/schemas/head.d.ts | 74 + .../test/http-methods/schemas/head.yaml | 45 + .../test/http-methods/schemas/options.d.ts | 62 + .../test/http-methods/schemas/options.yaml | 21 + .../test/http-methods/schemas/patch.d.ts | 81 + .../test/http-methods/schemas/patch.yaml | 57 + .../test/http-methods/schemas/post.d.ts | 197 + .../test/http-methods/schemas/post.yaml | 140 + .../test/http-methods/schemas/put.d.ts | 66 + .../test/http-methods/schemas/put.yaml | 44 + .../test/http-methods/schemas/trace.d.ts | 66 + .../test/http-methods/schemas/trace.yaml | 27 + .../test/http-methods/trace.test.ts | 12 + packages/openapi-fetch/test/index.bench.js | 42 +- packages/openapi-fetch/test/index.test.ts | 2395 - .../test/middleware/middleware.test.ts | 356 + .../test/middleware/schemas/middleware.d.ts | 132 + .../test/middleware/schemas/middleware.yaml | 84 + .../no-strict-null-checks.test.ts | 95 + .../noStrictNullChecks.test.ts | 126 - .../path-based-client.test.ts | 82 + .../schemas/path-based-client.d.ts | 119 + .../schemas/path-based-client.yaml | 67 + packages/openapi-fetch/test/redocly.yaml | 58 +- packages/openapi-fetch/tsconfig.json | 7 +- packages/openapi-fetch/vitest.config.ts | 4 + packages/openapi-react-query/package.json | 4 +- packages/openapi-react-query/vitest.config.ts | 2 +- .../openapi-typescript-helpers/package.json | 2 +- packages/openapi-typescript/CONTRIBUTING.md | 12 +- packages/openapi-typescript/package.json | 2 +- pnpm-lock.yaml | 2879 +- 70 files changed, 187212 insertions(+), 6611 deletions(-) create mode 100644 packages/openapi-fetch/test/common/create-client.test.ts create mode 100644 packages/openapi-fetch/test/common/params.test.ts create mode 100644 packages/openapi-fetch/test/common/request.test.ts create mode 100644 packages/openapi-fetch/test/common/response.test.ts create mode 100644 packages/openapi-fetch/test/common/schemas/common.d.ts create mode 100644 packages/openapi-fetch/test/common/schemas/common.yaml rename packages/openapi-fetch/test/{fixtures/e2e => e2e/app}/app.ts (91%) rename packages/openapi-fetch/test/{fixtures/e2e => e2e/app}/index.html (100%) rename packages/openapi-fetch/test/{fixtures/e2e => e2e/app/schemas}/e2e.d.ts (100%) rename packages/openapi-fetch/test/{fixtures/e2e => e2e/app/schemas}/e2e.yaml (100%) rename packages/openapi-fetch/test/{fixtures/e2e => e2e/app}/vite.config.ts (100%) rename packages/openapi-fetch/test/{ => e2e}/index.e2e.ts (100%) create mode 100644 packages/openapi-fetch/test/examples/examples.test.ts create mode 100644 packages/openapi-fetch/test/examples/schemas/github.d.ts create mode 100644 packages/openapi-fetch/test/examples/schemas/stripe.d.ts delete mode 100644 packages/openapi-fetch/test/fixtures/api.d.ts delete mode 100644 packages/openapi-fetch/test/fixtures/api.yaml delete mode 100644 packages/openapi-fetch/test/fixtures/mock-server.ts delete mode 100644 packages/openapi-fetch/test/fixtures/openapi-typescript-codegen.min.js create mode 100644 packages/openapi-fetch/test/helpers.ts create mode 100644 packages/openapi-fetch/test/http-methods/delete.test.ts create mode 100644 packages/openapi-fetch/test/http-methods/get.test.ts create mode 100644 packages/openapi-fetch/test/http-methods/head.test.ts create mode 100644 packages/openapi-fetch/test/http-methods/options.test.ts create mode 100644 packages/openapi-fetch/test/http-methods/patch.test.ts create mode 100644 packages/openapi-fetch/test/http-methods/post.test.ts create mode 100644 packages/openapi-fetch/test/http-methods/put.test.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/delete.d.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/delete.yaml create mode 100644 packages/openapi-fetch/test/http-methods/schemas/get.d.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/get.yaml create mode 100644 packages/openapi-fetch/test/http-methods/schemas/head.d.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/head.yaml create mode 100644 packages/openapi-fetch/test/http-methods/schemas/options.d.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/options.yaml create mode 100644 packages/openapi-fetch/test/http-methods/schemas/patch.d.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/patch.yaml create mode 100644 packages/openapi-fetch/test/http-methods/schemas/post.d.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/post.yaml create mode 100644 packages/openapi-fetch/test/http-methods/schemas/put.d.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/put.yaml create mode 100644 packages/openapi-fetch/test/http-methods/schemas/trace.d.ts create mode 100644 packages/openapi-fetch/test/http-methods/schemas/trace.yaml create mode 100644 packages/openapi-fetch/test/http-methods/trace.test.ts delete mode 100644 packages/openapi-fetch/test/index.test.ts create mode 100644 packages/openapi-fetch/test/middleware/middleware.test.ts create mode 100644 packages/openapi-fetch/test/middleware/schemas/middleware.d.ts create mode 100644 packages/openapi-fetch/test/middleware/schemas/middleware.yaml create mode 100644 packages/openapi-fetch/test/no-strict-null-checks/no-strict-null-checks.test.ts delete mode 100644 packages/openapi-fetch/test/no-strict-null-checks/noStrictNullChecks.test.ts create mode 100644 packages/openapi-fetch/test/path-based-client/path-based-client.test.ts create mode 100644 packages/openapi-fetch/test/path-based-client/schemas/path-based-client.d.ts create mode 100644 packages/openapi-fetch/test/path-based-client/schemas/path-based-client.yaml diff --git a/package.json b/package.json index 79ff3e116..9cfd6fd59 100644 --- a/package.json +++ b/package.json @@ -17,16 +17,16 @@ "version": "pnpm run build && changeset version && pnpm i" }, "devDependencies": { - "@biomejs/biome": "^1.8.1", + "@biomejs/biome": "^1.8.3", "@changesets/changelog-github": "^0.5.0", - "@changesets/cli": "^2.27.5", - "@playwright/test": "^1.44.1", + "@changesets/cli": "^2.27.7", + "@playwright/test": "^1.46.1", "@size-limit/preset-small-lib": "^11.1.4", - "@types/node": "^20.14.7", + "@types/node": "^22.5.2", "del-cli": "^5.1.0", - "prettier": "^3.3.2", + "prettier": "^3.3.3", "size-limit": "^11.1.4", - "typescript": "^5.4.5", + "typescript": "^5.5.4", "vitest": "^2.0.5" }, "size-limit": [ diff --git a/packages/openapi-fetch/CONTRIBUTING.md b/packages/openapi-fetch/CONTRIBUTING.md index 370c7eb18..309028fea 100644 --- a/packages/openapi-fetch/CONTRIBUTING.md +++ b/packages/openapi-fetch/CONTRIBUTING.md @@ -32,33 +32,36 @@ This library uses [Vitest](https://vitest.dev/) for testing. There’s a great [ To run the entire test suite, run: -```bash +```sh pnpm test ``` To run an individual test: -```bash +```sh pnpm test -- [partial filename] ``` To start the entire test suite in watch mode: -```bash +```sh npx vitest ``` -#### TypeScript tests +#### Important test-writing tips -**Don’t neglect writing TS tests!** In the test suite, you’ll see `// @ts-expect-error` comments. These are critical tests in and of themselves—they are asserting that TypeScript throws an error when it should be throwing an error (the test suite will actually fail in places if a TS error is _not_ raised). +All tests in this project should adhere to the following rules: -As this is just a minimal fetch wrapper meant to provide deep type inference for API schemas, **testing TS types** is arguably more important than testing the runtime. So please make liberal use of `// @ts-expect-error`, and as a general rule of thumb, write more **unwanted** output tests than _wanted_ output tests. +1. **Use `assertType(…)`** ([docs](https://vitest.dev/guide/testing-types)). Don’t just check the _actual_ runtime value; check the _perceived_ type as well. +2. **Testing TS errors is just as important as testing for expected types.** Use `// @ts-expected-error` liberally. this is discouraged because it’s hiding an error. But in our tests, we **want** to test that a TS error is thrown for invalid input. +3. **Scope `// @ts-expect-error` as closely as possible.** Remember that JS largely ignores whitespace. When using `// @ts-expect-error`, try and break up an expression into as many lines as possible, so that the `// @ts-expect-error` is scoped to the right line. Otherwise it is possible a _different part of the expression_ is throwing the error! +4. **Manually type out type tests.** Avoid using [test.each](https://vitest.dev/api/#test-each) for type tests, as it’s likely hiding errors. -### Running linting +### Linting Linting is handled via [Biome](https://biomejs.dev), a faster ESLint replacement. It was installed with `pnpm i` and can be run with: -```bash +```sh pnpm run lint ``` diff --git a/packages/openapi-fetch/biome.json b/packages/openapi-fetch/biome.json index c7765558f..a580695e9 100644 --- a/packages/openapi-fetch/biome.json +++ b/packages/openapi-fetch/biome.json @@ -3,7 +3,7 @@ "extends": ["../../biome.json"], "files": { "include": ["./src/", "./test/"], - "ignore": ["**/fixtures/**/*"] + "ignore": ["**/test/**/schemas/**"] }, "linter": { "rules": { diff --git a/packages/openapi-fetch/examples/react-query/package.json b/packages/openapi-fetch/examples/react-query/package.json index 06346e8f0..268417b91 100644 --- a/packages/openapi-fetch/examples/react-query/package.json +++ b/packages/openapi-fetch/examples/react-query/package.json @@ -6,7 +6,7 @@ "dev": "vite dev" }, "dependencies": { - "@tanstack/react-query": "^5.51.18", + "@tanstack/react-query": "^5.53.3", "openapi-fetch": "workspace:^", "openapi-typescript": "workspace:^", "react": "^18.3.1", @@ -16,7 +16,7 @@ "@types/react": "18.3.1", "@types/react-dom": "18.3.0", "@vitejs/plugin-react-swc": "^3.7.0", - "typescript": "^5.4.5", - "vite": "^5.3.5" + "typescript": "^5.5.4", + "vite": "^5.4.3" } } diff --git a/packages/openapi-fetch/examples/sveltekit/package.json b/packages/openapi-fetch/examples/sveltekit/package.json index a4c8d7331..5a6ee2fce 100644 --- a/packages/openapi-fetch/examples/sveltekit/package.json +++ b/packages/openapi-fetch/examples/sveltekit/package.json @@ -11,14 +11,14 @@ "openapi-fetch": "workspace:^" }, "devDependencies": { - "@sveltejs/adapter-auto": "^3.2.2", - "@sveltejs/kit": "^2.5.19", - "@sveltejs/vite-plugin-svelte": "^3.1.1", + "@sveltejs/adapter-auto": "^3.2.4", + "@sveltejs/kit": "^2.5.25", + "@sveltejs/vite-plugin-svelte": "^3.1.2", "openapi-typescript": "workspace:^", - "svelte": "^4.2.18", - "svelte-check": "^3.8.5", - "tslib": "^2.6.3", - "typescript": "^5.4.5", - "vite": "^5.3.5" + "svelte": "^4.2.19", + "svelte-check": "^3.8.6", + "tslib": "^2.7.0", + "typescript": "^5.5.4", + "vite": "^5.4.3" } } diff --git a/packages/openapi-fetch/examples/vue-3/package.json b/packages/openapi-fetch/examples/vue-3/package.json index 2cae98c47..1a83adf4c 100644 --- a/packages/openapi-fetch/examples/vue-3/package.json +++ b/packages/openapi-fetch/examples/vue-3/package.json @@ -12,15 +12,15 @@ }, "dependencies": { "openapi-fetch": "workspace:^", - "vue": "^3.4.35" + "vue": "^3.5.0" }, "devDependencies": { "@tsconfig/node20": "^20.1.4", - "@vitejs/plugin-vue": "^5.1.2", + "@vitejs/plugin-vue": "^5.1.3", "@vue/tsconfig": "^0.5.1", "openapi-typescript": "workspace:^", - "typescript": "^5.4.5", - "vite": "^5.3.5", - "vue-tsc": "^2.0.29" + "typescript": "^5.5.4", + "vite": "^5.4.3", + "vue-tsc": "^2.1.4" } } diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index 05abd769f..9e8c78a7a 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -62,25 +62,25 @@ "test:ts-no-strict": "tsc --noEmit -p test/no-strict-null-checks/tsconfig.json", "test-e2e": "playwright test", "bench:js": "vitest bench", - "e2e-vite-build": "vite build test/fixtures/e2e", - "e2e-vite-start": "vite preview test/fixtures/e2e", + "e2e-vite-build": "vite build test/e2e/app", + "e2e-vite-start": "vite preview test/e2e/app", "version": "pnpm run prepare && pnpm run build" }, "dependencies": { - "openapi-typescript-helpers": "workspace:^" + "openapi-typescript-helpers": "workspace:^", + "vitest-fetch-mock": "^0.3.0" }, "devDependencies": { - "axios": "^1.7.4", + "axios": "^1.7.7", "del-cli": "^5.1.0", - "esbuild": "^0.23.0", + "esbuild": "^0.23.1", "execa": "^8.0.1", "feature-fetch": "^0.0.15", - "msw": "^2.3.1", "openapi-typescript": "workspace:^", "openapi-typescript-codegen": "^0.25.0", "openapi-typescript-fetch": "^2.0.0", - "superagent": "^10.0.1", - "typescript": "^5.4.5", - "vite": "^5.3.5" + "superagent": "^10.1.0", + "typescript": "^5.5.4", + "vite": "^5.4.2" } } diff --git a/packages/openapi-fetch/test/common/create-client.test.ts b/packages/openapi-fetch/test/common/create-client.test.ts new file mode 100644 index 000000000..15c5c9383 --- /dev/null +++ b/packages/openapi-fetch/test/common/create-client.test.ts @@ -0,0 +1,153 @@ +import { describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { FetchOptions, HeadersOptions } from "../../src/index.js"; +import type { paths } from "./schemas/common.js"; + +describe("createClient options", () => { + test("baseUrl", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient({ baseUrl: "https://api.foo.bar/v2" }, async (req) => { + actualURL = new URL(req.url); + return Response.json([]); + }); + await client.GET("/resources"); + expect(actualURL.href).toBe("https://api.foo.bar/v2/resources"); + }); + + test("baseUrl removes trailing slash", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient({ baseUrl: "https://api.foo.bar/v3/" }, async (req) => { + actualURL = new URL(req.url); + return Response.json([]); + }); + await client.GET("/resources"); + expect(actualURL.href).toBe("https://api.foo.bar/v3/resources"); + }); + + test("baseUrl per request", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient({ baseUrl: "https://fakeurl.example" }, async (req) => { + actualURL = new URL(req.url); + return Response.json([]); + }); + + const localBaseUrl = "https://api.foo.bar/v3"; + await client.GET("/resources", { baseUrl: localBaseUrl }); + + // assert baseUrl and path mesh as expected + expect(actualURL.href).toBe("https://api.foo.bar/v3/resources"); + }); + + describe("content-type", () => { + const BODY_ACCEPTING_METHODS = [["PUT"], ["POST"], ["DELETE"], ["OPTIONS"], ["PATCH"]] as const; + const ALL_METHODS = [...BODY_ACCEPTING_METHODS, ["GET"], ["HEAD"]] as const; + + async function fireRequestAndGetContentType(options: { + defaultHeaders?: HeadersOptions; + method: (typeof ALL_METHODS)[number][number]; + fetchOptions: FetchOptions; + }) { + let headers = new Headers(); + const client = createObservedClient({ headers: options.defaultHeaders }, async (req) => { + headers = req.headers; + return Response.json([]); + }); + await client[options.method]("/resources", options.fetchOptions as any); + return headers.get("content-type"); + } + + test.each(ALL_METHODS)("no content-type for body-less requests - %s", async (method) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: {}, + }); + + expect(contentType).toBe(null); + }); + + test.each(ALL_METHODS)("no content-type for `undefined` body requests - %s", async (method) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: { body: undefined }, + }); + + expect(contentType).toBe(null); + }); + + const BODIES = [{ prop: "a" }, {}, "", "str", null, false, 0, 1, new Date("2024-08-07T09:52:00.836Z")] as const; + const METHOD_BODY_COMBINATIONS = BODY_ACCEPTING_METHODS.flatMap(([method]) => + BODIES.map((body) => [method, body] as const), + ); + + test.each(METHOD_BODY_COMBINATIONS)( + "implicit default content-type for body-full requests - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: { body }, + }); + + expect(contentType).toBe("application/json"); + }, + ); + + test.each(METHOD_BODY_COMBINATIONS)( + "provided default content-type for body-full requests - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + defaultHeaders: { "content-type": "application/my-json" }, + method, + fetchOptions: { body }, + }); + + expect(contentType).toBe("application/my-json"); + }, + ); + + test.each(METHOD_BODY_COMBINATIONS)( + "native-fetch default content-type for body-full requests, when default is suppressed - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + defaultHeaders: { "content-type": null }, + method, + fetchOptions: { body }, + }); + // the fetch implementation won't allow sending a body without content-type, + // and it defaults to `text/plain;charset=UTF-8`, however the actual default value + // is irrelevant and might be flaky across different fetch implementations + // for us, it's important that it's not `application/json` + expect(contentType).not.toBe("application/json"); + }, + ); + + test.each(METHOD_BODY_COMBINATIONS)( + "specified content-type for body-full requests - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: { + body, + headers: { "content-type": "application/my-json" }, + }, + }); + + expect(contentType).toBe("application/my-json"); + }, + ); + + test.each(METHOD_BODY_COMBINATIONS)( + "specified content-type for body-full requests, even when default is suppressed - %s, %j", + async (method, body) => { + const contentType = await fireRequestAndGetContentType({ + method, + fetchOptions: { + body, + headers: { "content-type": "application/my-json" }, + }, + }); + + expect(contentType).toBe("application/my-json"); + }, + ); + }); +}); diff --git a/packages/openapi-fetch/test/common/params.test.ts b/packages/openapi-fetch/test/common/params.test.ts new file mode 100644 index 000000000..623101dfb --- /dev/null +++ b/packages/openapi-fetch/test/common/params.test.ts @@ -0,0 +1,522 @@ +import { assertType, describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { QuerySerializerOptions } from "../../src/index.js"; +import type { components, paths } from "./schemas/common.js"; + +type Resource = components["schemas"]["Resource"]; + +const resource1: Resource = { id: 123 }; +const resource2: Resource = { id: 456 }; +const resource3: Resource = { id: 789 }; + +describe("params", () => { + describe("path", () => { + test("typechecks", async () => { + const client = createObservedClient({}, async (req) => { + const found = [resource1, resource2, resource3].find( + (post) => String(post.id) === req.url.split("/resources/")[1], + ); + return found ? Response.json(found) : Response.json({ code: 404, message: "Not found" }, { status: 404 }); + }); + + // assert missing options throws error + await client + // @ts-expect-error + .GET("/resources/{id}"); + + // assert missing options.params throws error + await client + // @ts-expect-error + .GET("/resources/{id}", {}); + + // assert missing path params throws error + await client.GET("/resources/{id}", { + // @ts-expect-error + params: {}, + }); + + // assert empty paths object throws error + await client.GET("/resources/{id}", { + params: { + // @ts-expect-error + path: {}, + }, + }); + + // assert right name, mismatched type throws error + await client.GET("/resources/{id}", { + params: { + path: { + // @ts-expect-error + id: "123", + }, + }, + }); + + // assert right name, right type passes + const result = await client.GET("/resources/{id}", { params: { path: { id: 456 } } }); + expect(result.data).toEqual(resource2); + }); + + test("typechecks (empty path params)", async () => { + const client = createObservedClient({}, async () => Response.json([resource1, resource2, resource3])); + + // assert unneeded path params throws type error + await client.GET("/resources", { + params: { + // @ts-expect-error + path: { id: 123 }, + }, + }); + + // assert even empty objects throw type error + await client.GET("/resources", { + params: { + // @ts-expect-error + path: {}, + }, + }); + + const { data } = await client.GET("/resources"); + + // assert data matches expected type + if (data) { + assertType(data); + expect(data).toEqual([resource1, resource2, resource3]); // also test runtime, too + } else { + // note: even though this is not a reachable code path, type tests still work! + assertType(data); + } + }); + + test("serializes", async () => { + const baseUrl = "https://fakeurl.example"; + let actualPathname = ""; + const client = createObservedClient({ baseUrl }, async (req) => { + actualPathname = new URL(req.url).pathname; + return Response.json({}); + }); + + await client.GET( + "/path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}", + { + params: { + path: { + simple_primitive: "simple", + simple_obj_flat: { a: "b", c: "d" }, + simple_arr_flat: [1, 2, 3], + simple_obj_explode: { e: "f", g: "h" }, + simple_arr_explode: [4, 5, 6], + label_primitive: "label", + label_obj_flat: { a: "b", c: "d" }, + label_arr_flat: [1, 2, 3], + label_obj_explode: { e: "f", g: "h" }, + label_arr_explode: [4, 5, 6], + matrix_primitive: "matrix", + matrix_obj_flat: { a: "b", c: "d" }, + matrix_arr_flat: [1, 2, 3], + matrix_obj_explode: { e: "f", g: "h" }, + matrix_arr_explode: [4, 5, 6], + }, + }, + }, + ); + + expect(actualPathname).toBe( + `/path-params/${[ + // simple + "simple", + "a,b,c,d", + "1,2,3", + "e=f,g=h", + "4,5,6", + // label + ".label", + ".a,b,c,d", + ".1,2,3", + ".e=f.g=h", + ".4.5.6", + // matrix + ";matrix_primitive=matrix", + ";matrix_obj_flat=a,b,c,d", + ";matrix_arr_flat=1,2,3", + ";e=f;g=h", + ";matrix_arr_explode=4;matrix_arr_explode=5;matrix_arr_explode=6", + ].join("/")}`, + ); + }); + + test("escapes reserved characters in path segment", async () => { + let actualPathname = ""; + const client = createObservedClient({}, async (req) => { + actualPathname = new URL(req.url).pathname; + return Response.json({ success: true }); + }); + + await client.GET("/path-params/{string}", { + params: { path: { string: ";/?:@&=+$,# " } }, + }); + + // expect post_id to be encoded properly + expect(actualPathname).toBe("/path-params/%3B%2F%3F%3A%40%26%3D%2B%24%2C%23%20"); + }); + + test("does not escape allowed characters in path segment", async () => { + let actualPathname = ""; + const client = createObservedClient({}, async (req) => { + actualPathname = new URL(req.url).pathname; + return Response.json({ success: true }); + }); + + const value = "aAzZ09-_.!~*'()"; + + await client.GET("/path-params/{string}", { + params: { path: { string: value } }, + }); + + // expect post_id to stay unchanged + expect(actualPathname).toBe(`/path-params/${value}`); + }); + + test("allows UTF-8 characters", async () => { + let actualPathname = ""; + const client = createObservedClient({}, async (req) => { + actualPathname = new URL(req.url).pathname; + return Response.json({ success: true }); + }); + await client.GET("/path-params/{string}", { + params: { path: { string: "🥴" } }, + }); + + // expect post_id to be encoded properly + expect(actualPathname).toBe("/path-params/%F0%9F%A5%B4"); + }); + }); + + describe("header", () => { + test("per-request", async () => { + const client = createObservedClient({}, async (req) => { + const header = req.headers.get("x-required-header"); + if (header !== "correct") { + return Response.json({ code: 500, message: "missing correct header" }, { status: 500 }); + } + return Response.json({ status: header }, { status: 200, headers: req.headers }); + }); + + // expect error on missing header + // @ts-expect-error + await client.GET("/header-params"); + + // expect error on incorrect header + await client.GET("/header-params", { + // @ts-expect-error + params: { header: { foo: "bar" } }, + }); + + // expect error on mismatched type + await client.GET("/header-params", { + // @ts-expect-error + params: { header: { "x-required-header": true } }, + }); + + // (no error) + const response = await client.GET("/header-params", { + params: { header: { "x-required-header": "correct" } }, + }); + + // expect param passed correctly + expect(response.response.headers.get("x-required-header")).toBe("correct"); + }); + }); + + describe("query", () => { + describe("querySerializer", () => { + test("primitives", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient({}, async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }); + + await client.GET("/query-params", { + params: { + query: { string: "string", number: 0, boolean: false }, + }, + }); + + expect(actualURL.search).toBe("?string=string&number=0&boolean=false"); + }); + + test("array params (empty)", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient({}, async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }); + + await client.GET("/query-params", { + params: { + query: { array: [] }, + }, + }); + + expect(actualURL.pathname).toBe("/query-params"); + expect(actualURL.search).toBe(""); + }); + + test("empty/null params", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient({}, async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }); + + await client.GET("/query-params", { + params: { + query: { string: undefined, number: null as any }, + }, + }); + + expect(actualURL.pathname).toBe("/query-params"); + expect(actualURL.search).toBe(""); + }); + + describe("array", () => { + test.each([ + [ + "form", + { + given: { style: "form", explode: false }, + want: "array=1,2,3&boolean=true", + }, + ], + [ + "form (explode)", + { + given: { style: "form", explode: true }, + want: "array=1&array=2&array=3&boolean=true", + }, + ], + [ + "spaceDelimited", + { + given: { style: "spaceDelimited", explode: false }, + want: "array=1%202%203&boolean=true", + }, + ], + [ + "spaceDelimited (explode)", + { + given: { style: "spaceDelimited", explode: true }, + want: "array=1&array=2&array=3&boolean=true", + }, + ], + [ + "pipeDelimited", + { + given: { style: "pipeDelimited", explode: false }, + want: "array=1|2|3&boolean=true", + }, + ], + [ + "pipeDelimited (explode)", + { + given: { style: "pipeDelimited", explode: true }, + want: "array=1&array=2&array=3&boolean=true", + }, + ], + ] as [ + string, + { + given: NonNullable; + want: string; + }, + ][])("%s", async (_, { given, want }) => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient( + { + querySerializer: { array: given }, + }, + async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }, + ); + + await client.GET("/query-params", { + params: { + query: { array: ["1", "2", "3"], boolean: true }, + }, + }); + + // skip leading '?' + expect(actualURL.search.substring(1)).toBe(want); + }); + }); + + describe("object", () => { + test.each([ + [ + "form", + { + given: { style: "form", explode: false }, + want: "object=foo,bar,bar,baz&boolean=true", + }, + ], + [ + "form (explode)", + { + given: { style: "form", explode: true }, + want: "foo=bar&bar=baz&boolean=true", + }, + ], + [ + "deepObject", + { + given: { style: "deepObject", explode: false }, // note: `false` not supported; same as `true` + want: "object[foo]=bar&object[bar]=baz&boolean=true", + }, + ], + [ + "deepObject (explode)", + { + given: { style: "deepObject", explode: true }, + want: "object[foo]=bar&object[bar]=baz&boolean=true", + }, + ], + ] as [ + string, + { + given: NonNullable; + want: string; + }, + ][])("%s", async (_, { given, want }) => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient( + { + querySerializer: { object: given }, + }, + async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }, + ); + + await client.GET("/query-params", { + params: { + query: { object: { foo: "bar", bar: "baz" }, boolean: true }, + }, + }); + + // skip leading '?' + expect(actualURL.search.substring(1)).toBe(want); + }); + }); + + test("allowReserved", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient( + { + querySerializer: { allowReserved: true }, + }, + async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }, + ); + + await client.GET("/query-params", { + params: { + query: { + string: "bad/character🐶", + }, + }, + }); + + expect(actualURL.search).toBe("?string=bad/character%F0%9F%90%B6"); + expect(actualURL.searchParams.get("string")).toBe("bad/character🐶"); + + await client.GET("/query-params", { + params: { + query: { + string: "bad/character🐶", + }, + }, + querySerializer: { + allowReserved: false, + }, + }); + + expect(actualURL.search).toBe("?string=bad%2Fcharacter%F0%9F%90%B6"); + expect(actualURL.searchParams.get("string")).toBe("bad/character🐶"); + }); + + describe("function", () => { + test("global default", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient( + { + querySerializer: (q) => `alpha=${q.version}&beta=${q.format}`, + }, + async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }, + ); + + await client.GET("/resources/{id}", { + params: { + path: { id: 123 }, + query: { version: 2, format: "json" }, + }, + }); + + expect(`${actualURL.pathname}${actualURL.search}`).toBe("/resources/123?alpha=2&beta=json"); + }); + + test("per-request", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient( + { + querySerializer: () => "query", + }, + async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }, + ); + + await client.GET("/resources/{id}", { + params: { + path: { id: 456 }, + query: { version: 2, format: "json" }, + }, + querySerializer: (q) => `alpha=${q.version}&beta=${q.format}`, + }); + + expect(`${actualURL.pathname}${actualURL.search}`).toBe("/resources/456?alpha=2&beta=json"); + }); + }); + + test("ignores leading ? characters", async () => { + let actualURL = new URL("https://fakeurl.example"); + const client = createObservedClient( + { + querySerializer: () => "?query", + }, + async (req) => { + actualURL = new URL(req.url); + return Response.json({}); + }, + ); + await client.GET("/resources/{id}", { + params: { + path: { id: 789 }, + query: { version: 2, format: "json" }, + }, + }); + expect(`${actualURL.pathname}${actualURL.search}`).toBe("/resources/789?query"); + }); + }); + }); +}); diff --git a/packages/openapi-fetch/test/common/request.test.ts b/packages/openapi-fetch/test/common/request.test.ts new file mode 100644 index 000000000..8b9ea2763 --- /dev/null +++ b/packages/openapi-fetch/test/common/request.test.ts @@ -0,0 +1,306 @@ +import { describe, expect, test, vi } from "vitest"; +import { createObservedClient, headersToObj } from "../helpers.js"; +import createClient, { type BodySerializer, type FetchOptions } from "../../src/index.js"; +import type { components, paths } from "./schemas/common.js"; + +type Resource = components["schemas"]["Resource"]; + +const resource1: Resource = { id: 123 }; +const resource2: Resource = { id: 456 }; +const resource3: Resource = { id: 789 }; + +describe("request", () => { + describe("headers", () => { + test("default headers are preserved", async () => { + let headers = new Headers(); + const client = createObservedClient({ headers: { foo: "bar" } }, async (req) => { + headers = req.headers; + return Response.json([resource1, resource2, resource3]); + }); + await client.GET("/resources"); + expect(headersToObj(headers)).toEqual({ foo: "bar" }); + }); + + test("default headers can be overridden", async () => { + let headers = new Headers(); + const client = createObservedClient( + { + headers: { + foo: "bar", + bar: "baz", + baz: "bat", + box: "cat", + }, + }, + async (req) => { + headers = req.headers; + return Response.json([resource1, resource2, resource3]); + }, + ); + await client.GET("/resources", { + headers: { + foo: "", + bar: 0, + baz: undefined, // keeps original + box: false, + }, + }); + expect(headersToObj(headers)).toEqual({ foo: "", bar: "0", baz: "bat", box: "false" }); + }); + + test('default headers are unset with "null"', async () => { + let headers = new Headers(); + const client = createObservedClient({ headers: { foo: "bar", bar: "baz" } }, async (req) => { + headers = req.headers; + return Response.json([resource1, resource2, resource3]); + }); + await client.GET("/resources", { headers: { foo: null } }); + expect(headersToObj(headers)).toEqual({ + // "foo" removed! + bar: "baz", + }); + }); + + test("arbitrary headers are allowed on any request", async () => { + let headers = new Headers(); + const client = createObservedClient({}, async (req) => { + headers = req.headers; + return Response.json([resource1, resource2, resource3]); + }); + await client.GET("/resources", { + headers: { + foo: "bar", + bar: 123, + baz: true, + }, + }); + expect(headersToObj(headers)).toEqual({ foo: "bar", bar: "123", baz: "true" }); + }); + + test("supports arrays", async () => { + let headers = new Headers(); + const client = createObservedClient({}, async (req) => { + headers = req.headers; + return Response.json([resource1, resource2, resource3]); + }); + + const list = ["one", "two", "three"]; + + await client.GET("/resources", { headers: { list } }); + + expect(headers.get("list")).toEqual(list.join(", ")); + }); + }); + + describe("request body", () => { + const BODY_ACCEPTING_METHODS = [["PUT"], ["POST"], ["DELETE"], ["OPTIONS"], ["PATCH"]] as const; + const ALL_METHODS = [...BODY_ACCEPTING_METHODS, ["GET"], ["HEAD"]] as const; + + async function fireRequestAndGetBodyInformation(options: { + bodySerializer?: BodySerializer; + method: (typeof ALL_METHODS)[number][number]; + fetchOptions: FetchOptions; + }) { + let actualRequest = new Request("https://fakeurl.example"); + const client = createObservedClient({ bodySerializer: options.bodySerializer }, async (req) => { + actualRequest = req.clone(); + return Response.json([]); + }); + await client[options.method]("/blogposts-optional", options.fetchOptions as any); + const bodyText = await actualRequest.text(); + return { bodyUsed: actualRequest.bodyUsed, bodyText }; + } + + test.each(ALL_METHODS)("missing body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: {}, + }); + + expect(bodyUsed).toBe(false); + expect(bodyText).toBe(""); + expect(bodySerializer).not.toBeCalled(); + }); + + test.each(ALL_METHODS)("missing body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ method, fetchOptions: {} }); + + expect(bodyUsed).toBe(false); + expect(bodyText).toBe(""); + }); + + test.each(ALL_METHODS)("`undefined` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: undefined, + }, + }); + + expect(bodyUsed).toBe(false); + expect(bodyText).toBe(""); + expect(bodySerializer).not.toBeCalled(); + }); + + test.each(ALL_METHODS)("`undefined` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: undefined, + }, + }); + + expect(bodyUsed).toBe(false); + expect(bodyText).toBe(""); + }); + + test.each(BODY_ACCEPTING_METHODS)("`null` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: null, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("Serialized: null"); + expect(bodySerializer).toBeCalled(); + }); + + test.each(BODY_ACCEPTING_METHODS)("`null` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: null, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("null"); + }); + + test.each(BODY_ACCEPTING_METHODS)("`false` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: false, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("Serialized: false"); + expect(bodySerializer).toBeCalled(); + }); + + test.each(BODY_ACCEPTING_METHODS)("`false` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: false, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("false"); + }); + + test.each(BODY_ACCEPTING_METHODS)("`''` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: "", + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe('Serialized: ""'); + expect(bodySerializer).toBeCalled(); + }); + + test.each(BODY_ACCEPTING_METHODS)("`''` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: "", + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe('""'); + }); + + test.each(BODY_ACCEPTING_METHODS)("`0` body (with body serializer) - %s", async (method) => { + const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + bodySerializer, + method, + fetchOptions: { + body: 0, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("Serialized: 0"); + expect(bodySerializer).toBeCalled(); + }); + + test.each(BODY_ACCEPTING_METHODS)("`0` body (without body serializer) - %s", async (method) => { + const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ + method, + fetchOptions: { + body: 0, + }, + }); + + expect(bodyUsed).toBe(true); + expect(bodyText).toBe("0"); + }); + }); + + test("cookie header is preserved", async () => { + let headers = new Headers(); + const client = createObservedClient({}, async (req) => { + headers = req.headers; + return Response.json({}); + }); + await client.GET("/resources", { + credentials: "include", + headers: { + Cookie: "session=1234", + }, + }); + expect(headers.get("cookie")).toEqual("session=1234"); + }); + + test("can attach custom properties to request", async () => { + function createCustomFetch(data: any) { + const response = { + clone: () => ({ ...response }), + headers: new Headers(), + json: async () => data, + status: 200, + ok: true, + } as Response; + return async (input: Request) => { + expect(input).toHaveProperty("customProperty", "value"); + return Promise.resolve(response); + }; + } + + const customFetch = createCustomFetch({}); + const client = createClient({ baseUrl: "https://fakeurl.example", fetch: customFetch }); + client.GET("/resources", { + customProperty: "value", + }); + }); +}); diff --git a/packages/openapi-fetch/test/common/response.test.ts b/packages/openapi-fetch/test/common/response.test.ts new file mode 100644 index 000000000..50b8e85a0 --- /dev/null +++ b/packages/openapi-fetch/test/common/response.test.ts @@ -0,0 +1,195 @@ +import { assertType, describe, expect, expectTypeOf, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { MethodResponse } from "../../src/index.js"; +import type { components, paths } from "./schemas/common.js"; + +type Resource = components["schemas"]["Resource"]; +type Error = components["schemas"]["Error"]; + +describe("response", () => { + describe("data/error", () => { + test("valid path", async () => { + const client = createObservedClient(); + + const result = await client.GET("/resources"); + + // 1. assert data & error may be undefined initially + assertType(result.data); + assertType(result.error); + + // 2. assert data is not undefined inside condition block + if (result.data) { + assertType>(result.data); + assertType(result.error); + } + // 2b. inverse should work, too + if (!result.error) { + assertType>(result.data); + assertType(result.error); + } + + // 3. assert error is not undefined inside condition block + if (result.error) { + assertType(result.data); + assertType>(result.error); + } + // 3b. inverse should work, too + if (!result.data) { + assertType(result.data); + assertType>(result.error); + } + }); + + test("invalid path", async () => { + const client = createObservedClient(); + + const result = await client.GET( + // @ts-expect-error this should throw an error + "/not-a-real-path", + {}, + ); + + assertType(result.data); + // @ts-expect-error: FIXME when #1723 is resolved; this shouldn’t throw an error + assertType(result.error); + }); + + test("returns union for mismatched response", async () => { + const client = createObservedClient(); + const result = await client.GET("/mismatched-response"); + if (result.data) { + expectTypeOf(result.data).toEqualTypeOf(); + } else { + expectTypeOf(result.error).extract<{ code: number }>().toEqualTypeOf<{ code: number; message: string }>(); + expectTypeOf(result.error).exclude<{ code: number }>().toEqualTypeOf(); + } + }); + + test("returns union for mismatched errors", async () => { + const client = createObservedClient(); + const result = await client.GET("/mismatched-errors"); + if (result.data) { + expectTypeOf(result.data).toEqualTypeOf(); + expectTypeOf(result.data).toEqualTypeOf>(); + } else { + expectTypeOf(result.data).toBeUndefined(); + expectTypeOf(result.error).extract<{ code: number }>().toEqualTypeOf<{ code: number; message: string }>(); + expectTypeOf(result.error).exclude<{ code: number }>().toEqualTypeOf(); + } + }); + + describe("media union", () => { + const client = createObservedClient(); + + // ⚠️ Warning: DO NOT iterate over type tests! Deduplicating runtime tests + // is good. But these do not test runtime. + test("application/json", async () => { + const { data } = await client.GET("/media-json"); + assertType(data); + }); + + test("application/vnd.api+json", async () => { + const { data } = await client.GET("/media-vnd-json"); + assertType(data); + }); + + test("text/html", async () => { + const { data } = await client.GET("/media-text"); + assertType(data); + }); + + test("multiple", async () => { + const { data } = await client.GET("/media-multiple"); + assertType<{ foo: string } | { bar: string } | { baz: string } | string | undefined>(data); + }); + + test("invalid", async () => { + const { data } = await client.GET( + // @ts-expect-error not a real path + "/invalid", + {}, + ); + assertType(data); + }); + }); + + test("`default` is an error", async () => { + const client = createObservedClient({ headers: { "Cache-Control": "max-age=10000000" } }, async () => + Response.json({ code: 500, message: "An unexpected error occurred" }, { status: 500 }), + ); + + const { error } = await client.GET("/error-default"); + if (error) { + assertType(error); + } + }); + }); + + describe("response object", () => { + test.each([200, 404, 500] as const)("%s", async (status) => { + const client = createObservedClient({}, async (req) => + Response.json({ status, message: "OK" }, { status }), + ); + const result = await client.GET(status === 200 ? "/resources" : `/error-${status}`); + expect(result.response.status).toBe(status); + }); + }); + + describe("parseAs", () => { + const client = createObservedClient({}, async () => Response.json({})); + + test("text", async () => { + const { data, error } = (await client.GET("/resources", { + parseAs: "text", + })) satisfies { data?: string }; + if (error) { + throw new Error("parseAs text: error"); + } + expect(data).toBe("{}"); + }); + + test("arrayBuffer", async () => { + const { data, error } = (await client.GET("/resources", { + parseAs: "arrayBuffer", + })) satisfies { data?: ArrayBuffer }; + if (error) { + throw new Error("parseAs arrayBuffer: error"); + } + expect(data.byteLength).toBe("{}".length); + }); + + test("blob", async () => { + const { data, error } = (await client.GET("/resources", { + parseAs: "blob", + })) satisfies { data?: Blob }; + if (error) { + throw new Error("parseAs blob: error"); + } + expect(data.constructor.name).toBe("Blob"); + }); + + test("stream", async () => { + const { data } = (await client.GET("/resources", { + parseAs: "stream", + })) satisfies { data?: ReadableStream | null }; + if (!data) { + throw new Error("parseAs stream: error"); + } + + expect(data).toBeInstanceOf(ReadableStream); + const reader = data.getReader(); + const result = await reader.read(); + expect(result.value?.length).toBe(2); + }); + + test("use the selected content", async () => { + const client = createObservedClient({}, async () => Response.json({ bar: "bar" })); + const { data } = await client.GET("/media-multiple", { + headers: { Accept: "application/ld+json" }, + }); + if (data) { + assertType<{ bar: string }>(data); + } + }); + }); +}); diff --git a/packages/openapi-fetch/test/common/schemas/common.d.ts b/packages/openapi-fetch/test/common/schemas/common.d.ts new file mode 100644 index 000000000..b684c117e --- /dev/null +++ b/packages/openapi-fetch/test/common/schemas/common.d.ts @@ -0,0 +1,782 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/resources": { + 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"]["ResourceList"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/resources/{id}": { + parameters: { + query?: { + version?: number; + format?: string; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get: { + parameters: { + query?: { + version?: number; + format?: string; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Resource"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-404": { + 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"]["ResourceList"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-500": { + 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"]["ResourceList"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-default": { + 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"]["ResourceList"]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-json": { + 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"]["ResourceList"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-vnd-json": { + 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/vnd.api+json": components["schemas"]["ResourceList"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-text": { + 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: { + "text/html": string; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-multiple": { + 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": { + foo: string; + }; + "application/ld+json": { + bar: string; + }; + "application/json5": { + baz: string; + }; + "text/html": string; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/mismatched-response": { + 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"]["Resource"]; + }; + }; + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ResourceList"]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/mismatched-errors": { + 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"]["Resource"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/path-params/{string}": { + parameters: { + query?: never; + header?: never; + path: { + string: string; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + string: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + success?: boolean; + }; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}": { + parameters: { + query?: never; + header?: never; + path: { + simple_primitive: string; + simple_obj_flat: { + a: string; + c: string; + }; + simple_arr_flat: number[]; + simple_obj_explode: { + e: string; + g: string; + }; + simple_arr_explode: number[]; + label_primitive: string; + label_obj_flat: { + a: string; + c: string; + }; + label_arr_flat: number[]; + label_obj_explode: { + e: string; + g: string; + }; + label_arr_explode: number[]; + matrix_primitive: string; + matrix_obj_flat: { + a: string; + c: string; + }; + matrix_arr_flat: number[]; + matrix_obj_explode: { + e: string; + g: string; + }; + matrix_arr_explode: number[]; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + simple_primitive: string; + simple_obj_flat: { + a: string; + c: string; + }; + simple_arr_flat: number[]; + simple_obj_explode: { + e: string; + g: string; + }; + simple_arr_explode: number[]; + label_primitive: string; + label_obj_flat: { + a: string; + c: string; + }; + label_arr_flat: number[]; + label_obj_explode: { + e: string; + g: string; + }; + label_arr_explode: number[]; + matrix_primitive: string; + matrix_obj_flat: { + a: string; + c: string; + }; + matrix_arr_flat: number[]; + matrix_obj_explode: { + e: string; + g: string; + }; + matrix_arr_explode: number[]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + 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; + }; + "/query-params": { + parameters: { + query?: { + string?: string; + number?: number; + boolean?: boolean; + array?: string[]; + object?: { + foo: string; + bar: string; + }; + }; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + string?: string; + number?: number; + boolean?: boolean; + array?: string[]; + object?: { + foo: string; + bar: string; + }; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Error: { + code: number; + message: string; + }; + Resource: { + id: number; + }; + ResourceList: components["schemas"]["Resource"][]; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + 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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; +} diff --git a/packages/openapi-fetch/test/common/schemas/common.yaml b/packages/openapi-fetch/test/common/schemas/common.yaml new file mode 100644 index 000000000..72e1ea6e2 --- /dev/null +++ b/packages/openapi-fetch/test/common/schemas/common.yaml @@ -0,0 +1,446 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /resources: + get: + responses: + 200: + description: OK + operationId: getResources + content: + application/json: + schema: + $ref: "#/components/schemas/ResourceList" + 500: + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /resources/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: integer + - name: version + in: query + schema: + type: integer + - name: format + in: query + schema: + type: string + get: + responses: + 200: + description: OK + operationId: getResource + content: + application/json: + schema: + $ref: "#/components/schemas/Resource" + 404: + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /error-404: + get: + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ResourceList" + 404: + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /error-500: + get: + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ResourceList" + 500: + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /error-default: + get: + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ResourceList" + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /media-json: + get: + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ResourceList" + /media-vnd-json: + get: + responses: + 200: + description: OK + content: + application/vnd.api+json: + schema: + $ref: "#/components/schemas/ResourceList" + /media-text: + get: + responses: + 200: + description: OK + content: + text/html: + schema: + type: string + /media-multiple: + get: + responses: + 200: + description: OK + content: + application/json: + schema: + type: object + required: + - foo + properties: + foo: + type: string + application/ld+json: + schema: + type: object + required: + - bar + properties: + bar: + type: string + application/json5: + schema: + type: object + required: + - baz + properties: + baz: + type: string + text/html: + schema: + type: string + /mismatched-response: + get: + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/Resource" + 201: + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/ResourceList" + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /mismatched-errors: + get: + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/Resource" + 404: + description: Not Found + content: {} + 500: + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /path-params/{string}: + parameters: + - name: string + in: path + required: true + schema: + type: string + get: + responses: + 200: + description: OK + operationId: getPathParams + content: + application/json: + schema: + type: object + required: + - status + properties: + success: + type: boolean + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}: + parameters: + - in: path + name: simple_primitive + schema: + type: string + - in: path + name: simple_obj_flat + schema: + type: object + required: [a, c] + properties: + a: + type: string + c: + type: string + - in: path + name: simple_arr_flat + schema: + type: array + items: + type: number + - in: path + name: simple_obj_explode + schema: + type: object + required: [e, g] + properties: + e: + type: string + g: + type: string + - in: path + name: simple_arr_explode + schema: + type: array + items: + type: number + - in: path + name: label_primitive + schema: + type: string + - in: path + name: label_obj_flat + schema: + type: object + required: [a, c] + properties: + a: + type: string + c: + type: string + - in: path + name: label_arr_flat + schema: + type: array + items: + type: number + - in: path + name: label_obj_explode + schema: + type: object + required: [e, g] + properties: + e: + type: string + g: + type: string + - in: path + name: label_arr_explode + schema: + type: array + items: + type: number + - in: path + name: matrix_primitive + schema: + type: string + - in: path + name: matrix_obj_flat + schema: + type: object + required: [a, c] + properties: + a: + type: string + c: + type: string + - in: path + name: matrix_arr_flat + schema: + type: array + items: + type: number + - in: path + name: matrix_obj_explode + schema: + type: object + required: [e, g] + properties: + e: + type: string + g: + type: string + - in: path + name: matrix_arr_explode + schema: + type: array + items: + type: number + get: + responses: + 200: + content: + application/json: + schema: + type: object + properties: + status: + type: string + required: + - status + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /header-params: + get: + operationId: getHeaderParams + parameters: + - name: x-required-header + in: header + required: true + schema: + type: string + responses: + 200: + content: + application/json: + schema: + type: object + properties: + status: + type: string + required: + - status + 500: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /query-params: + parameters: + - in: query + name: string + schema: + type: string + - in: query + name: number + schema: + type: number + - in: query + name: boolean + schema: + type: boolean + - in: query + name: array + schema: + type: array + items: + type: string + - in: query + name: object + schema: + type: object + required: + - foo + - bar + properties: + foo: + type: string + bar: + type: string + get: + responses: + 200: + content: + application/json: + schema: + type: object + properties: + status: + type: string + required: + - status + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" +components: + schemas: + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + message: + type: string + Resource: + type: object + required: + - id + properties: + id: + type: integer + ResourceList: + type: array + items: + $ref: "#/components/schemas/Resource" diff --git a/packages/openapi-fetch/test/fixtures/e2e/app.ts b/packages/openapi-fetch/test/e2e/app/app.ts similarity index 91% rename from packages/openapi-fetch/test/fixtures/e2e/app.ts rename to packages/openapi-fetch/test/e2e/app/app.ts index 4460b28c5..6c4115e04 100644 --- a/packages/openapi-fetch/test/fixtures/e2e/app.ts +++ b/packages/openapi-fetch/test/e2e/app/app.ts @@ -1,5 +1,5 @@ -import createClient from "../../../src"; -import type { paths } from "./e2e.d.ts"; +import createClient from "../../../src/index.js"; +import type { paths } from "./schemas/e2e.js"; const client = createClient({ baseUrl: "/api/v1", diff --git a/packages/openapi-fetch/test/fixtures/e2e/index.html b/packages/openapi-fetch/test/e2e/app/index.html similarity index 100% rename from packages/openapi-fetch/test/fixtures/e2e/index.html rename to packages/openapi-fetch/test/e2e/app/index.html diff --git a/packages/openapi-fetch/test/fixtures/e2e/e2e.d.ts b/packages/openapi-fetch/test/e2e/app/schemas/e2e.d.ts similarity index 100% rename from packages/openapi-fetch/test/fixtures/e2e/e2e.d.ts rename to packages/openapi-fetch/test/e2e/app/schemas/e2e.d.ts diff --git a/packages/openapi-fetch/test/fixtures/e2e/e2e.yaml b/packages/openapi-fetch/test/e2e/app/schemas/e2e.yaml similarity index 100% rename from packages/openapi-fetch/test/fixtures/e2e/e2e.yaml rename to packages/openapi-fetch/test/e2e/app/schemas/e2e.yaml diff --git a/packages/openapi-fetch/test/fixtures/e2e/vite.config.ts b/packages/openapi-fetch/test/e2e/app/vite.config.ts similarity index 100% rename from packages/openapi-fetch/test/fixtures/e2e/vite.config.ts rename to packages/openapi-fetch/test/e2e/app/vite.config.ts diff --git a/packages/openapi-fetch/test/index.e2e.ts b/packages/openapi-fetch/test/e2e/index.e2e.ts similarity index 100% rename from packages/openapi-fetch/test/index.e2e.ts rename to packages/openapi-fetch/test/e2e/index.e2e.ts diff --git a/packages/openapi-fetch/test/examples/examples.test.ts b/packages/openapi-fetch/test/examples/examples.test.ts new file mode 100644 index 000000000..f550d4eeb --- /dev/null +++ b/packages/openapi-fetch/test/examples/examples.test.ts @@ -0,0 +1,32 @@ +import { assertType, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { paths as GitHub } from "./schemas/github.js"; +import type { paths as Stripe } from "./schemas/stripe.js"; + +test("github", async () => { + const client = createObservedClient(); + const pathname = "/users/{username}"; + const { data, error } = await client.GET(pathname, { + params: { path: { username: "octocat" } }, + }); + if (data) { + assertType>(data); + } else { + assertType>(error); + } +}); + +test("stripe", async () => { + const client = createObservedClient(); + const pathname = "/v1/accounts/{account}"; + const { data, error } = await client.GET(pathname, { + params: { path: { account: "acct_1" } }, + }); + if (data) { + assertType>(data); + } else { + assertType>( + error, + ); + } +}); diff --git a/packages/openapi-fetch/test/examples/schemas/github.d.ts b/packages/openapi-fetch/test/examples/schemas/github.d.ts new file mode 100644 index 000000000..054f0d22d --- /dev/null +++ b/packages/openapi-fetch/test/examples/schemas/github.d.ts @@ -0,0 +1,117810 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/": { + 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. + */ + 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. + */ + 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. + */ + 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 The permissions the installation has are included under the `permissions` 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. + */ + 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. + */ + 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. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * When using the repository or permission parameters to reduce the access of the token, the complexity of the token is increased due to both the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, the token will fail to be issued. If this occurs, the error message will indicate the maximum number of repositories that should be requested. For the average application requesting 8 permissions, this limit is around 5000 repositories. With fewer permissions requested, more repositories are supported. + * + * 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 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. 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. + */ + 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. 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. + * + * 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`). + */ + 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}/copilot/billing/seats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all Copilot seat assignments for an enterprise + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Lists all active Copilot seats across organizations or enterprise teams for an enterprise with a Copilot Business or Copilot Enterprise subscription. + * + * Users with access through multiple organizations or enterprise teams will only be counted toward `total_seats` once. + * + * For each organization or enterprise team which grants Copilot access to a user, a seat detail object will appear in the `seats` array. + * + * Only enterprise owners and billing managers can view assigned Copilot seats across their child organizations or enterprise teams. + * + * Personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/list-copilot-seats-for-enterprise"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for enterprise members + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, + * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * Only owners and billing managers can view Copilot usage metrics for the enterprise. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-enterprise"]; + 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. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + 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. + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is 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). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. + */ + 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 > [!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-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 Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * > [!NOTE] + * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-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; + }; + "/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; + /** + * 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"]; + 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/guides/using-pagination-in-the-rest-api), 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 + * @description Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + patch: operations["gists/update"]; + trace?: never; + }; + "/gists/{gist_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gist comments + * @description Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/list-comments"]; + put?: never; + /** + * Create a gist comment + * @description Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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 + * @description Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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 + * @description Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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 + * @description Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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 Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore 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. + */ + 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. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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 + * @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-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; + /** + * Mark a thread as done + * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + delete: operations["activity/mark-thread-as-done"]; + 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. + */ + 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. + * + * > [!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 Gets information about an organization. + * + * 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/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + 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 + */ + delete: operations["orgs/delete"]; + options?: never; + head?: never; + /** + * Update an organization + * @description > [!WARNING] + * > **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). + * + * > [!WARNING] + * > **Parameter deprecation notice:** Code security product enablement for new repositories through the organization API is deprecated. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). + * + * Updates the organization's profile and member privileges. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + 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. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-variable"]; + put?: never; + post?: never; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-variable"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["orgs/list-attestations"]; + put?: never; + post?: never; + delete?: never; + 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)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alerts-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get code security configurations for an organization + * @description Lists all code security configurations available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-org"]; + put?: never; + /** + * Create a code security configuration + * @description Creates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/create-configuration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default code security configurations + * @description Lists the default code security configurations for an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/detach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Detach configurations from repositories + * @description Detach code security configuration(s) from a set of repositories. + * Repositories will retain their settings but will no longer be associated with the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/detach-configuration"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code security configuration + * @description Gets a code security configuration available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configuration"]; + put?: never; + post?: never; + /** + * Delete a code security configuration + * @description Deletes the desired code security configuration from an organization. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration"]; + options?: never; + head?: never; + /** + * Update a code security configuration + * @description Updates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + patch: operations["code-security/update-configuration"]; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/attach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Attach a configuration to repositories + * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/attach-configuration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Set a code security configuration as a default for an organization + * @description Sets a code security configuration as a default to be applied to new repositories in your organization. + * + * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repositories associated with a code security configuration + * @description Lists the repositories associated with a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-configuration"]; + 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. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * OAuth app tokens and personal access tokens (classic) need 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)." + * + * OAuth app tokens and personal access tokens (classic) need 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)." + * + * OAuth app tokens and personal access tokens (classic) need 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 development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * OAuth app tokens and personal access tokens (classic) need 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 development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need 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 development 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)." + * + * OAuth app tokens and personal access tokens (classic) need 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 development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need 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`. + * + * OAuth app tokens and personal access tokens (classic) need 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 development environment 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). + * + * OAuth app tokens and personal access tokens (classic) need 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 development environment 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). + * OAuth app tokens and personal access tokens (classic) need 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 development environment 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). + * + * OAuth app tokens and personal access tokens (classic) need 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 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 subscription, including seat breakdown + * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)". + * + * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes 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 seat assignments for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Lists all active Copilot seats for an organization with a Copilot Business or Copilot Enterprise subscription. + * Only organization owners can view assigned seats. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes 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 subscription for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can add Copilot seats for their organization members. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * 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/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * The response will contain the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-teams"]; + /** + * Remove teams from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Cancels the Copilot 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 pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes 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 subscription for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can add Copilot seats for their organization members. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * 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/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * The response will contain the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-users"]; + /** + * Remove users from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Cancels the Copilot 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 pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for organization members + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * Organization owners, and owners and billing managers of the parent enterprise, can view Copilot usage metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-org"]; + put?: never; + post?: never; + delete?: never; + 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. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + 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 + * @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-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 + * @description You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhooks"]; + put?: never; + /** + * Create an organization webhook + * @description Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook"]; + put?: never; + post?: never; + /** + * Delete an organization webhook + * @description You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * + * OAuth app tokens and personal access tokens (classic) need 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 seat assignment details for a user + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Gets the GitHub Copilot seat assignment details for a member of an organization who currently has access to GitHub Copilot. + * + * Only organization owners can view Copilot seat assignment details for members of their organization. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-seat-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, organization owners are limited to creating 50 organization invitations for an organization within a 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}/organization-roles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-roles"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove all organization roles for a team + * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Assign an organization role to a team + * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-team-to-org-role"]; + post?: never; + /** + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/users/{username}/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Assign an organization role to a user + * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-user-to-org-role"]; + post?: never; + /** + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/get-org-role"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams that are assigned to an organization role + * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users that are assigned to an organization role + * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-users"]; + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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}/properties/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-all-custom-properties"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties"]; + trace?: never; + }; + "/orgs/{org}/properties/schema/{custom_property_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a custom property for an organization + * @description Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-custom-property"]; + /** + * Create or update a custom property for an organization + * @description Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + put: operations["orgs/create-or-update-custom-property"]; + post?: never; + /** + * Remove a custom property for an organization + * @description Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + delete: operations["orgs/remove-custom-property"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/properties/values": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List custom property values for organization repositories + * @description Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + get: operations["orgs/list-custom-properties-values-for-repos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom property values for organization repositories + * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties-values-for-repos"]; + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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 app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `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. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + 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)." + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope 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." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope 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." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + 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. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-in-org"]; + put?: never; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-in-org"]; + put?: never; + post?: never; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-in-org"]; + put?: never; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-in-org"]; + put?: never; + post?: never; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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). + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + 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). + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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). + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + 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). + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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/using-the-rest-api/getting-started-with-the-rest-api#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. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * > [!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 + * @deprecated + * @description > [!WARNING] + * > **Deprecation notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is deprecated. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). + * + * Enables or disables the specified security feature for all eligible repositories in 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)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + 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/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/about-the-rest-api/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 an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-artifact"]; + put?: never; + post?: never; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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 organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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 the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner for a repository + * @description Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This API will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run"]; + put?: never; + post?: never; + /** + * Delete a workflow run + * @description Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-variable"]; + put?: never; + post?: never; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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 activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + 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}/attestations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create an attestation + * @description Store an artifact attestation and associate it with a repository. + * + * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["repos/create-attestation"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. + * + * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["repos/list-attestations"]; + 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; + }; + /** + * Get all autolinks of a repository + * @description Gets all autolinks that are configured for a 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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents 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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents 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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents 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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents 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 authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need 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 Creates a new check run for a specific commit in a repository. + * + * To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite. + * + * 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. + * + * > [!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. + */ + 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 Gets a single check run using its `id`. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on 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. + * + * > [!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. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on 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. + * + * 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)". + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + 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 Creates a check suite manually. 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)". + * + * > [!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`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + 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 Gets a single check suite using its `id`. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on 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`. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + 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. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + 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. + * + * 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). + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * > [!WARNING] + * > **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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data 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). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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/using-the-rest-api/getting-started-with-the-rest-api#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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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/codeql/variant-analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a CodeQL variant analysis + * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. + * + * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). + * + * Use the `owner` and `repo` parameters in the URL to specify the controller repository that + * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["code-scanning/create-variant-analysis"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the summary of a CodeQL variant analysis + * @description Gets the summary of a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the analysis status of a repository in a CodeQL variant analysis + * @description Gets the analysis status of a repository in a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis-repo-task"]; + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * + * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. + */ + 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)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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 development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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, OAuth app tokens and personal access tokens (classic) need the `repo` scope 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 development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository development 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-repo-secret"]; + post?: never; + /** + * Delete a repository secret + * @description Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes 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. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * 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 Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 + * @description Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 + * @description Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 and the default JSON media type is requested, 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. 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. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + 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. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + 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 refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * 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, and it includes up to 300 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 with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * 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 [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 and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field 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. + * + * **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. + * - 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 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. + */ + get: operations["repos/get-content"]; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + 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 OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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 OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/get-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a Dependabot alert + * @description The authenticated user must have access to security alerts for the repository to use this endpoint. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + 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. + * + * 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + 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 input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + post?: never; + /** + * Delete an environment + * @description OAuth app tokens and personal access tokens (classic) need 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-deployment-branch-policies"]; + put?: never; + /** + * Create a deployment branch policy + * @description Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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 or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-deployment-branch-policy"]; + /** + * Update a deployment branch policy + * @description Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-deployment-branch-policy"]; + post?: never; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. For more information about environments, see "[Using environments for deployment](https://docs.github.com/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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * The authenticated user must have admin or owner permissions to the repository 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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/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)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. For more information about environments, see "[Using environments for deployment](https://docs.github.com/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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/disable-deployment-protection-rule"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment variables + * @description Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-environment-variable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-variable"]; + put?: never; + post?: never; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-environment-variable"]; + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint 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 + * @description Deletes the provided reference. + */ + delete: operations["git/delete-ref"]; + options?: never; + head?: never; + /** + * Update a reference + * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + 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 + * @deprecated + * @description View the progress of an import. + * + * > [!WARNING] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + * + * **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 + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + put: operations["migrations/start-import"]; + post?: never; + /** + * Cancel an import + * @deprecated + * @description Stop an import for a repository. + * + * > [!WARNING] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + delete: operations["migrations/cancel-import"]; + options?: never; + head?: never; + /** + * Update an import + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/update-import"]; + trace?: never; + }; + "/repos/{owner}/{repo}/import/authors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get commit authors + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + 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 + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + 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 + * @deprecated + * @description List files larger than 100MB found during the import + * + * > [!WARNING] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + 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 + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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/guides/best-practices-for-using-the-rest-api#follow-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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-build"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments": { + 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. + * + * The authenticated user must have write permission to the repository. + */ + post: operations["repos/create-pages-deployment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the status of a GitHub Pages deployment + * @description Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + get: operations["repos/get-pages-deployment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Cancel a GitHub Pages deployment + * @description Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + post: operations["repos/cancel-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. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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; + }; + /** + * Check if private vulnerability reporting is enabled for a repository + * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + get: operations["repos/check-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"]; + 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}/properties/values": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all custom property values for a repository + * @description Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + get: operations["repos/get-custom-properties-values"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom property values for a repository + * @description Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + patch: operations["repos/create-or-update-custom-properties-values"]; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests + * @description Lists pull requests in a specified repository. + * + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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/rest/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/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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 specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments"]; + put?: never; + /** + * Create a review comment for a pull request + * @description Creates a review comment on the diff of a specified pull request. 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)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Lists the files in a specified pull request. + * + * > [!NOTE] + * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + 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 Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-reviews"]; + put?: never; + /** + * Create a review for a pull request + * @description Creates a review on a specified 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * 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. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review"]; + /** + * Update a review for a pull request + * @description Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Dismisses a specified review on a pull request. + * + * > [!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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + 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/using-the-rest-api/getting-started-with-the-rest-api#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 Gets a public release with the specified release ID. + * + * > [!NOTE] + * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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/using-the-rest-api/getting-started-with-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. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/list-repository-advisories"]; + put?: never; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + 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. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + 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. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + 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. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory-cve-request"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a temporary private fork + * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * > [!NOTE] + * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + post: operations["security-advisories/create-fork"]; + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + 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. + * + * > [!NOTE] + * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. + */ + 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](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * > [!NOTE] + * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more 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; + }; + /** + * Deprecated - List tag protection states for a repository + * @deprecated + * @description > [!WARNING] + * > **Deprecation notice:** This operation is deprecated and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. + * + * 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; + /** + * Deprecated - Create a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Deprecation notice:** This operation is deprecated and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. + * + * 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; + /** + * Deprecated - Delete a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Deprecation notice:** This operation is deprecated and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + 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/). + */ + 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 app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `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; + }; + "/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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). 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/guides/using-pagination-in-the-rest-api). + * + * 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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-legacy"]; + put?: never; + /** + * Create a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-legacy"]; + put?: never; + post?: never; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-legacy"]; + options?: never; + head?: never; + /** + * Update a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-legacy"]; + put?: never; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-legacy"]; + put?: never; + post?: never; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + options?: never; + head?: never; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + put?: never; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + put?: never; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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. + * + * > [!NOTE] + * > 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/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + post?: never; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 > [!WARNING] + * > **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 OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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 development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment 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)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment 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. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-emails-for-authenticated-user"]; + put?: never; + /** + * Add an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-email-for-authenticated-user"]; + /** + * Delete an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + put: operations["users/follow"]; + post?: never; + /** + * Unfollow a user + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + 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. + * + * 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. + * + * 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. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + 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`. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + 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. + */ + 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. + */ + 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. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint 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 for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, `repo` scope is also required. For the list 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + 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 app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `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. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + get: operations["teams/list-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user using their ID + * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + * + * 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/guides/getting-started-with-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-id"]; + 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. + * + * 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/guides/getting-started-with-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}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["users/list-attestations"]; + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + 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. + * + * > [!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-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. + * + * > [!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-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 + * @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-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. 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, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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 repositories and following users. If you are authenticated as the + * given user, you will see private events. Otherwise, you'll only see public events. + * + * > [!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-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 + * @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-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. + */ + 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + 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 */ + 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 + * @deprecated + */ + 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"; + /** @description A vulnerability describing the product and its affected versions within a GitHub Security 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 that resolves the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + readonly vulnerable_functions: string[] | null; + }; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/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. */ + 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: components["schemas"]["vulnerability"][] | 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[]; + }; + /** + * Simple User + * @description A GitHub user. + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/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; + }; + /** + * @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; + /** + * 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; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | 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; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | 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 to create, edit, delete, and list Codespaces. + * @enum {string} + */ + codespaces?: "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 leve of permission to grant the access token to manage Dependabot secrets. + * @enum {string} + */ + dependabot_secrets?: "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 view and edit custom properties for a repository, when allowed by the property. + * @enum {string} + */ + repository_custom_properties?: "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. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom organization roles management. + * @enum {string} + */ + organization_custom_org_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom property management. + * @enum {string} + */ + organization_custom_properties?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in beta and is subject to change. + * @enum {string} + */ + organization_copilot_seat_management?: "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 view events triggered by an activity in an organization. + * @enum {string} + */ + organization_events?: "read"; + /** + * @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"; + /** + * @description The level of permission to grant the access token to manage the email addresses belonging to a user. + * @enum {string} + */ + email_addresses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the followers belonging to a user. + * @enum {string} + */ + followers?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage git SSH keys. + * @enum {string} + */ + git_ssh_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GPG keys belonging to a user. + * @enum {string} + */ + gpg_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage interaction limits on a repository. + * @enum {string} + */ + interaction_limits?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the profile settings belonging to a user. + * @enum {string} + */ + profile?: "write"; + /** + * @description The level of permission to grant the access token to list and manage repositories a user is starring. + * @enum {string} + */ + starring?: "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: { + /** + * Format: int64 + * @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; + }; + 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, in kilobytes. 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; + 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; + 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: { + /** Format: int64 */ + 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](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + * */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** + * 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; + }; + }; + /** + * 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; + }; + /** + * Enterprise Team + * @description Group of enterprise owners and/or members + */ + "enterprise-team": { + /** Format: int64 */ + id: number; + name: string; + slug: string; + /** Format: uri */ + url: string; + /** @example disabled | all */ + sync_to_organizations: string; + /** @example 1 */ + group_id?: number | null; + /** + * Format: uri + * @example https://github.com/enterprises/dc/teams/justice-league + */ + html_url: string; + members_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Copilot Business Seat Detail + * @description Information about a Copilot 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 organization to which this seat belongs. */ + organization?: components["schemas"]["organization-simple"] | null; + /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ + assigning_team?: (components["schemas"]["team"] | components["schemas"]["enterprise-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; + }; + /** + * Copilot Usage Metrics + * @description Summary of Copilot usage. + */ + "copilot-usage-metrics": { + /** + * Format: date + * @description The date for which the usage metrics are reported, in `YYYY-MM-DD` format. + */ + day: string; + /** @description The total number of Copilot code completion suggestions shown to users. */ + total_suggestions_count?: number; + /** @description The total number of Copilot code completion suggestions accepted by users. */ + total_acceptances_count?: number; + /** @description The total number of lines of code completions suggested by Copilot. */ + total_lines_suggested?: number; + /** @description The total number of lines of code completions accepted by users. */ + total_lines_accepted?: number; + /** @description The total number of users who were shown Copilot code completion suggestions during the day specified. */ + total_active_users?: number; + /** @description The total instances of users who accepted code suggested by Copilot Chat in the IDE (panel and inline). */ + total_chat_acceptances?: number; + /** @description The total number of chat turns (prompt and response pairs) sent between users and Copilot Chat in the IDE. */ + total_chat_turns?: number; + /** @description The total number of users who interacted with Copilot Chat in the IDE during the day specified. */ + total_active_chat_users?: number; + /** @description Breakdown of Copilot code completions usage by language and editor */ + breakdown: ({ + /** @description The language in which Copilot suggestions were shown to users in the specified editor. */ + language?: string; + /** @description The editor in which Copilot suggestions were shown to users for the specified language. */ + editor?: string; + /** @description The number of Copilot suggestions shown to users in the editor specified during the day specified. */ + suggestions_count?: number; + /** @description The number of Copilot suggestions accepted by users in the editor specified during the day specified. */ + acceptances_count?: number; + /** @description The number of lines of code suggested by Copilot in the editor specified during the day specified. */ + lines_suggested?: number; + /** @description The number of lines of code accepted by users in the editor specified during the day specified. */ + lines_accepted?: number; + /** @description The number of users who were shown Copilot completion suggestions in the editor specified during the day specified. */ + active_users?: number; + } & { + [key: string]: unknown; + })[] | 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} + */ + 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. + */ + "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": { + /** + * Format: int64 + * @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} + */ + 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: 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`. + */ + "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; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + }; + /** + * 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; + }; + /** + * @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: (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; + /** Format: int64 */ + 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; + /** Format: email */ + notification_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" + * ] */ + actions_macos?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + dependabot?: string[]; + domains?: { + website?: string[]; + codespaces?: string[]; + copilot?: string[]; + packages?: string[]; + actions?: 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"; + }; + secret_scanning_non_provider_patterns?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** + * Format: int64 + * @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, in kilobytes. 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 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts 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_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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. + */ + "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": "false positive" | "won't fix" | "used in tests" | null; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "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 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 A set of tags applicable for the rule. */ + tags?: 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 Git reference, formatted as `refs/pull//merge`, `refs/pull//head`, + * `refs/heads/` or simply ``. */ + "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-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + }; + /** @description A code security configuration */ + "code-security-configuration": { + /** @description The ID of the code security configuration */ + id?: number; + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** + * @description The type of the code security configuration. + * @enum {string} + */ + target_type?: "global" | "organization"; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + /** + * Format: uri + * @description The URL of the configuration + */ + url?: string; + /** + * Format: uri + * @description The URL of the configuration + */ + html_url?: string; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** @description A list of default code security configurations */ + "code-security-default-configurations": { + /** + * @description The visibility of newly created repositories for which the code security configuration will be applied to by default + * @enum {unknown} + */ + default_for_new_repos?: "public" | "private_and_internal" | "all"; + configuration?: components["schemas"]["code-security-configuration"]; + }[]; + /** @description Repositories associated with a code security configuration and attachment status */ + "code-security-configuration-repositories": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + 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: { + /** + * Format: int64 + * @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 Business Seat Breakdown + * @description The breakdown of Copilot 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 Business Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot 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 organization policy for allowing or disallowing organization members to use Copilot Chat within their editor. + * @enum {string} + */ + ide_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing organization members to use Copilot features within github.com. + * @enum {string} + */ + platform_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing organization members to use Copilot within their CLI. + * @enum {string} + */ + cli?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The mode of assigning new seats. + * @enum {string} + */ + seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; + } & { + [key: string]: unknown; + }; + /** + * 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": { + /** + * Format: int64 + * @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, in kilobytes. 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": { + /** Format: int64 */ + 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: { + /** + * Format: int64 + * @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[]; + }; + /** + * Organization Role + * @description Organization roles + */ + "organization-role": { + /** + * Format: int64 + * @description The unique identifier of the role. + */ + id: number; + /** @description The name of the role. */ + name: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string | null; + /** @description A list of permissions included in this role. */ + permissions: string[]; + organization: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The date and time the role was created. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the role was last updated. + */ + updated_at: string; + }; + /** + * A Role Assignment for a Team + * @description The Relationship a Team has with a role. + */ + "team-role-assignment": { + 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"]; + }; + /** + * 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; + }; + /** + * A Role Assignment for a User + * @description The Relationship a User has with a role. + */ + "user-role-assignment": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: 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} + */ + 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; + }; + /** + * Organization Custom Property + * @description Custom property defined on an organization + */ + "org-custom-property": { + /** @description The name of the property */ + property_name: string; + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: (string | string[]) | null; + /** @description Short description of the property */ + description?: string | null; + /** @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Value + * @description Custom property name and associated value + */ + "custom-property-value": { + /** @description The name of the property */ + property_name: string; + /** @description The value assigned to the property */ + value: (string | string[]) | null; + }; + /** + * Organization Repository Custom Property Values + * @description List of custom property values for a repository + */ + "org-repo-custom-property-values": { + /** @example 1296269 */ + repository_id: number; + /** @example Hello-World */ + repository_name: string; + /** @example octocat/Hello-World */ + repository_full_name: string; + /** @description List of custom property names and associated values */ + properties: components["schemas"]["custom-property-value"][]; + }; + /** + * Repository + * @description A repository on GitHub. + */ + "nullable-repository": { + /** + * Format: int64 + * @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; + }; + 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, in kilobytes. 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; + 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; + 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; + }; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** + * Format: int64 + * @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, in kilobytes. 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"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * @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. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. + * */ + actor_id?: number | null; + /** + * @description The type of actor that can bypass a ruleset. + * + * @enum {string} + */ + actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; + /** + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. + * + * @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[]; + }; + }; + /** + * Repository ruleset property targeting definition + * @description Parameters for a targeting a repository property + */ + "repository-ruleset-conditions-repository-property-spec": { + /** @description The name of the repository property to target */ + name: string; + /** @description The values to match for the repository property */ + property_values: string[]; + /** + * @description The source of the repository property. Defaults to 'custom' if not specified. + * @enum {string} + */ + source?: "custom" | "system"; + }; + /** + * Repository ruleset conditions for repository properties + * @description Parameters for a repository property condition + */ + "repository-ruleset-conditions-repository-property-target": { + repository_property: { + /** @description The repository properties and values to include. All of these properties must match for the condition to pass. */ + include?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + /** @description The repository properties and values to exclude. The condition will not pass if any of these properties match. */ + exclude?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + }; + }; + /** + * 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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-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"; + }; + /** + * merge_queue + * @description Merges must be performed via a merge queue. + */ + "repository-rule-merge-queue": { + /** @enum {string} */ + type: "merge_queue"; + parameters?: { + /** @description Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed */ + check_response_timeout_minutes: number; + /** + * @description When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + * @enum {string} + */ + grouping_strategy: "ALLGREEN" | "HEADGREEN"; + /** @description Limit the number of queued pull requests requesting checks and workflow runs at the same time. */ + max_entries_to_build: number; + /** @description The maximum number of PRs that will be merged together in a group. */ + max_entries_to_merge: number; + /** + * @description Method to use when merging changes from queued pull requests. + * @enum {string} + */ + merge_method: "MERGE" | "SQUASH" | "REBASE"; + /** @description The minimum number of PRs that will be merged together in a group. */ + min_entries_to_merge: number; + /** @description The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. */ + min_entries_to_merge_wait_minutes: number; + }; + }; + /** + * required_deployments + * @description Choose which environments must be successfully deployed to before refs can be pushed into a ref 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 the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. + */ + "repository-rule-required-status-checks": { + /** @enum {string} */ + type: "required_status_checks"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @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} */ + 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; + }; + }; + /** + * RestrictedCommits + * @description Restricted commit + */ + "repository-rule-params-restricted-commits": { + /** @description Full or abbreviated commit hash to reject */ + oid: string; + /** @description Reason for restriction */ + reason?: string; + }; + /** + * WorkflowFileReference + * @description A workflow that must run for this rule to pass + */ + "repository-rule-params-workflow-file-reference": { + /** @description The path to the workflow file */ + path: string; + /** @description The ref (branch or tag) of the workflow file to use */ + ref?: string; + /** @description The ID of the repository where the workflow is defined */ + repository_id: number; + /** @description The commit SHA of the workflow file to use */ + sha?: string; + }; + /** + * workflows + * @description Require all changes made to a targeted branch to pass the specified workflows before they can be merged. + */ + "repository-rule-workflows": { + /** @enum {string} */ + type: "workflows"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Workflows that must pass for this rule to pass. */ + workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][]; + }; + }; + /** + * CodeScanningTool + * @description A tool that must provide code scanning results for this rule to pass. + */ + "repository-rule-params-code-scanning-tool": { + /** + * @description The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + alerts_threshold: "none" | "errors" | "errors_and_warnings" | "all"; + /** + * @description The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + security_alerts_threshold: "none" | "critical" | "high_or_higher" | "medium_or_higher" | "all"; + /** @description The name of a code scanning tool */ + tool: string; + }; + /** + * code_scanning + * @description Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. + */ + "repository-rule-code-scanning": { + /** @enum {string} */ + type: "code_scanning"; + parameters?: { + /** @description Tools that must provide code scanning results for this rule to pass. */ + code_scanning_tools: components["schemas"]["repository-rule-params-code-scanning-tool"][]; + }; + }; + /** + * 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-merge-queue"] | 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"] | { + /** @enum {string} */ + type: "file_path_restriction"; + parameters?: { + /** @description The file paths that are restricted from being pushed to the commit graph. */ + restricted_file_paths: string[]; + }; + } | { + /** @enum {string} */ + type: "max_file_path_length"; + parameters?: { + /** @description The maximum amount of characters allowed in file paths */ + max_file_path_length: number; + }; + } | { + /** @enum {string} */ + type: "file_extension_restriction"; + parameters?: { + /** @description The file extensions that are restricted from being pushed to the commit graph. */ + restricted_file_extensions: string[]; + }; + } | { + /** @enum {string} */ + type: "max_file_size"; + parameters?: { + /** @description The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). */ + max_file_size: number; + }; + } | components["schemas"]["repository-rule-workflows"] | components["schemas"]["repository-rule-code-scanning"]; + /** + * 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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + /** + * @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"]) | null; + 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 + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @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} + */ + 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 | null; + /** @description The handle for the GitHub user account. */ + actor_name?: string | null; + /** @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 + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @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} + */ + 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; + /** + * Format: uri + * @description The API URL for the advisory. + */ + readonly 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 The severity of the advisory. + * @enum {string|null} + */ + severity: "critical" | "high" | "medium" | "low" | null; + /** @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; + }; + "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 owners. + * @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; + }; + }; + /** + * 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; + 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; + /** + * Format: int64 + * @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"]; + }; + /** + * 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; + }[]; + }; + /** + * 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" | "waiting" | "requested" | "pending"; + /** + * @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 repositories 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": { + /** Format: int64 */ + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + 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: { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @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: { + [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; + }[]; + }; + }; + 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; + /** Format: int64 */ + 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: { + /** + * 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"]["simple-user"] | components["schemas"]["empty-object"]) | null; + committer: (components["schemas"]["simple-user"] | components["schemas"]["empty-object"]) | null; + 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?: { + /** + * 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. Statuses of waiting, requested, and pending are reserved for GitHub Actions check runs. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * @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; + /** + * @description The phase of the lifecycle that the check suite is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check suites. + * @example completed + * @enum {string|null} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending" | 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-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-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; + }; + "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; + 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 + */ + 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; + /** + * 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 The commit SHA of the repository at the time the CodeQL database was created. */ + commit_oid?: string | null; + }; + /** + * @description The language targeted by the CodeQL query + * @enum {string} + */ + "code-scanning-variant-analysis-language": "cpp" | "csharp" | "go" | "java" | "javascript" | "python" | "ruby" | "swift"; + /** + * Repository Identifier + * @description Repository Identifier + */ + "code-scanning-variant-analysis-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @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; + /** @description Whether the repository is private. */ + private: boolean; + /** @example 80 */ + stargazers_count: number; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + }; + /** + * @description The new status of the CodeQL variant analysis repository task. + * @enum {string} + */ + "code-scanning-variant-analysis-status": "pending" | "in_progress" | "succeeded" | "failed" | "canceled" | "timed_out"; + "code-scanning-variant-analysis-skipped-repo-group": { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of repositories that were skipped. This list may not include all repositories that were skipped. This is only available when the repository was found and the user has access to it. */ + repositories: components["schemas"]["code-scanning-variant-analysis-repository"][]; + }; + /** + * Variant Analysis + * @description A run of a CodeQL query against one or more repositories. + */ + "code-scanning-variant-analysis": { + /** @description The ID of the variant analysis. */ + id: number; + controller_repo: components["schemas"]["simple-repository"]; + actor: components["schemas"]["simple-user"]; + query_language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description The download url for the query pack. */ + query_pack_url: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis 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 variant analysis was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at?: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was completed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the variant analysis has not yet completed or this information is not available. + */ + completed_at?: string | null; + /** @enum {string} */ + status: "in_progress" | "succeeded" | "failed" | "cancelled"; + /** @description The GitHub Actions workflow run used to execute this variant analysis. This is only available if the workflow run has started. */ + actions_workflow_run_id?: number; + /** + * @description The reason for a failure of the variant analysis. This is only available if the variant analysis has failed. + * @enum {string} + */ + failure_reason?: "no_repos_queried" | "actions_workflow_run_failed" | "internal_error"; + scanned_repositories?: { + repository: components["schemas"]["code-scanning-variant-analysis-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + }[]; + /** @description Information about repositories that were skipped from processing. This information is only available to the user that initiated the variant analysis. */ + skipped_repositories?: { + access_mismatch_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + not_found_repos: { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of full repository names that were skipped. This list may not include all repositories that were skipped. */ + repository_full_names: string[]; + }; + no_codeql_db_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + over_limit_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + }; + }; + "code-scanning-variant-analysis-repo-task": { + repository: components["schemas"]["simple-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + /** @description The SHA of the commit the CodeQL database was built against. This is only available for successful analyses. */ + database_commit_sha?: string; + /** @description The source location prefix to use. This is only available for successful analyses. */ + source_location_prefix?: string; + /** @description The URL of the artifact. This is only available for successful analyses. */ + artifact_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 analyzed. */ + 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 The desired state of code scanning default setup. + * @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. */ + 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 The full Git reference, formatted as `refs/heads/`, + * `refs/tags/`, `refs/pull//merge`, or `refs/pull//head`. + * @example refs/heads/main + */ + "code-scanning-ref-full": 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. + */ + 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} + */ + processing_status?: "pending" | "complete" | "failed"; + /** + * 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 + */ + 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 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 + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @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": { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @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} + */ + 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: 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} + */ + 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; + /** + * @description The copyright holders of the package, and any dates present with those notices, if available. + * @example Copyright (c) 1985 GitHub.com + */ + copyrightText?: 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; + /** + * Format: int64 + * @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: { + /** + * Format: int64 + * @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"]; + }; + /** + * @description Whether or not a user who created the job is prevented from approving their own job. + * @example false + */ + "prevent-self-review": boolean; + /** + * Deployment branch policy + * @description Details of a deployment branch or tag policy. + */ + "deployment-branch-policy": { + /** + * @description The unique identifier of the branch or tag policy. + * @example 361471 + */ + id?: number; + /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ + node_id?: string; + /** + * @description The name pattern that branches or tags must match in order to deploy to the environment. + * @example release/* + */ + name?: string; + /** + * @description Whether this rule targets a branch or tag. + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** Deployment branch and tag policy name pattern */ + "deployment-branch-policy-name-pattern-with-type": { + /** + * @description The name pattern that branches or tags 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; + /** + * @description Whether this rule targets a branch or tag + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** 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: { + /** + * 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; + }; + /** + * 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; + }[]; + }; + /** 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: components["schemas"]["webhook-config"]; + /** + * 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: (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 + * @description Unique identifier for the label. + * @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; + /** + * @description Optional description of the label, such as its purpose. + * @example Something isn't working + */ + description: string | null; + /** + * @description 6-character hex code, without the leading #, identifying the color + * @example FFFFFF + */ + color: string; + /** + * @description Whether this label comes by default in a new repository. + * @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: { + /** + * 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 + * @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; + /** + * Format: int64 + * @description The ID of the pull request review to which the comment belongs. + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @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"; + /** + * @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": { + /** @description The ID of the GitHub Pages deployment. This is the Git SHA of the deployed commit. */ + id: number | string; + /** + * Format: uri + * @description The URI to monitor GitHub Pages deployment status. + * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251 + */ + 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; + }; + /** GitHub Pages deployment status */ + "pages-deployment-status": { + /** + * @description The current status of the deployment. + * @enum {string} + */ + status?: "deployment_in_progress" | "syncing_files" | "finished_file_sync" | "updating_pages" | "purging_cdn" | "deployment_cancelled" | "deployment_failed" | "deployment_content_failed" | "deployment_attempt_error" | "deployment_lost" | "succeed"; + }; + /** + * 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + 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; + /** Format: int64 */ + 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": { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @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"; + /** + * @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-merge-queue"] & 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"]) | (components["schemas"]["repository-rule-workflows"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-code-scanning"] & 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 The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + }; + /** @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 a 'wiki_commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository wiki. */ + "secret-scanning-location-wiki-commit": { + /** + * @description The file path of the wiki page + * @example /example/Home.md + */ + 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 8-bit ASCII. */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8-bit ASCII. */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** + * @description The GitHub URL to get the associated wiki page + * @example https://github.com/octocat/Hello-World/wiki/Home/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + page_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example 302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_sha: string; + /** + * @description The GitHub URL to get the associated wiki commit + * @example https://github.com/octocat/Hello-World/wiki/_compare/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + 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; + }; + /** @description Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. */ + "secret-scanning-location-discussion-title": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082 + */ + discussion_title_url: string; + }; + /** @description Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. */ + "secret-scanning-location-discussion-body": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussion-4566270 + */ + discussion_body_url: string; + }; + /** @description Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. */ + "secret-scanning-location-discussion-comment": { + /** + * Format: uri + * @description The API URL to get the discussion comment where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussioncomment-4158232 + */ + discussion_comment_url: string; + }; + /** @description Represents a 'pull_request_title' secret scanning location type. This location type shows that a secret was detected in the title of a pull request. */ + "secret-scanning-location-pull-request-title": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pull/2846 + */ + pull_request_title_url: string; + }; + /** @description Represents a 'pull_request_body' secret scanning location type. This location type shows that a secret was detected in the body of a pull request. */ + "secret-scanning-location-pull-request-body": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pull/2846 + */ + pull_request_body_url: string; + }; + /** @description Represents a 'pull_request_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a pull request. */ + "secret-scanning-location-pull-request-comment": { + /** + * Format: uri + * @description The API URL to get the pull request comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + pull_request_comment_url: string; + }; + /** @description Represents a 'pull_request_review' secret scanning location type. This location type shows that a secret was detected in a review on a pull request. */ + "secret-scanning-location-pull-request-review": { + /** + * Format: uri + * @description The API URL to get the pull request review where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846/reviews/80 + */ + pull_request_review_url: string; + }; + /** @description Represents a 'pull_request_review_comment' secret scanning location type. This location type shows that a secret was detected in a review comment on a pull request. */ + "secret-scanning-location-pull-request-review-comment": { + /** + * Format: uri + * @description The API URL to get the pull request review comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 + */ + pull_request_review_comment_url: string; + }; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues, pull requests, discussions), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; + details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-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; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork: boolean; + }; + "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; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork: boolean; + }; + "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; + }[]; + }; + /** 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; + /** Format: int64 */ + 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; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: 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; + /** + * Format: email + * @example octocat@github.com + */ + notification_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": { + /** + * Format: int64 + * @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": { + /** + * Format: int64 + * @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: { + /** Format: int64 */ + 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; + /** Format: int64 */ + 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"]; + }; + /** + * Sigstore Bundle v0.1 + * @description Sigstore Bundle v0.1 + */ + "sigstore-bundle-0": { + mediaType?: string; + verificationMaterial?: { + x509CertificateChain?: { + certificates?: { + rawBytes?: string; + }[]; + }; + tlogEntries?: { + logIndex?: string; + logId?: { + keyId?: string; + }; + kindVersion?: { + kind?: string; + version?: string; + }; + integratedTime?: string; + inclusionPromise?: { + signedEntryTimestamp?: string; + }; + inclusionProof?: string | null; + canonicalizedBody?: string; + }[]; + timestampVerificationData?: string | null; + }; + dsseEnvelope?: { + payload?: string; + payloadType?: string; + signatures?: { + sig?: string; + keyid?: string; + }[]; + }; + }; + /** + * 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 */ + 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": { + /** + * Format: int64 + * @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, in kilobytes. 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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @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} + */ + 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; + }; + /** + * 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; + }; + /** + * 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. + */ + webhooks_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"; + /** + * @description The enforcement level of the branch lock setting. `off` means the branch is not locked, `non_admins` means the branch is read-only for non_admins, and `everyone` means the branch is read-only for everyone. + * @enum {string} + */ + lock_branch_enforcement_level: "off" | "non_admins" | "everyone"; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow users to pull changes from upstream when the branch is locked. This setting is only applicable for forks. */ + lock_allows_fork_sync?: boolean; + /** @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; + }; + /** @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; + }; + /** @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. */ + webhooks_code_scanning_commit_oid: string; + /** @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. */ + webhooks_code_scanning_ref: string; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + webhooks_deploy_pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + webhooks_ref_0: string; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + webhooks_deploy_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; + }; + /** Workflow */ + webhooks_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; + webhooks_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; + }; + 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"; + }[]; + webhooks_workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: unknown; + status: string; + updated_at: string; + }; + /** User */ + webhooks_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: 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: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + labels?: components["schemas"]["label"][]; + }; + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Label */ + webhooks_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 An array of repository objects that the installation can access. */ + webhooks_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; + }[]; + /** @description An array of repository objects, which were added to the installation. */ + webhooks_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 Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + webhooks_repository_selection: "all" | "selected"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + webhooks_issue_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"]["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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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 changes to the comment. */ + webhooks_changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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. + */ + webhooks_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; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue_2: { + /** @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 */ + webhooks_user_mannequin: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** Marketplace Purchase */ + webhooks_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 | 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; + }; + /** Marketplace Purchase */ + webhooks_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; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_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; + }; + /** + * 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": { + /** + * Format: int64 + * @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, in kilobytes. 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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @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} + */ + 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; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone_3: { + /** 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; + }; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | 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; + }; + /** Project Card */ + 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"; + /** 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; + }; + /** Project */ + webhooks_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; + }; + /** Project Column */ + webhooks_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; + }; + /** + * 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"]; + }; + webhooks_project_changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + /** + * 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; + }; + /** + * Projects v2 Single Select Option + * @description An option for a single select field + */ + "projects-v2-single-select-option": { + id: string; + name: string; + color?: string | null; + description?: string | null; + }; + /** + * Projects v2 Iteration Setting + * @description An iteration setting for an iteration field + */ + "projects-v2-iteration-setting": { + id: string; + title: string; + duration?: number | null; + start_date?: string | null; + }; + /** + * Projects v2 Status Update + * @description An status update belonging to a project + */ + "projects-v2-status-update": { + id: number; + node_id: string; + project_node_id?: string; + 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; + /** @enum {string|null} */ + status?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + /** + * Format: date + * @example 2022-04-28 + */ + start_date?: string; + /** + * Format: date + * @example 2022-04-28 + */ + target_date?: string; + /** + * @description Body of the status update + * @example The project is off to a great start! + */ + body?: string | null; + }; + /** @description The pull request number. */ + webhooks_number: number; + "pull-request-webhook": 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; + }; + /** Pull Request */ + webhooks_pull_request_5: { + _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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + webhooks_review_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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 review that was affected. */ + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + webhooks_nullable_string: string | null; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + 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; + }; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release_1: { + 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; + } | null)[]; + /** 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 Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + webhooks_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"; + }; + /** + * @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 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 token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @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 details of the security advisory, including summary, description, and severity. */ + webhooks_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; + }; + 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; + }; + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + webhooks_effective_date: string; + webhooks_changes_8: { + 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; + }; + }; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team_1: { + 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; + }; + /** 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"]; + rule: components["schemas"]["webhooks_rule"]; + 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"]; + rule: components["schemas"]["webhooks_rule"]; + 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"; + }; + lock_branch_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_allows_fork_sync?: { + from: boolean | null; + }; + pull_request_reviews_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + require_last_push_approval?: { + from: boolean | null; + }; + 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"]; + rule: components["schemas"]["webhooks_rule"]; + 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. 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. 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. 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. + * @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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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. + * @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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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. + * @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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @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"]; + }; + /** custom property created event */ + "webhook-custom-property-created": { + /** @enum {string} */ + action: "created"; + definition: components["schemas"]["org-custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** custom property deleted event */ + "webhook-custom-property-deleted": { + /** @enum {string} */ + action: "deleted"; + definition: { + /** @description The name of the property that was deleted. */ + property_name: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** custom property updated event */ + "webhook-custom-property-updated": { + /** @enum {string} */ + action: "updated"; + definition: components["schemas"]["org-custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** Custom property values updated event */ + "webhook-custom-property-values-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + repository: components["schemas"]["repository-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + /** @description The new custom property values for the repository. */ + new_property_values: components["schemas"]["custom-property-value"][]; + /** @description The old custom property values for the repository. */ + old_property_values: components["schemas"]["custom-property-value"][]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @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"]; + key: components["schemas"]["webhooks_deploy_key"]; + 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"]; + key: components["schemas"]["webhooks_deploy_key"]; + 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: components["schemas"]["webhooks_workflow"]; + /** 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} */ + 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?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + 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?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + 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"]; + requestor: components["schemas"]["webhooks_user"]; + 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. 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?: components["schemas"]["webhooks_workflow"]; + /** 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: components["schemas"]["webhooks_answer"]; + 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: components["schemas"]["webhooks_comment"]; + 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: components["schemas"]["webhooks_comment"]; + 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: components["schemas"]["webhooks_comment"]; + 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: 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 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: components["schemas"]["webhooks_label"]; + 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: components["schemas"]["webhooks_answer"]; + 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: components["schemas"]["webhooks_label"]; + 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; + /** + * Format: int64 + * @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"; + 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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: components["schemas"]["webhooks_user"]; + 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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + 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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + 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"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @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"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + 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"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @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"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + 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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + 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; + }; + /** @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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + 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"; + /** + * 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + 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"; + comment: components["schemas"]["webhooks_issue_comment"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + 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"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_issue_comment"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + 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"; + assignee?: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 + * @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; + } | null)[]; + /** 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_milestone"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_label"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_label"]; + 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 + * @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; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: true; + /** + * 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 milestoned event */ + "webhook-issues-milestoned": { + /** @enum {string} */ + action: "milestoned"; + 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; + } | null)[]; + /** 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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: components["schemas"]["webhooks_milestone"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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: components["schemas"]["webhooks_issue_2"]; + 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 + * @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" | "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; + } | null)[]; + /** 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_issue_2"]; + 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"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + 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: components["schemas"]["webhooks_issue"]; + label?: components["schemas"]["webhooks_label"]; + 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 + * @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; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: false; + /** + * 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 unpinned event */ + "webhook-issues-unpinned": { + /** @enum {string} */ + action: "unpinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + 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: components["schemas"]["webhooks_label"]; + 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: components["schemas"]["webhooks_label"]; + 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: components["schemas"]["webhooks_label"]; + 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: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + 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: components["schemas"]["webhooks_marketplace_purchase"]; + 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: components["schemas"]["webhooks_marketplace_purchase"]; + 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 */ + 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; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + 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: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** member added event */ + "webhook-member-added": { + /** @enum {string} */ + action: "added"; + changes?: { + /** @description This field is included for legacy purposes; use the `role_name` field instead. The `maintain` + * role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role + * assigned to the collaborator, use the `role_name` field instead, which will provide the full + * role name, including custom roles. */ + permission?: { + /** @enum {string} */ + to: "write" | "admin" | "read"; + }; + /** @description The role assigned to the collaborator. */ + role_name?: { + to: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + 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"]; + member: components["schemas"]["webhooks_user"]; + 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"]; + member: components["schemas"]["webhooks_user"]; + 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"]; + member: components["schemas"]["webhooks_user"]; + 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: components["schemas"]["webhooks_team"]; + }; + /** membership removed event */ + "webhook-membership-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + 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: components["schemas"]["webhooks_team"]; + }; + "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: components["schemas"]["webhooks_milestone"]; + 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: components["schemas"]["webhooks_milestone_3"]; + 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: components["schemas"]["webhooks_milestone"]; + 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: components["schemas"]["webhooks_milestone"]; + 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: components["schemas"]["webhooks_milestone_3"]; + 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"; + blocked_user: components["schemas"]["webhooks_user"]; + 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"; + blocked_user: components["schemas"]["webhooks_user"]; + 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?: components["schemas"]["webhooks_membership"]; + 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: components["schemas"]["webhooks_membership"]; + 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?: components["schemas"]["webhooks_user"]; + }; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + 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?: components["schemas"]["webhooks_membership"]; + 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; + 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"]; + }; + /** 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"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + 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"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + 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"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + 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"]; + enterprise?: components["schemas"]["enterprise-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: components["schemas"]["webhooks_project_card"]; + 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: components["schemas"]["webhooks_project_card"]; + 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: components["schemas"]["webhooks_project_card"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project_column"]; + 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: components["schemas"]["webhooks_project_column"]; + 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: components["schemas"]["webhooks_project_column"]; + 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: components["schemas"]["webhooks_project_column"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project_changes"]; + 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"; + /** @description The changes made to the item may involve modifications in the item's fields and draft issue body. + * It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. */ + changes?: { + field_value: { + field_node_id?: string; + field_type?: string; + field_name?: string; + project_number?: number; + from?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; + to?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; + }; + } | { + 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: components["schemas"]["webhooks_project_changes"]; + 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"]; + }; + /** Projects v2 Status Update Created Event */ + "webhook-projects-v2-status-update-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Status Update Deleted Event */ + "webhook-projects-v2-status-update-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Status Update Edited Event */ + "webhook-projects-v2-status-update-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from?: string | null; + to?: string | null; + }; + status?: { + /** @enum {string|null} */ + from?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + /** @enum {string|null} */ + to?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + }; + start_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + target_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + 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"; + assignee: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"; + comment: components["schemas"]["webhooks_review_comment"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_review_comment"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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"]; + }; + /** 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + review: components["schemas"]["webhooks_review"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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: { + /** + * @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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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: components["schemas"]["webhooks_nullable_string"]; + /** @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 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. */ + commits: { + /** @description An array of files added in the commit. A maximum of 3000 changed files will be reported per 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. A maximum of 3000 changed files will be reported per commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. A maximum of 3000 changed files will be reported per 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_release"]; + 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: components["schemas"]["webhooks_release"]; + 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: components["schemas"]["webhooks_release"]; + 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 + * @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; + } | null)[]; + /** 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. + * @enum {boolean} + */ + prerelease: true; + /** 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 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: components["schemas"]["webhooks_release_1"]; + 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: components["schemas"]["webhooks_release"]; + 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: components["schemas"]["webhooks_release_1"]; + 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": { + /** @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + action: string; + branch: string; + /** @description The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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: components["schemas"]["webhooks_alert"]; + 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"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + 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: "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: components["schemas"]["webhooks_alert"]; + 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"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + 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: "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 validated event */ + "webhook-secret-scanning-alert-validated": { + /** @enum {string} */ + action: "validated"; + 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"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + 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"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + effective_date?: components["schemas"]["webhooks_effective_date"]; + 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: components["schemas"]["webhooks_changes_8"]; + effective_date?: components["schemas"]["webhooks_effective_date"]; + 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: components["schemas"]["webhooks_changes_8"]; + 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** 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; + }; + /** 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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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: components["schemas"]["webhooks_workflow"]; + /** 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: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | 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; + } | null)[]; + 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; + /** + * @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; + }; + }; + /** 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: components["schemas"]["webhooks_workflow"]; + /** 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: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | 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 | null; + 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; + } | null)[]; + 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; + }; + }; + /** 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: components["schemas"]["webhooks_workflow"]; + /** 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 Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Resource not found */ + not_found: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + bad_request: { + headers: { + [name: string]: unknown; + }; + 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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** @description Accepted */ + accepted: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Not modified */ + not_modified: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + requires_authentication: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Forbidden */ + forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Internal Error */ + internal_error: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @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 A header with no content is returned. */ + no_content: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @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 Gone */ + gone: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Temporary Redirect */ + temporary_redirect: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @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"]; + }; + }; + /** @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"]; + }; + }; + /** @description Found */ + found: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @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"]; + }; + }; + /** @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"]; + }; + }; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unacceptable */ + unacceptable: { + headers: { + [name: string]: unknown; + }; + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + "secret-scanning-alert-validity": string; + /** @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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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 code security configuration. */ + "configuration-id": number; + /** @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 slug of the team name. */ + "team-slug": string; + /** @description The unique identifier of the role. */ + "role-id": number; + /** @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 custom property name. The name is case sensitive. */ + "custom-property-name": string; + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. + * */ + "ref-in-query": string; + /** @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 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 Actions can set a status of `waiting`, `pending`, 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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + "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 The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + "git-ref-only": string; + /** @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 ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + "pages-deployment-id": number | string; + /** @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 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"]; + }; + }; + }; + }; + "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?: components["schemas"]["security-advisory-ecosystems"]; + /** @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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "apps/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "classroom/list-accepted-assigments-for-an-assignment": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "classroom/list-classrooms": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "copilot/list-copilot-seats-for-enterprise": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The total number of Copilot seats the enterprise is being billed for. Users with access through multiple organizations or enterprise teams are only counted once. */ + 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/usage-metrics-for-enterprise": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + }; + 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"]; + }; + }; + "activity/list-public-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "gists/list-comments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "gists/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "apps/list-repos-accessible-to-installation": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "apps/list-plans": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "apps/list-plans-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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-done": { + 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 No content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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. The maximum size is 160 characters. */ + 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-org-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-selected-repos-for-org-variable": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "orgs/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + }[]; + }; + }; + }; + }; + }; + "orgs/list-blocked-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "code-security/get-configurations-for-org": { + parameters: { + query?: { + /** @description The target type of the code security configuration */ + target_type?: "global" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-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: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/create-configuration": { + 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 code security configuration. Must be unique within the organization. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security + * @default disabled + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + }; + }; + "code-security/get-default-configurations": { + 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"]["code-security-default-configurations"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/detach-configuration": { + 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 An array of repository IDs to detach from configurations. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/get-configuration": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/delete-configuration": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/update-configuration": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response when a configuration is updated */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + /** @description Response when no new updates are made */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "code-security/attach-configuration": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. `selected` means the configuration will be attached to only the repositories specified by `selected_repository_ids` + * @enum {string} + */ + scope: "all" | "public" | "private_or_internal" | "selected"; + /** @description An array of repository IDs to attach the configuration to. You can only provide a list of repository ids when the `scope` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + }; + }; + "code-security/set-configuration-as-default": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/get-repositories-for-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `detached`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` */ + status?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-in-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + "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"]; + /** @description There is a problem with your account's associated payment method. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/list-copilot-seats": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 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-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 Business or Enterprise 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"]; + }; + }; + "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 Business or Enterprise 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"]; + }; + }; + "copilot/add-copilot-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 Business or Enterprise 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"]; + }; + }; + "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 Business or Enterprise 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"]; + }; + }; + "copilot/usage-metrics-for-org": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + "activity/list-public-org-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "orgs/list-failed-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "orgs/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "orgs/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "orgs/list-app-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + }; + "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"]; + }; + }; + "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; + }; + }; + }; + "orgs/list-pending-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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. + * * `reinstate` - The previous role assigned to the invitee before they were removed from your organization. Can be one of the roles listed above. Only works if the invitee was previously part of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager" | "reinstate"; + /** @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"]; + }; + }; + "orgs/list-invitation-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + "codespaces/get-codespaces-for-user-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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-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 Business or Enterprise 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 + * @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. */ + 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"]; + }; + }; + "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"]; + }; + }; + "migrations/list-repos-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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-org-roles": { + 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 - list of organization roles */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The total number of organization roles available to the organization. */ + total_count?: number; + /** @description The list of organization roles available to the organization. */ + roles?: components["schemas"]["organization-role"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/revoke-all-org-roles-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; + }; + }; + }; + "orgs/assign-team-to-org-role": { + 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 role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization, team or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled for the organization, or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-org-role-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"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-all-org-roles-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; + }; + }; + }; + "orgs/assign-user-to-org-role": { + 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 unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization, user or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled enabled for the organization, the validation failed, or the user is not an organization member. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-org-role-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"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/get-org-role": { + 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 role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-org-role-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - List of assigned teams */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-org-role-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - List of assigned users */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: number; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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/get-all-custom-properties": { + 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-custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-properties": { + 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 array of custom properties to create or update. */ + properties: components["schemas"]["org-custom-property"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/get-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name. The name is case sensitive. */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name. The name is case sensitive. */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: (string | string[]) | null; + /** @description Short description of the property */ + description?: string | null; + /** @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. */ + allowed_values?: string[] | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/remove-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name. The name is case sensitive. */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-custom-properties-values-for-repos": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Finds repositories in the organization with a query containing 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. */ + repository_query?: string; + }; + 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-repo-custom-property-values"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-properties-values-for-repos": { + 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 repositories that the custom property values will be applied to. */ + repository_names: string[]; + /** @description List of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-public-members": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"; + /** @description The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-org-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + 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 ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. + * */ + ref?: components["parameters"]["ref-in-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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + }; + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "teams/list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-pending-invitations-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-projects-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @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; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-repos-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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. */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-child-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + "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; + }[]; + }; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }[]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + secret_scanning_non_provider_patterns?: { + /** @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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "actions/get-actions-cache-list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "actions/list-repo-organization-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "actions/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-repo-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-repo-workflows": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "issues/list-assignees": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "repos/create-attestation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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 attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the attestation. */ + id?: number; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + }[]; + }; + }; + }; + }; + }; + "repos/list-autolinks": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "repos/list-branches": { + parameters: { + query?: { + /** @description Setting to `true` returns only branches protected by branch protections or rulesets. 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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[]; + }; + }; + 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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * @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"]; + }; + }; + }; + }; + "checks/list-annotations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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/create-variant-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"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description A Base64-encoded tarball containing a CodeQL query and all its dependencies */ + query_pack: string; + /** @description List of repository names (in the form `owner/repo-name`) to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repositories?: string[]; + /** @description List of repository lists to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_lists?: string[]; + /** @description List of organization or user names whose repositories the query should be run against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_owners?: string[]; + } & (unknown | unknown | unknown); + }; + }; + responses: { + /** @description Variant analysis submitted for processing */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unable to process variant analysis submission */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-variant-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 unique identifier of the variant analysis. */ + codeql_variant_analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-variant-analysis-repo-task": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the controller repository. */ + repo: string; + /** @description The ID of the variant analysis. */ + codeql_variant_analysis_id: number; + /** @description The account owner of the variant analysis repository. The name is not case sensitive. */ + repo_owner: string; + /** @description The name of the variant analysis repository. */ + repo_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis-repo-task"]; + }; + }; + 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-full"]; + 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"]; + }; + }; + "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; + }; + }; + }; + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + "repos/list-commit-comments-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + since?: string; + /** @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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + until?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-comments-for-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "repos/list-pull-requests-associated-with-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "repos/get-commit": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + 409: components["responses"]["conflict"]; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "repos/get-combined-status-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "repos/list-commit-statuses-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "repos/compare-commits": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + 304: components["responses"]["not_modified"]; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + }; + }; + "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; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "repos/list-deployment-statuses": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-all-environments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + prevent_self_review?: components["schemas"]["prevent-self-review"]; + /** @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"]; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-deployment-branch-policies": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "repos/get-all-deployment-protection-rules": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "repos/create-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "repos/list-custom-deployment-rule-integrations": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "repos/disable-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "actions/list-environment-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "actions/get-environment-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"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "actions/get-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "actions/create-or-update-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "actions/delete-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "actions/list-environment-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "actions/create-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "actions/get-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "actions/delete-environment-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"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-environment-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"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "activity/list-repo-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + 409: components["responses"]["conflict"]; + 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 full 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"]; + 409: components["responses"]["conflict"]; + 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"]; + 409: components["responses"]["conflict"]; + }; + }; + "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 Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "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 Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "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"]; + }; + }; + 409: components["responses"]["conflict"]; + 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 Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 409: components["responses"]["conflict"]; + 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 Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + 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"]; + }; + }; + 409: components["responses"]["conflict"]; + 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"]; + }; + }; + 409: components["responses"]["conflict"]; + 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"]; + 409: components["responses"]["conflict"]; + }; + }; + "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"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "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"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + /** + * @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": { + config?: components["schemas"]["webhook-config"]; + /** + * @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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "repos/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "repos/list-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "issues/list-events-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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" | 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?: (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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "issues/list-labels-on-issue": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "issues/list-events-for-timeline": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "repos/list-deploy-keys": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "issues/list-labels-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "licenses/get-for-repo": { + parameters: { + query?: { + /** @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"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "issues/list-labels-for-milestone": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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/pages/configuring-a-custom-domain-for-your-github-pages-site)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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 ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_id?: number; + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + 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-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 The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pages-deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/cancel-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"]; + /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 404: components["responses"]["not_found"]; + }; + }; + "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; + }; + }; + }; + "repos/check-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: { + /** @description Private vulnerability reporting status */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Whether or not private vulnerability reporting is enabled for the repository. */ + enabled: boolean; + }; + }; + }; + 422: components["responses"]["bad_request"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "repos/get-custom-properties-values": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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"]["custom-property-value"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-or-update-custom-properties-values": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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 list of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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/using-the-rest-api/getting-started-with-the-rest-api#media-types) 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"]; + 406: components["responses"]["unacceptable"]; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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. 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. + */ + 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"]; + }; + }; + "pulls/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "pulls/list-files": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + "pulls/list-reviews": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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. 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. */ + 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"]; + }; + }; + "pulls/list-comments-for-review": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "repos/list-releases": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "repos/list-release-assets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "repos/get-branch-rules": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "repos/get-repo-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + 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. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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"]; + }; + }; + "secret-scanning/list-locations-for-alert": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "security-advisories/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"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + 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"]; + }; + }; + "activity/list-stargazers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + /** @description Repository contains more than 10,000 commits */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "activity/list-watchers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "repos/list-tags": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "repos/list-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "repos/get-all-topics": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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"]["full-repository"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "teams/list-pending-invitations-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-projects-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @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"]; + }; + }; + "teams/list-repos-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-child-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + "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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "orgs/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]["full-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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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/get-by-id": { + 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"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "users/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + bundle?: components["schemas"]["sigstore-bundle-0"]; + repository_id?: number; + }[]; + }; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "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"]; + }; + }; + "activity/list-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "activity/list-org-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "activity/list-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "users/list-followers-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "users/list-following-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "users/list-gpg-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "users/list-public-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "orgs/list-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "activity/list-received-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "activity/list-received-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "users/list-social-accounts-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "users/list-ssh-signing-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "activity/list-repos-watched-by-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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-fetch/test/examples/schemas/stripe.d.ts b/packages/openapi-fetch/test/examples/schemas/stripe.d.ts new file mode 100644 index 000000000..e1f03ff19 --- /dev/null +++ b/packages/openapi-fetch/test/examples/schemas/stripe.d.ts @@ -0,0 +1,63458 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/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 accounts where controller.requirement_collection + * is application, which includes Custom accounts, you can update any information on the account.

+ * + *

For accounts where controller.requirement_collection + * is stripe, which includes Standard and Express accounts, you can update all information until you create + * an Account Link or Account Session to start Connect onboarding, + * after which some properties can no longer be updated.

+ * + *

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.

+ * + *

Test-mode accounts can be deleted at any time.

+ * + *

Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when 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 connected account and optionally sets it as the default for its currency. Other bank account + * details are not editable by design.

+ * + *

You can only update bank accounts when account.controller.requirement_collection is application, which includes Custom accounts.

+ * + *

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 connected account and optionally sets it as the default for its currency. Other bank account + * details are not editable by design.

+ * + *

You can only update bank accounts when account.controller.requirement_collection is application, which includes Custom accounts.

+ * + *

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 a connected account to access the Express Dashboard.

+ * + *

You can only create login links for accounts that use the Express Dashboard and are 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 can reject accounts that you have flagged as suspicious.

+ * + *

Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after 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/meter_event_adjustments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Creates a billing meter event adjustment

*/ + post: operations["PostBillingMeterEventAdjustments"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/meter_events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Creates a billing meter event

*/ + post: operations["PostBillingMeterEvents"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/meters": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a list of billing meters.

*/ + get: operations["GetBillingMeters"]; + put?: never; + /** @description

Creates a billing meter

*/ + post: operations["PostBillingMeters"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/meters/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a billing meter given an ID

*/ + get: operations["GetBillingMetersId"]; + put?: never; + /** @description

Updates a billing meter

*/ + post: operations["PostBillingMetersId"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/meters/{id}/deactivate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Deactivates a billing meter

*/ + post: operations["PostBillingMetersIdDeactivate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/meters/{id}/event_summaries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a list of billing meter event summaries.

*/ + get: operations["GetBillingMetersIdEventSummaries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/meters/{id}/reactivate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Reactivates a billing meter

*/ + post: operations["PostBillingMetersIdReactivate"]; + 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

This method is no longer recommended—use the Payment Intents API + * to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge + * object used to request payment.

*/ + 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; + /** @description

Updates a Session object.

*/ + post: operations["PostCheckoutSessionsSession"]; + 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/climate/orders": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists all Climate order objects. The orders are returned sorted by creation date, with the + * most recently created orders appearing first.

*/ + get: operations["GetClimateOrders"]; + put?: never; + /** @description

Creates a Climate order object for a given Climate product. The order will be processed immediately + * after creation and payment will be deducted your Stripe balance.

*/ + post: operations["PostClimateOrders"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/climate/orders/{order}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a Climate order object with the given ID.

*/ + get: operations["GetClimateOrdersOrder"]; + put?: never; + /** @description

Updates the specified order by setting the values of the parameters passed.

*/ + post: operations["PostClimateOrdersOrder"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/climate/orders/{order}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the + * reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier + * might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe + * provides 90 days advance notice and refunds the amount_total.

*/ + post: operations["PostClimateOrdersOrderCancel"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/climate/products": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists all available Climate product objects.

*/ + get: operations["GetClimateProducts"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/climate/products/{product}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a Climate product with the given ID.

*/ + get: operations["GetClimateProductsProduct"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/climate/suppliers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists all available Climate supplier objects.

*/ + get: operations["GetClimateSuppliers"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/climate/suppliers/{supplier}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Climate supplier object.

*/ + get: operations["GetClimateSuppliersSupplier"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/confirmation_tokens/{confirmation_token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an existing ConfirmationToken object

*/ + get: operations["GetConfirmationTokensConfirmationToken"]; + 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 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/customer_sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources.

*/ + post: operations["PostCustomerSessions"]; + 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; + }; + /** + * @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"]; + 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; + }; + /** + * @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"]; + 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; + }; + /** + * @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"]; + 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; + }; + /** + * @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"]; + 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/entitlements/active_entitlements": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a list of active entitlements for a customer

*/ + get: operations["GetEntitlementsActiveEntitlements"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/entitlements/active_entitlements/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve an active entitlement

*/ + get: operations["GetEntitlementsActiveEntitlementsId"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/entitlements/features": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a list of features

*/ + get: operations["GetEntitlementsFeatures"]; + put?: never; + /** @description

Creates a feature

*/ + post: operations["PostEntitlementsFeatures"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/entitlements/features/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a feature

*/ + get: operations["GetEntitlementsFeaturesId"]; + put?: never; + /** @description

Update a feature’s metadata or permanently deactivate it.

*/ + post: operations["PostEntitlementsFeaturesId"]; + 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 if it was created in the last 30 days. 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/accounts/{account}/subscribe": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Subscribes to periodic refreshes of data associated with a Financial Connections Account.

*/ + post: operations["PostFinancialConnectionsAccountsAccountSubscribe"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/financial_connections/accounts/{account}/unsubscribe": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Unsubscribes from periodic refreshes of data associated with a Financial Connections Account.

*/ + post: operations["PostFinancialConnectionsAccountsAccountUnsubscribe"]; + 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/financial_connections/transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Financial Connections Transaction objects.

*/ + get: operations["GetFinancialConnectionsTransactions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/financial_connections/transactions/{transaction}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a Financial Connections Transaction

*/ + get: operations["GetFinancialConnectionsTransactionsTransaction"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/forwarding/requests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists all ForwardingRequest objects.

*/ + get: operations["GetForwardingRequests"]; + put?: never; + /** @description

Creates a ForwardingRequest object.

*/ + post: operations["PostForwardingRequests"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/forwarding/requests/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a ForwardingRequest object.

*/ + get: operations["GetForwardingRequestsId"]; + 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/create_preview": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: 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 the subscription_details.proration_date parameter when doing the actual subscription update. 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_details.proration_date value passed in the request.

+ * + *

Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. Learn more

*/ + post: operations["PostInvoicesCreatePreview"]; + 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 the subscription_details.proration_date parameter when doing the actual subscription update. 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_details.proration_date value passed in the request.

+ * + *

Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. Learn more

*/ + 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}/add_lines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.

*/ + post: operations["PostInvoicesInvoiceAddLines"]; + delete?: never; + 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}/lines/{line_item_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates an invoice’s line item. Some fields, such as tax_amounts, only live on the invoice line item, + * so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice + * item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well. + * Updating an invoice’s line item is only possible before the invoice is finalized.

*/ + post: operations["PostInvoicesInvoiceLinesLineItemId"]; + 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}/remove_lines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.

*/ + post: operations["PostInvoicesInvoiceRemoveLines"]; + 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}/update_lines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.

*/ + post: operations["PostInvoicesInvoiceUpdateLines"]; + 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.

+ * + *

Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you’re doing business in. You might need to issue another invoice or credit note instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.

*/ + 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; + /** + * @deprecated + * @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; + /** + * @deprecated + * @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/personalization_designs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

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

*/ + get: operations["GetIssuingPersonalizationDesigns"]; + put?: never; + /** @description

Creates a personalization design object.

*/ + post: operations["PostIssuingPersonalizationDesigns"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/issuing/personalization_designs/{personalization_design}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a personalization design object.

*/ + get: operations["GetIssuingPersonalizationDesignsPersonalizationDesign"]; + put?: never; + /** @description

Updates a card personalization object.

*/ + post: operations["PostIssuingPersonalizationDesignsPersonalizationDesign"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/issuing/physical_bundles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

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

*/ + get: operations["GetIssuingPhysicalBundles"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/issuing/physical_bundles/{physical_bundle}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a physical bundle object.

*/ + get: operations["GetIssuingPhysicalBundlesPhysicalBundle"]; + 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/tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists all Issuing Token objects for a given card.

*/ + get: operations["GetIssuingTokens"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/issuing/tokens/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an Issuing Token object.

*/ + get: operations["GetIssuingTokensToken"]; + put?: never; + /** @description

Attempts to update the specified Issuing Token object to the status specified.

*/ + post: operations["PostIssuingTokensToken"]; + 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.

*/ + 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 its status is pending. 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 manual and 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 active prices, excluding inline prices. For the list of inactive prices, set active to false.

*/ + 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/products/{product}/features": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a list of features for a product

*/ + get: operations["GetProductsProductFeatures"]; + put?: never; + /** @description

Creates a product_feature, which represents a feature attachment to a product

*/ + post: operations["PostProductsProductFeatures"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/products/{product}/features/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a product_feature, which represents a feature attachment to a product

*/ + get: operations["GetProductsProductFeaturesId"]; + put?: never; + post?: never; + /** @description

Deletes the feature attachment to a product

*/ + delete: operations["DeleteProductsProductFeaturesId"]; + 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. Explanation for special handling can be found here

*/ + 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 you create the SetupIntent, attach a payment method and confirm + * it 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

You can cancel a SetupIntent object when it’s in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.

+ * + *

After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can’t cancel the SetupIntent for a Checkout Session. Expire the Checkout Session instead.

*/ + 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 to match the specified parameters. + * When changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes. + * To preview how the proration is calculated, use the create preview endpoint.

+ * + *

By default, we prorate subscription changes. For example, if a customer signs up on May 1 for a 100 price, they’ll be billed 100 immediately. If on May 15 they switch to a 200 price, then on June 1 they’ll be billed 250 (200 for a renewal of her subscription, plus a 50 prorating adjustment for half of the previous month’s 100 difference). Similarly, a downgrade generates a credit that is applied to the next invoice. We also prorate when you make quantity changes.

+ * + *

Switching prices does not normally change the billing date or generate an immediate charge unless:

+ * + *
    + *
  • The billing interval is changed (for example, from monthly to yearly).
  • + *
  • The subscription moves from free to paid.
  • + *
  • A trial starts or ends.
  • + *
+ * + *

In these cases, we apply a credit for the unused time on the previous price, immediately charge the customer using the new price, and reset the billing date. Learn about how Stripe immediately attempts payment for subscription changes.

+ * + *

If you want to charge for an upgrade immediately, pass proration_behavior as always_invoice to create prorations, automatically invoice the customer for those proration adjustments, and attempt to collect payment. If you pass create_prorations, the prorations are created but not automatically invoiced. If you want to bill the customer for the prorations before the subscription’s renewal date, you need to manually invoice the customer.

+ * + *

If you don’t want to prorate, set the proration_behavior option to none. With this option, the customer is billed 100 on May 1 and 200 on June 1. Similarly, if you set proration_behavior to none when switching between different billing intervals (for example, from monthly to yearly), we don’t generate any credits for the old subscription’s unused time. We still reset the billing date and bill immediately for the new subscription.

+ * + *

Updating the quantity on a subscription many times in an hour may result in rate limiting. If you need to bill for a frequently changing quantity, consider integrating usage-based billing instead.

*/ + 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 the 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 tax calculation as a collection, if the calculation hasn’t expired.

*/ + get: operations["GetTaxCalculationsCalculationLineItems"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/tax/registrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Tax Registration objects.

*/ + get: operations["GetTaxRegistrations"]; + put?: never; + /** @description

Creates a new Tax Registration object.

*/ + post: operations["PostTaxRegistrations"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/tax/registrations/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a Tax Registration object.

*/ + get: operations["GetTaxRegistrationsId"]; + put?: never; + /** @description

Updates an existing Tax Registration object.

+ * + *

A registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting expires_at.

*/ + post: operations["PostTaxRegistrationsId"]; + 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, if that calculation hasn’t expired. Calculations expire after 90 days.

*/ + 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_ids": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of tax IDs.

*/ + get: operations["GetTaxIds"]; + put?: never; + /** @description

Creates a new account or customer tax_id object.

*/ + post: operations["PostTaxIds"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/tax_ids/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an account or customer tax_id object.

*/ + get: operations["GetTaxIdsId"]; + put?: never; + post?: never; + /** @description

Deletes an existing account or customer tax_id object.

*/ + delete: operations["DeleteTaxIdsId"]; + 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/confirmation_tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Creates a test mode Confirmation Token server side for your integration tests.

*/ + post: operations["PostTestHelpersConfirmationTokens"]; + 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}/finalize_amount": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount.

*/ + post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationFinalizeAmount"]; + 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/personalization_designs/{personalization_design}/activate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates the status of the specified testmode personalization design object to active.

*/ + post: operations["PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignActivate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates the status of the specified testmode personalization design object to inactive.

*/ + post: operations["PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignDeactivate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/reject": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates the status of the specified testmode personalization design object to rejected.

*/ + post: operations["PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignReject"]; + 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}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states.

*/ + post: operations["PostTestHelpersTreasuryOutboundPaymentsId"]; + 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}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states.

*/ + post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransfer"]; + 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 connected account where controller.requirement_collection is application, which includes Custom accounts.

*/ + 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: { + /** + * 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 accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) + * is `application`, which includes Custom accounts, the properties below are always + * returned. + * + * For accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) + * is `stripe`, which includes Standard and Express accounts, some properties are only returned + * until you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions) + * to start Connect Onboarding. Learn about the [differences between accounts](/connect/accounts). + */ + account: { + /** @description Business information about the account. */ + business_profile?: components["schemas"]["account_business_profile"] | null; + /** + * @description The business type. After you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property is only returned for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. + * @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. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to [an onboarding flow](/connect/onboarding) to finish submitting account details. */ + 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 are only returned for requests where `controller[is_controller]` is true. + */ + 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`, `custom`, or `none`. + * @enum {string} + */ + type?: "custom" | "express" | "none" | "standard"; + }; + /** AccountAnnualRevenue */ + account_annual_revenue: { + /** @description A non-negative integer representing the amount in the [smallest currency unit](/currencies#zero-decimal). */ + amount?: 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 The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. */ + fiscal_year_end?: string | null; + }; + /** AccountBacsDebitPaymentsSettings */ + account_bacs_debit_payments_settings: { + /** @description The Bacs Direct Debit display name for this account. For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps display it as the name of the business. To use custom branding, set the Bacs Direct Debit Display Name during or right after creation. Custom branding incurs an additional monthly fee for the platform. The fee appears 5 business days after requesting Bacs. If you don't set the display name before requesting Bacs capability, it's automatically set as "Stripe" and the account is onboarded to Stripe branding, which is free. */ + display_name?: string | null; + /** @description The Bacs Direct Debit Service user number for this account. For payments made with Bacs Direct Debit, this number is a unique identifier of the account with our banking partners. */ + service_user_number?: string | null; + }; + /** 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 applicant's gross annual revenue for its preceding fiscal year. */ + annual_revenue?: components["schemas"]["account_annual_revenue"] | null; + /** @description An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. */ + estimated_worker_count?: number | null; + /** @description [The merchant category code for the account](/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 AmazonPay capability of the account, or whether the account can directly process AmazonPay payments. + * @enum {string} + */ + amazon_pay_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 GB customer_balance payments (GBP currency) capability of the account, or whether the account can directly process GB customer_balance charges. + * @enum {string} + */ + gb_bank_transfer_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 Japanese customer_balance payments (JPY currency) capability of the account, or whether the account can directly process Japanese customer_balance charges. + * @enum {string} + */ + jp_bank_transfer_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 MobilePay capability of the account, or whether the account can directly process MobilePay charges. + * @enum {string} + */ + mobilepay_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Multibanco payments capability of the account, or whether the account can directly process Multibanco charges. + * @enum {string} + */ + multibanco_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Mexican customer_balance payments (MXN currency) capability of the account, or whether the account can directly process Mexican customer_balance charges. + * @enum {string} + */ + mx_bank_transfer_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 RevolutPay capability of the account, or whether the account can directly process RevolutPay payments. + * @enum {string} + */ + revolut_pay_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the SEPA customer_balance payments (EUR currency) capability of the account, or whether the account can directly process SEPA customer_balance charges. + * @enum {string} + */ + sepa_bank_transfer_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 Swish capability of the account, or whether the account can directly process Swish payments. + * @enum {string} + */ + swish_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 TWINT capability of the account, or whether the account can directly process TWINT charges. + * @enum {string} + */ + twint_payments?: "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 US customer_balance payments (USD currency) capability of the account, or whether the account can directly process US customer_balance charges. + * @enum {string} + */ + us_bank_transfer_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 an enum for consistency with `requirements.disabled_reason`, but it safe to assume `future_requirements.disabled_reason` is null because fields in `future_requirements` will never disable the account. + * @enum {string|null} + */ + disabled_reason?: "other" | "paused.inactivity" | "pending.onboarding" | "pending.review" | "platform_disabled" | "platform_paused" | "rejected.inactivity" | "rejected.other" | "rejected.unsupported_business" | "requirements.fields_needed" | 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 might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending. */ + 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 Description of why the capability is disabled. [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification). + * @enum {string|null} + */ + disabled_reason?: "other" | "paused.inactivity" | "pending.onboarding" | "pending.review" | "platform_disabled" | "platform_paused" | "rejected.inactivity" | "rejected.other" | "rejected.unsupported_business" | "requirements.fields_needed" | 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 might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending. */ + 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`. */ + 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 might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending. */ + pending_verification?: string[] | null; + }; + /** AccountInvoicesSettings */ + account_invoices_settings: { + /** @description The list of default Account Tax IDs to automatically include on invoices. Account Tax IDs get added when an invoice is finalized. */ + default_account_tax_ids?: (string | components["schemas"]["tax_id"])[] | 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](/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 [Understanding Connect account balances](/connect/account-balances) for details. The default value is `false` when [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes 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. [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification). Can be `action_required.requested_capabilities`, `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.incomplete_verification`, `rejected.listed`, `rejected.other`, `rejected.terms_of_service`, `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 might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending. */ + 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_address_highway_contract_box" | "invalid_address_private_mailbox" | "invalid_business_profile_name" | "invalid_business_profile_name_denylisted" | "invalid_company_name_denylisted" | "invalid_dob_age_over_maximum" | "invalid_dob_age_under_18" | "invalid_dob_age_under_minimum" | "invalid_product_description_length" | "invalid_product_description_url_match" | "invalid_representative_country" | "invalid_statement_descriptor_business_mismatch" | "invalid_statement_descriptor_denylisted" | "invalid_statement_descriptor_length" | "invalid_statement_descriptor_prefix_denylisted" | "invalid_statement_descriptor_prefix_mismatch" | "invalid_street_address" | "invalid_tax_id" | "invalid_tax_id_format" | "invalid_tos_acceptance" | "invalid_url_denylisted" | "invalid_url_format" | "invalid_url_web_presence_detected" | "invalid_url_website_business_information_mismatch" | "invalid_url_website_empty" | "invalid_url_website_inaccessible" | "invalid_url_website_inaccessible_geoblocked" | "invalid_url_website_inaccessible_password_protected" | "invalid_url_website_incomplete" | "invalid_url_website_incomplete_cancellation_policy" | "invalid_url_website_incomplete_customer_service_details" | "invalid_url_website_incomplete_legal_restrictions" | "invalid_url_website_incomplete_refund_policy" | "invalid_url_website_incomplete_return_policy" | "invalid_url_website_incomplete_terms_and_conditions" | "invalid_url_website_incomplete_under_construction" | "invalid_url_website_other" | "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_representative_authority" | "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" | "verification_requires_additional_proof_of_registration"; + /** @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"]; + invoices?: components["schemas"]["account_invoices_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: { + fees?: components["schemas"]["account_unification_account_controller_fees"]; + /** @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; + losses?: components["schemas"]["account_unification_account_controller_losses"]; + /** + * @description A value indicating responsibility for collecting requirements on this account. Only returned when the Connect application retrieving the resource controls the account. + * @enum {string} + */ + requirement_collection?: "application" | "stripe"; + stripe_dashboard?: components["schemas"]["account_unification_account_controller_stripe_dashboard"]; + /** + * @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"; + }; + /** AccountUnificationAccountControllerFees */ + account_unification_account_controller_fees: { + /** + * @description A value indicating the responsible payer of a bundle of Stripe fees for pricing-control eligible products on this account. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior). + * @enum {string} + */ + payer: "account" | "application" | "application_custom" | "application_express"; + }; + /** AccountUnificationAccountControllerLosses */ + account_unification_account_controller_losses: { + /** + * @description A value indicating who is liable when this account can't pay back negative balances from payments. + * @enum {string} + */ + payments: "application" | "stripe"; + }; + /** AccountUnificationAccountControllerStripeDashboard */ + account_unification_account_controller_stripe_dashboard: { + /** + * @description A value indicating the Stripe dashboard this account has access to independent of the Connect application. + * @enum {string} + */ + type: "express" | "full" | "none"; + }; + /** 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 Polymorphic source of the application fee. Includes the ID of the object the application fee was created from. */ + fee_source?: components["schemas"]["platform_earning_fee_source"] | 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: "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 account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. */ + liability?: components["schemas"]["connect_account_reference"] | null; + /** + * @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 accounts where [account.controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes 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_net"][]; + 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; + }; + /** BalanceAmountNet */ + balance_amount_net: { + /** @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; + /** @description Breakdown of balance by destination. */ + net_available?: components["schemas"]["balance_net_available"][]; + source_types?: components["schemas"]["balance_amount_by_source_type"]; + }; + /** BalanceDetail */ + balance_detail: { + /** @description Funds that are available for use. */ + available: components["schemas"]["balance_amount"][]; + }; + /** BalanceNetAvailable */ + balance_net_available: { + /** @description Net balance amount, subtracting fees from platform-set pricing. */ + amount: number; + /** @description ID of the external account for this net balance (not expandable). */ + destination: string; + source_types?: components["schemas"]["balance_amount_by_source_type"]; + }; + /** + * 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 this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party. */ + 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. Represented as a positive integer when assessed. */ + 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 impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by `amount` - `fee` */ + 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"]["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`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `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" | "climate_order_purchase" | "climate_order_refund" | "connect_collection_transfer" | "contribution" | "issuing_authorization_hold" | "issuing_authorization_release" | "issuing_dispute" | "issuing_transaction" | "obligation_outbound" | "obligation_reversal_inbound" | "payment" | "payment_failure_refund" | "payment_network_reserve_hold" | "payment_network_reserve_release" | "payment_refund" | "payment_reversal" | "payment_unreconciled" | "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](/api#external_accounts) are transfer + * destinations on `Account` objects for connected accounts. + * They can be bank accounts or debit cards as well, and are documented in the links above. + * + * Related guide: [Bank debits and transfers](/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 payout sent to this bank account fails, we'll set the status to `errored` and will not continue to send [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) until the bank details are updated. + * + * For external accounts, possible values are `new`, `errored` and `verification_failed`. If a payout fails, the status is set to `errored` and scheduled payouts are stopped until account details are updated. In the US and 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, before subtracting any outbound pending transactions or adding any inbound pending transactions. + * + * 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 after subtracting any outbound pending transactions and adding any inbound pending transactions. + * + * 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; + /** + * Format: unix-time + * @description Time at which the next balance refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch. + */ + next_refresh_available_at?: number | null; + /** + * @description The status of the last refresh attempt. + * @enum {string} + */ + status: "failed" | "pending" | "succeeded"; + }; + /** BankConnectionsResourceLinkAccountSessionFilters */ + bank_connections_resource_link_account_session_filters: { + /** @description Restricts the Session to subcategories of accounts that can be linked. Valid subcategories are: `checking`, `savings`, `mortgage`, `line_of_credit`, `credit_card`. */ + account_subcategories?: ("checking" | "credit_card" | "line_of_credit" | "mortgage" | "savings")[] | null; + /** @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; + /** + * Format: unix-time + * @description Time at which the next ownership refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch. + */ + next_refresh_available_at?: number | null; + /** + * @description The status of the last refresh attempt. + * @enum {string} + */ + status: "failed" | "pending" | "succeeded"; + }; + /** BankConnectionsResourceTransactionRefresh */ + bank_connections_resource_transaction_refresh: { + /** @description Unique identifier for the object. */ + id: string; + /** + * 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; + /** + * Format: unix-time + * @description Time at which the next transaction refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch. + */ + next_refresh_available_at?: number | null; + /** + * @description The status of the last refresh attempt. + * @enum {string} + */ + status: "failed" | "pending" | "succeeded"; + }; + /** BankConnectionsResourceTransactionResourceStatusTransitions */ + bank_connections_resource_transaction_resource_status_transitions: { + /** + * Format: unix-time + * @description Time at which this transaction posted. Measured in seconds since the Unix epoch. + */ + posted_at?: number | null; + /** + * Format: unix-time + * @description Time at which this transaction was voided. Measured in seconds since the Unix epoch. + */ + void_at?: number | null; + }; + /** + * BillingMeter + * @description A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then attach the billing meter to a price and attach the price to a subscription to charge the user for the number of API calls they make. + */ + "billing.meter": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + customer_mapping: components["schemas"]["billing_meter_resource_customer_mapping_settings"]; + default_aggregation: components["schemas"]["billing_meter_resource_aggregation_settings"]; + /** @description The meter's name. */ + display_name: string; + /** @description The name of the meter event to record usage for. Corresponds with the `event_name` field on meter events. */ + event_name: string; + /** + * @description The time window to pre-aggregate meter events for, if any. + * @enum {string|null} + */ + event_time_window?: "day" | "hour" | 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: "billing.meter"; + /** + * @description The meter's status. + * @enum {string} + */ + status: "active" | "inactive"; + status_transitions: components["schemas"]["billing_meter_resource_billing_meter_status_transitions"]; + /** + * Format: unix-time + * @description Time at which the object was last updated. Measured in seconds since the Unix epoch. + */ + updated: number; + value_settings: components["schemas"]["billing_meter_resource_billing_meter_value"]; + }; + /** + * BillingMeterEvent + * @description A billing meter event represents a customer's usage of a product. Meter events are used to bill a customer based on their usage. + * Meter events are associated with billing meters, which define the shape of the event's payload and how those events are aggregated for billing. + */ + "billing.meter_event": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The name of the meter event. Corresponds with the `event_name` field on a meter. */ + event_name: string; + /** @description A unique identifier for the event. */ + identifier: 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: "billing.meter_event"; + /** @description The payload of the event. This contains the fields corresponding to a meter's `customer_mapping.event_payload_key` (default is `stripe_customer_id`) and `value_settings.event_payload_key` (default is `value`). Read more about the [payload](https://stripe.com/docs/billing/subscriptions/usage-based/recording-usage#payload-key-overrides). */ + payload: { + [key: string]: string; + }; + /** + * Format: unix-time + * @description The timestamp passed in when creating the event. Measured in seconds since the Unix epoch. + */ + timestamp: number; + }; + /** + * BillingMeterEventAdjustment + * @description A billing meter event adjustment is a resource that allows you to cancel a meter event. For example, you might create a billing meter event adjustment to cancel a meter event that was created in error or attached to the wrong customer. + */ + "billing.meter_event_adjustment": { + /** @description Specifies which event to cancel. */ + cancel?: components["schemas"]["billing_meter_resource_billing_meter_event_adjustment_cancel"] | null; + /** @description The name of the meter event. Corresponds with the `event_name` field on a meter. */ + event_name: 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: "billing.meter_event_adjustment"; + /** + * @description The meter event adjustment's status. + * @enum {string} + */ + status: "complete" | "pending"; + /** + * @description Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. + * @enum {string} + */ + type: "cancel"; + }; + /** + * BillingMeterEventSummary + * @description A billing meter event summary represents an aggregated view of a customer's billing meter events within a specified timeframe. It indicates how much + * usage was accrued by a customer for that period. + */ + "billing.meter_event_summary": { + /** @description Aggregated value of all the events within `start_time` (inclusive) and `end_time` (inclusive). The aggregation strategy is defined on meter via `default_aggregation`. */ + aggregated_value: number; + /** + * Format: unix-time + * @description End timestamp for this event summary (exclusive). Must be aligned with minute boundaries. + */ + end_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 meter associated with this event summary. */ + meter: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "billing.meter_event_summary"; + /** + * Format: unix-time + * @description Start timestamp for this event summary (inclusive). Must be aligned with minute boundaries. + */ + start_time: number; + }; + /** 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; + }; + /** BillingMeterResourceAggregationSettings */ + billing_meter_resource_aggregation_settings: { + /** + * @description Specifies how events are aggregated. + * @enum {string} + */ + formula: "count" | "sum"; + }; + /** BillingMeterResourceBillingMeterEventAdjustmentCancel */ + billing_meter_resource_billing_meter_event_adjustment_cancel: { + /** @description Unique identifier for the event. */ + identifier?: string | null; + }; + /** BillingMeterResourceBillingMeterStatusTransitions */ + billing_meter_resource_billing_meter_status_transitions: { + /** + * Format: unix-time + * @description The time the meter was deactivated, if any. Measured in seconds since Unix epoch. + */ + deactivated_at?: number | null; + }; + /** BillingMeterResourceBillingMeterValue */ + billing_meter_resource_billing_meter_value: { + /** @description The key in the meter event payload to use as the value for this meter. */ + event_payload_key: string; + }; + /** BillingMeterResourceCustomerMappingSettings */ + billing_meter_resource_customer_mapping_settings: { + /** @description The key in the meter event payload to use for mapping the event to a customer. */ + event_payload_key: string; + /** + * @description The method for mapping a meter event to a customer. + * @enum {string} + */ + type: "by_id"; + }; + /** + * 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. + * + * Related guide: [Customer management](/customer-management) + */ + "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#settlement-merchant). 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. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ + 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. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ + 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. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ + 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; + networks?: components["schemas"]["token_card_networks"]; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "card"; + /** @description For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) 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#collect-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#collect-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. This only works for card payments. */ + 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. Defaults to `auto`. + * @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 Client secret to be used when initializing Stripe.js embedded checkout. */ + client_secret?: 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 [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing) sessions */ + currency_conversion?: components["schemas"]["payment_pages_checkout_session_currency_conversion"] | null; + /** @description Collect additional information from your customer using custom fields. Up to 3 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. Customer's address details are not 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. You can't confirm or cancel the PaymentIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead. */ + 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. Defaults to `always`. + * @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 This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) of embedded sessions. Defaults to `always`. + * @enum {string} + */ + redirect_on_completion?: "always" | "if_required" | "never"; + /** @description Applies to Checkout Sessions with `ui_mode: embedded`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. */ + return_url?: string; + /** @description Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode. */ + saved_payment_method_options?: components["schemas"]["payment_pages_checkout_session_saved_payment_method_options"] | null; + /** @description The ID of the SetupIntent for Checkout Sessions in `setup` mode. You can't confirm or cancel the SetupIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead. */ + 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. If blank or `auto`, `pay` is used. + * @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 UI mode of the Session. Defaults to `hosted`. + * @enum {string|null} + */ + ui_mode?: "embedded" | "hosted" | 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** CheckoutAmazonPayPaymentMethodOptions */ + checkout_amazon_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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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 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. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. + * @enum {string} + */ + request_three_d_secure: "any" | "automatic" | "challenge"; + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** CheckoutMobilepayPaymentMethodOptions */ + checkout_mobilepay_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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** CheckoutMultibancoPaymentMethodOptions */ + checkout_multibanco_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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** CheckoutPaypalPaymentMethodOptions */ + checkout_paypal_payment_method_options: { + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** CheckoutPixPaymentMethodOptions */ + checkout_pix_payment_method_options: { + /** @description The number of seconds after which Pix payment will expire. */ + expires_after_seconds?: number | null; + }; + /** CheckoutRevolutPayPaymentMethodOptions */ + checkout_revolut_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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"]; + amazon_pay?: components["schemas"]["checkout_amazon_pay_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"]; + mobilepay?: components["schemas"]["checkout_mobilepay_payment_method_options"]; + multibanco?: components["schemas"]["checkout_multibanco_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"]; + paypal?: components["schemas"]["checkout_paypal_payment_method_options"]; + pix?: components["schemas"]["checkout_pix_payment_method_options"]; + revolut_pay?: components["schemas"]["checkout_revolut_pay_payment_method_options"]; + sepa_debit?: components["schemas"]["checkout_sepa_debit_payment_method_options"]; + sofort?: components["schemas"]["checkout_sofort_payment_method_options"]; + swish?: components["schemas"]["checkout_swish_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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** CheckoutSwishPaymentMethodOptions */ + checkout_swish_payment_method_options: { + /** @description The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent. */ + reference?: string | null; + }; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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"; + }; + /** + * ClimateRemovalsOrders + * @description Orders represent your intent to purchase a particular Climate product. When you create an order, the + * payment is deducted from your merchant balance. + */ + "climate.order": { + /** @description Total amount of [Frontier](https://frontierclimate.com/)'s service fees in the currency's smallest unit. */ + amount_fees: number; + /** @description Total amount of the carbon removal in the currency's smallest unit. */ + amount_subtotal: number; + /** @description Total amount of the order including fees in the currency's smallest unit. */ + amount_total: number; + beneficiary?: components["schemas"]["climate_removals_beneficiary"]; + /** + * Format: unix-time + * @description Time at which the order was canceled. Measured in seconds since the Unix epoch. + */ + canceled_at?: number | null; + /** + * @description Reason for the cancellation of this order. + * @enum {string|null} + */ + cancellation_reason?: "expired" | "product_unavailable" | "requested" | null; + /** @description For delivered orders, a URL to a delivery certificate for the order. */ + certificate?: string | null; + /** + * Format: unix-time + * @description Time at which the order was confirmed. Measured in seconds since the Unix epoch. + */ + confirmed_at?: number | 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, representing the currency for this order. */ + currency: string; + /** + * Format: unix-time + * @description Time at which the order's expected_delivery_year was delayed. Measured in seconds since the Unix epoch. + */ + delayed_at?: number | null; + /** + * Format: unix-time + * @description Time at which the order was delivered. Measured in seconds since the Unix epoch. + */ + delivered_at?: number | null; + /** @description Details about the delivery of carbon removal for this order. */ + delivery_details: components["schemas"]["climate_removals_order_deliveries"][]; + /** @description The year this order is expected to be delivered. */ + expected_delivery_year: 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; + }; + /** + * Format: decimal + * @description Quantity of carbon removal that is included in this order. + */ + metric_tons: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "climate.order"; + /** @description Unique ID for the Climate `Product` this order is purchasing. */ + product: string | components["schemas"]["climate.product"]; + /** + * Format: unix-time + * @description Time at which the order's product was substituted for a different product. Measured in seconds since the Unix epoch. + */ + product_substituted_at?: number | null; + /** + * @description The current status of this order. + * @enum {string} + */ + status: "awaiting_funds" | "canceled" | "confirmed" | "delivered" | "open"; + }; + /** + * ClimateRemovalsProducts + * @description A Climate product represents a type of carbon removal unit available for reservation. + * You can retrieve it to see the current price and availability. + */ + "climate.product": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Current prices for a metric ton of carbon removal in a currency's smallest unit. */ + current_prices_per_metric_ton: { + [key: string]: components["schemas"]["climate_removals_products_price"]; + }; + /** @description The year in which the carbon removal is expected to be delivered. */ + delivery_year?: number | null; + /** @description Unique identifier for the object. For convenience, Climate product IDs are human-readable strings + * that start with `climsku_`. See [carbon removal inventory](https://stripe.com/docs/climate/orders/carbon-removal-inventory) + * for a list of available carbon removal products. */ + 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; + /** + * Format: decimal + * @description The quantity of metric tons available for reservation. + */ + metric_tons_available: string; + /** @description The Climate product's name. */ + name: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "climate.product"; + /** @description The carbon removal suppliers that fulfill orders for this Climate product. */ + suppliers: components["schemas"]["climate.supplier"][]; + }; + /** + * ClimateRemovalsSuppliers + * @description A supplier of carbon removal. + */ + "climate.supplier": { + /** @description Unique identifier for the object. */ + id: string; + /** @description Link to a webpage to learn more about the supplier. */ + info_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 locations in which this supplier operates. */ + locations: components["schemas"]["climate_removals_location"][]; + /** @description Name of this carbon removal supplier. */ + name: string; + /** + * @description String representing the object’s type. Objects of the same type share the same value. + * @enum {string} + */ + object: "climate.supplier"; + /** + * @description The scientific pathway used for carbon removal. + * @enum {string} + */ + removal_pathway: "biomass_carbon_removal_and_storage" | "direct_air_capture" | "enhanced_weathering"; + }; + /** ClimateRemovalsBeneficiary */ + climate_removals_beneficiary: { + /** @description Publicly displayable name for the end beneficiary of carbon removal. */ + public_name: string; + }; + /** ClimateRemovalsLocation */ + climate_removals_location: { + /** @description The city where the supplier is located. */ + city?: string | null; + /** @description Two-letter ISO code representing the country where the supplier is located. */ + country: string; + /** @description The geographic latitude where the supplier is located. */ + latitude?: number | null; + /** @description The geographic longitude where the supplier is located. */ + longitude?: number | null; + /** @description The state/county/province/region where the supplier is located. */ + region?: string | null; + }; + /** + * ClimateRemovalsOrderDeliveries + * @description The delivery of a specified quantity of carbon for an order. + */ + climate_removals_order_deliveries: { + /** + * Format: unix-time + * @description Time at which the delivery occurred. Measured in seconds since the Unix epoch. + */ + delivered_at: number; + /** @description Specific location of this delivery. */ + location?: components["schemas"]["climate_removals_location"] | null; + /** @description Quantity of carbon removal supplied by this delivery. */ + metric_tons: string; + /** @description Once retired, a URL to the registry entry for the tons from this delivery. */ + registry_url?: string | null; + supplier: components["schemas"]["climate.supplier"]; + }; + /** ClimateRemovalsProductsPrice */ + climate_removals_products_price: { + /** @description Fees for one metric ton of carbon removal in the currency's smallest unit. */ + amount_fees: number; + /** @description Subtotal for one metric ton of carbon removal (excluding fees) in the currency's smallest unit. */ + amount_subtotal: number; + /** @description Total for one metric ton of carbon removal (including fees) in the currency's smallest unit. */ + amount_total: number; + }; + /** + * ConfirmationTokensResourceConfirmationToken + * @description ConfirmationTokens help transport client side data collected by Stripe JS over + * to your server for confirming a PaymentIntent or SetupIntent. If the confirmation + * is successful, values present on the ConfirmationToken are written onto the Intent. + * + * To learn more about how to use ConfirmationToken, visit the related guides: + * - [Finalize payments on the server](https://stripe.com/docs/payments/finalize-payments-on-the-server) + * - [Build two-step confirmation](https://stripe.com/docs/payments/build-a-two-step-confirmation). + */ + confirmation_token: { + /** + * 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 ConfirmationToken expires and can no longer be used to confirm a PaymentIntent or SetupIntent. + */ + 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 Data used for generating a Mandate. */ + mandate_data?: components["schemas"]["confirmation_tokens_resource_mandate_data"] | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "confirmation_token"; + /** @description ID of the PaymentIntent that this ConfirmationToken was used to confirm, or null if this ConfirmationToken has not yet been used. */ + payment_intent?: string | null; + /** @description Payment-method-specific configuration for this ConfirmationToken. */ + payment_method_options?: components["schemas"]["confirmation_tokens_resource_payment_method_options"] | null; + /** @description Payment details collected by the Payment Element, used to create a PaymentMethod when a PaymentIntent or SetupIntent is confirmed with this ConfirmationToken. */ + payment_method_preview?: components["schemas"]["confirmation_tokens_resource_payment_method_preview"] | null; + /** @description Return URL used to confirm the Intent. */ + return_url?: string | null; + /** + * @description Indicates that you intend to make future payments with this ConfirmationToken's payment method. + * + * The presence of this property 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. + * @enum {string|null} + */ + setup_future_usage?: "off_session" | "on_session" | null; + /** @description ID of the SetupIntent that this ConfirmationToken was used to confirm, or null if this ConfirmationToken has not yet been used. */ + setup_intent?: string | null; + /** @description Shipping information collected on this ConfirmationToken. */ + shipping?: components["schemas"]["confirmation_tokens_resource_shipping"] | null; + /** @description Indicates whether the Stripe SDK is used to handle confirmation flow. Defaults to `true` on ConfirmationToken. */ + use_stripe_sdk: boolean; + }; + /** + * ConfirmationTokensResourceMandateData + * @description Data used for generating a Mandate. + */ + confirmation_tokens_resource_mandate_data: { + customer_acceptance: components["schemas"]["confirmation_tokens_resource_mandate_data_resource_customer_acceptance"]; + }; + /** + * ConfirmationTokensResourceMandateDataResourceCustomerAcceptance + * @description This hash contains details about the customer acceptance of the Mandate. + */ + confirmation_tokens_resource_mandate_data_resource_customer_acceptance: { + /** @description If this is a Mandate accepted online, this hash contains details about the online acceptance. */ + online?: components["schemas"]["confirmation_tokens_resource_mandate_data_resource_customer_acceptance_resource_online"] | null; + /** @description The type of customer acceptance information included with the Mandate. */ + type: string; + }; + /** + * ConfirmationTokensResourceMandateDataResourceCustomerAcceptanceResourceOnline + * @description This hash contains details about the online acceptance. + */ + confirmation_tokens_resource_mandate_data_resource_customer_acceptance_resource_online: { + /** @description The IP address from which the Mandate was accepted by the customer. */ + ip_address?: string | null; + /** @description The user agent of the browser from which the Mandate was accepted by the customer. */ + user_agent?: string | null; + }; + /** + * ConfirmationTokensResourcePaymentMethodOptions + * @description Payment-method-specific configuration + */ + confirmation_tokens_resource_payment_method_options: { + /** @description This hash contains the card payment method options. */ + card?: components["schemas"]["confirmation_tokens_resource_payment_method_options_resource_card"] | null; + }; + /** + * ConfirmationTokensResourcePaymentMethodOptionsResourceCard + * @description This hash contains the card payment method options. + */ + confirmation_tokens_resource_payment_method_options_resource_card: { + /** @description The `cvc_update` Token collected from the Payment Element. */ + cvc_token?: string | null; + }; + /** + * ConfirmationTokensResourcePaymentMethodPreview + * @description Details of the PaymentMethod collected by Payment Element + */ + confirmation_tokens_resource_payment_method_preview: { + 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"]; + /** + * @description This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”. + * @enum {string} + */ + allow_redisplay?: "always" | "limited" | "unspecified"; + amazon_pay?: components["schemas"]["payment_method_amazon_pay"]; + 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"]; + /** @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"]; + 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"]; + mobilepay?: components["schemas"]["payment_method_mobilepay"]; + multibanco?: components["schemas"]["payment_method_multibanco"]; + 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"]; + revolut_pay?: components["schemas"]["payment_method_revolut_pay"]; + sepa_debit?: components["schemas"]["payment_method_sepa_debit"]; + sofort?: components["schemas"]["payment_method_sofort"]; + swish?: components["schemas"]["payment_method_swish"]; + twint?: components["schemas"]["payment_method_twint"]; + /** + * @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" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "card_present" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "interac_present" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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"]; + }; + /** ConfirmationTokensResourceShipping */ + confirmation_tokens_resource_shipping: { + address: components["schemas"]["address"]; + /** @description Recipient name. */ + name: string; + /** @description Recipient phone (including extension). */ + phone?: string | null; + }; + /** ConnectAccountReference */ + connect_account_reference: { + /** @description The connected account being referenced when `type` is `account`. */ + account?: string | components["schemas"]["account"]; + /** + * @description Type of the account referenced. + * @enum {string} + */ + type: "account" | "self"; + }; + /** 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"; + }; + /** ConnectEmbeddedAccountConfigClaim */ + connect_embedded_account_config_claim: { + /** @description Whether the embedded component is enabled. */ + enabled: boolean; + features: components["schemas"]["connect_embedded_account_features_claim"]; + }; + /** ConnectEmbeddedAccountFeaturesClaim */ + connect_embedded_account_features_claim: { + /** @description Whether to allow platforms to control bank account collection for their connected accounts. This feature can only be false for custom accounts (or accounts where the platform is compliance owner). Otherwise, bank account collection is determined by compliance requirements. */ + external_account_collection: boolean; + }; + /** ConnectEmbeddedAccountSessionCreateComponents */ + connect_embedded_account_session_create_components: { + account_management: components["schemas"]["connect_embedded_account_config_claim"]; + account_onboarding: components["schemas"]["connect_embedded_account_config_claim"]; + balances: components["schemas"]["connect_embedded_payouts_config_claim"]; + documents: components["schemas"]["connect_embedded_base_config_claim"]; + notification_banner: components["schemas"]["connect_embedded_account_config_claim"]; + payment_details: components["schemas"]["connect_embedded_payments_config_claim"]; + payments: components["schemas"]["connect_embedded_payments_config_claim"]; + payouts: components["schemas"]["connect_embedded_payouts_config_claim"]; + payouts_list: components["schemas"]["connect_embedded_base_config_claim"]; + tax_registrations: components["schemas"]["connect_embedded_base_config_claim"]; + tax_settings: components["schemas"]["connect_embedded_base_config_claim"]; + }; + /** ConnectEmbeddedBaseConfigClaim */ + connect_embedded_base_config_claim: { + /** @description Whether the embedded component is enabled. */ + enabled: boolean; + features: components["schemas"]["connect_embedded_base_features"]; + }; + /** ConnectEmbeddedBaseFeatures */ + connect_embedded_base_features: Record; + /** ConnectEmbeddedPaymentsConfigClaim */ + connect_embedded_payments_config_claim: { + /** @description Whether the embedded component is enabled. */ + enabled: boolean; + features: components["schemas"]["connect_embedded_payments_features"]; + }; + /** ConnectEmbeddedPaymentsFeatures */ + connect_embedded_payments_features: { + /** @description Whether to allow capturing and cancelling payment intents. This is `true` by default. */ + capture_payments: boolean; + /** @description Whether to allow connected accounts to manage destination charges that are created on behalf of them. This is `false` by default. */ + destination_on_behalf_of_charge_management: boolean; + /** @description Whether to allow responding to disputes, including submitting evidence and accepting disputes. This is `true` by default. */ + dispute_management: boolean; + /** @description Whether to allow sending refunds. This is `true` by default. */ + refund_management: boolean; + }; + /** ConnectEmbeddedPayoutsConfigClaim */ + connect_embedded_payouts_config_claim: { + /** @description Whether the embedded component is enabled. */ + enabled: boolean; + features: components["schemas"]["connect_embedded_payouts_features"]; + }; + /** ConnectEmbeddedPayoutsFeatures */ + connect_embedded_payouts_features: { + /** @description Whether to allow payout schedule to be changed. Default `true` when Stripe owns Loss Liability, default `false` otherwise. */ + edit_payout_schedule: boolean; + /** @description Whether to allow platforms to control bank account collection for their connected accounts. This feature can only be false for custom accounts (or accounts where the platform is compliance owner). Otherwise, bank account collection is determined by compliance requirements. */ + external_account_collection: boolean; + /** @description Whether to allow creation of instant payouts. Default `true` when Stripe owns Loss Liability, default `false` otherwise. */ + instant_payouts: boolean; + /** @description Whether to allow creation of standard payouts. Default `true` when Stripe owns Loss Liability, default `false` otherwise. */ + standard_payouts: 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_resource_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 Tracks the most recent state change on any invoice belonging to the customer. Paying an invoice or marking it uncollectible via the API will set this field to false. An automatic payment failure or passing the `invoice.due_date` will set this field to `true`. + * + * If an invoice becomes uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't reset to `false`. + * + * If you care whether the customer has paid their most recent subscription invoice, use `subscription.status` instead. Paying or marking uncollectible any customer invoice regardless of whether it is the latest invoice for a subscription will always set this field 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). When the account uses account level sequencing, this parameter is ignored in API requests and the field omitted in API responses. */ + 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](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"]; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceTransferredToBalance */ + customer_balance_resource_cash_balance_transaction_resource_transferred_to_balance: { + /** @description The [Balance Transaction](https://stripe.com/docs/api/balance_transactions/object) that corresponds to funds transferred to your Stripe balance. */ + balance_transaction: string | components["schemas"]["balance_transaction"]; + }; + /** 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"]; + transferred_to_balance?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_transferred_to_balance"]; + /** + * @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" | "transferred_to_balance" | "unapplied_from_payment"; + unapplied_from_payment?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_unapplied_from_payment_transaction"]; + }; + /** + * CustomerSessionResourceCustomerSession + * @description A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access + * control over a Customer. + */ + customer_session: { + /** @description The client secret of this Customer Session. Used on the client to set up secure access to the given `customer`. + * + * The client secret can be used to provide access to `customer` from your frontend. It should not be stored, logged, or exposed to anyone other than the relevant customer. Make sure that you have TLS enabled on any page that includes the client secret. */ + client_secret: string; + components?: components["schemas"]["customer_session_resource_components"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The Customer the Customer Session was created for. */ + customer: string | components["schemas"]["customer"]; + /** + * Format: unix-time + * @description The timestamp at which this Customer Session 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: "customer_session"; + }; + /** + * CustomerSessionResourceComponents + * @description Configuration for the components supported by this Customer Session. + */ + customer_session_resource_components: { + buy_button: components["schemas"]["customer_session_resource_components_resource_buy_button"]; + payment_element: components["schemas"]["customer_session_resource_components_resource_payment_element"]; + pricing_table: components["schemas"]["customer_session_resource_components_resource_pricing_table"]; + }; + /** + * CustomerSessionResourceComponentsResourceBuyButton + * @description This hash contains whether the buy button is enabled. + */ + customer_session_resource_components_resource_buy_button: { + /** @description Whether the buy button is enabled. */ + enabled: boolean; + }; + /** + * CustomerSessionResourceComponentsResourcePaymentElement + * @description This hash contains whether the Payment Element is enabled and the features it supports. + */ + customer_session_resource_components_resource_payment_element: { + /** @description Whether the Payment Element is enabled. */ + enabled: boolean; + /** @description This hash defines whether the Payment Element supports certain features. */ + features?: components["schemas"]["customer_session_resource_components_resource_payment_element_resource_features"] | null; + }; + /** + * CustomerSessionResourceComponentsResourcePaymentElementResourceFeatures + * @description This hash contains the features the Payment Element supports. + */ + customer_session_resource_components_resource_payment_element_resource_features: { + /** @description A list of [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) values that controls which saved payment methods the Payment Element displays by filtering to only show payment methods with an `allow_redisplay` value that is present in this list. + * + * If not specified, defaults to ["always"]. In order to display all saved payment methods, specify ["always", "limited", "unspecified"]. */ + payment_method_allow_redisplay_filters: ("always" | "limited" | "unspecified")[]; + /** + * @description Controls whether or not the Payment Element shows saved payment methods. This parameter defaults to `disabled`. + * @enum {string} + */ + payment_method_redisplay: "disabled" | "enabled"; + /** @description Determines the max number of saved payment methods for the Payment Element to display. This parameter defaults to `10`. */ + payment_method_redisplay_limit?: number | null; + /** + * @description Controls whether the Payment Element displays the option to remove a saved payment method. This parameter defaults to `disabled`. + * + * Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the [`customer` object](https://docs.stripe.com/api/payment_methods/object#payment_method_object-customer) from that [PaymentMethod](https://docs.stripe.com/api/payment_methods). + * @enum {string} + */ + payment_method_remove: "disabled" | "enabled"; + /** + * @description Controls whether the Payment Element displays a checkbox offering to save a new payment method. This parameter defaults to `disabled`. + * + * If a customer checks the box, the [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) value on the PaymentMethod is set to `'always'` at confirmation time. For PaymentIntents, the [`setup_future_usage`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-setup_future_usage) value is also set to the value defined in `payment_method_save_usage`. + * @enum {string} + */ + payment_method_save: "disabled" | "enabled"; + /** + * @description When using PaymentIntents and the customer checks the save checkbox, this field determines the [`setup_future_usage`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-setup_future_usage) value used to confirm the PaymentIntent. + * + * When using SetupIntents, directly configure the [`usage`](https://docs.stripe.com/api/setup_intents/object#setup_intent_object-usage) value on SetupIntent creation. + * @enum {string|null} + */ + payment_method_save_usage?: "off_session" | "on_session" | null; + }; + /** + * CustomerSessionResourceComponentsResourcePricingTable + * @description This hash contains whether the pricing table is enabled. + */ + customer_session_resource_components_resource_pricing_table: { + /** @description Whether the pricing table is enabled. */ + enabled: boolean; + }; + /** 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; + /** @description The subscription item that this coupon is applied to, if it is applied to a particular subscription item. */ + subscription_item?: 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"; + }; + /** DeletedProductFeature */ + deleted_product_feature: { + /** + * @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_feature"; + }; + /** 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"; + }; + /** destination_details_unimplemented */ + destination_details_unimplemented: Record; + /** + * 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; + /** @description The subscription item that this coupon is applied to, if it is applied to a particular subscription item. */ + subscription_item?: 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"]; + }; + /** DiscountsResourceStackableDiscount */ + discounts_resource_stackable_discount: { + /** @description ID of the coupon to create a new discount for. */ + coupon?: (string | components["schemas"]["coupon"]) | null; + /** @description ID of an existing discount on the object (or one of its ancestors) to reuse. */ + discount?: (string | components["schemas"]["discount"]) | null; + /** @description ID of the promotion code to create a new discount for. */ + promotion_code?: (string | components["schemas"]["promotion_code"]) | null; + }; + /** + * 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: { + card?: components["schemas"]["dispute_payment_method_details_card"]; + klarna?: components["schemas"]["dispute_payment_method_details_klarna"]; + paypal?: components["schemas"]["dispute_payment_method_details_paypal"]; + /** + * @description Payment method type. + * @enum {string} + */ + type: "card" | "klarna" | "paypal"; + }; + /** 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 type of dispute opened. Different case types may have varying fees and financial impact. + * @enum {string} + */ + case_type: "chargeback" | "inquiry"; + /** @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; + }; + /** DisputePaymentMethodDetailsKlarna */ + dispute_payment_method_details_klarna: { + /** @description The reason for the dispute as defined by Klarna */ + reason_code?: string | null; + }; + /** DisputePaymentMethodDetailsPaypal */ + dispute_payment_method_details_paypal: { + /** @description The ID of the dispute in PayPal. */ + case_id?: string | null; + /** @description The reason for the dispute as defined by PayPal */ + 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; + }; + /** + * ActiveEntitlement + * @description An active entitlement describes access to a feature for a customer. + */ + "entitlements.active_entitlement": { + /** @description The [Feature](https://stripe.com/docs/api/entitlements/feature) that the customer is entitled to. */ + feature: string | components["schemas"]["entitlements.feature"]; + /** @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 unique key you provide as your own system identifier. This may be up to 80 characters. */ + lookup_key: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "entitlements.active_entitlement"; + }; + /** + * Feature + * @description A feature represents a monetizable ability or functionality in your system. + * Features can be assigned to products, and when those products are purchased, Stripe will create an entitlement to the feature for the purchasing customer. + */ + "entitlements.feature": { + /** @description Inactive features cannot be attached to new products and will not be returned from the features list endpoint. */ + active: boolean; + /** @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 unique key you provide as your own system identifier. This may be up to 80 characters. */ + lookup_key: string; + /** @description Set of key-value pairs 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 feature's name, for your own purpose, not 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: "entitlements.feature"; + }; + /** 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](https://docs.stripe.com/webhooks) + * so that your integration can automatically trigger reactions. + * + * When using [Connect](https://docs.stripe.com/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 `ExchangeRate` 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). + * + * Please refer to our [Exchange Rates API](https://stripe.com/docs/fx-rates) guide for more details. + * + * *[Note: this integration path is supported but no longer recommended]* Additionally, + * you can guarantee that a charge is made with an exchange rate that you expect is + * current. To do so, you must pass in the exchange_rate to charges endpoints. If the + * value is no longer up to date, the charge won't go through. Please refer to our + * [Using with charges](https://stripe.com/docs/exchange-rates) guide for more details. + * + * ----- + * + *   + * + * *This Exchange Rates API is a Beta Service and is subject to Stripe's terms of service. You may use the API solely for the purpose of transacting on Stripe. For example, the API may be queried in order to:* + * + * - *localize prices for processing payments on Stripe* + * - *reconcile Stripe transactions* + * - *determine how much money to send to a connected account* + * - *determine app fees to charge a connected account* + * + * *Using this Exchange Rates API beta for any purpose other than to transact on Stripe is strictly prohibited and constitutes a violation of Stripe's terms of service.* + */ + 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 might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending. */ + 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`, `payment_method_passthrough_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 independently (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; + /** + * FileResourceFileLinkList + * @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 list of data refresh subscriptions requested on this account. */ + subscriptions?: "transactions"[] | null; + /** @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")[]; + /** @description The state of the most recent attempt to refresh the account transactions. */ + transaction_refresh?: components["schemas"]["bank_connections_resource_transaction_refresh"] | null; + }; + /** + * 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" | "transactions")[] | 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; + }; + /** + * BankConnectionsResourceTransaction + * @description A Transaction represents a real transaction that affects a Financial Connections Account balance. + */ + "financial_connections.transaction": { + /** @description The ID of the Financial Connections Account this transaction belongs to. */ + account: string; + /** @description The amount of this transaction, 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 The description of this transaction. */ + description: 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: "financial_connections.transaction"; + /** + * @description The status of the transaction. + * @enum {string} + */ + status: "pending" | "posted" | "void"; + status_transitions: components["schemas"]["bank_connections_resource_transaction_resource_status_transitions"]; + /** + * Format: unix-time + * @description Time at which the transaction was transacted. Measured in seconds since the Unix epoch. + */ + transacted_at: number; + /** @description The token of the transaction refresh that last updated or created this transaction. */ + transaction_refresh: string; + /** + * Format: unix-time + * @description Time at which the object was last updated. Measured in seconds since the Unix epoch. + */ + updated: number; + }; + /** 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; + }; + /** + * ForwardedRequestContext + * @description Metadata about the forwarded request. + */ + forwarded_request_context: { + /** @description The time it took in milliseconds for the destination endpoint to respond. */ + destination_duration: number; + /** @description The IP address of the destination. */ + destination_ip_address: string; + }; + /** + * ForwardedRequestDetails + * @description Details about the request forwarded to the destination endpoint. + */ + forwarded_request_details: { + /** @description The body payload to send to the destination endpoint. */ + body: string; + /** @description The headers to include in the forwarded request. Can be omitted if no additional headers (excluding Stripe-generated ones such as the Content-Type header) should be included. */ + headers: components["schemas"]["forwarded_request_header"][]; + /** + * @description The HTTP method used to call the destination endpoint. + * @enum {string} + */ + http_method: "POST"; + }; + /** + * ForwardedRequestHeader + * @description Header data. + */ + forwarded_request_header: { + /** @description The header name. */ + name: string; + /** @description The header value. */ + value: string; + }; + /** + * ForwardedResponseDetails + * @description Details about the response from the destination endpoint. + */ + forwarded_response_details: { + /** @description The response body from the destination endpoint to Stripe. */ + body: string; + /** @description HTTP headers that the destination endpoint returned. */ + headers: components["schemas"]["forwarded_request_header"][]; + /** @description The HTTP status code that the destination endpoint returned. */ + status: number; + }; + /** + * ForwardingRequest + * @description Instructs Stripe to make a request on your behalf using the destination URL. The destination URL + * is activated by Stripe at the time of onboarding. Stripe verifies requests with your credentials + * provided during onboarding, and injects card details from the payment_method into the request. + * + * Stripe redacts all sensitive fields and headers, including authentication credentials and card numbers, + * before storing the request and response data in the forwarding Request object, which are subject to a + * 30-day retention period. + * + * You can provide a Stripe idempotency key to make sure that requests with the same key result in only one + * outbound request. The Stripe idempotency key provided should be unique and different from any idempotency + * keys provided on the underlying third-party request. + * + * Forwarding Requests are synchronous requests that return a response or time out according to + * Stripe’s limits. + * + * Related guide: [Forward card details to third-party API endpoints](https://docs.stripe.com/payments/forwarding). + */ + "forwarding.request": { + /** + * 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: "forwarding.request"; + /** @description The PaymentMethod to insert into the forwarded request. Forwarding previously consumed PaymentMethods is allowed. */ + payment_method: string; + /** @description The field kinds to be replaced in the forwarded request. */ + replacements: ("card_cvc" | "card_expiry" | "card_number" | "cardholder_name")[]; + /** @description Context about the request from Stripe's servers to the destination endpoint. */ + request_context?: components["schemas"]["forwarded_request_context"] | null; + /** @description The request that was sent to the destination endpoint. We redact any sensitive fields. */ + request_details?: components["schemas"]["forwarded_request_details"] | null; + /** @description The response that the destination endpoint returned to us. We redact any sensitive fields. */ + response_details?: components["schemas"]["forwarded_response_details"] | null; + /** @description The destination URL for the forwarded request. Must be supported by the config. */ + url?: string | null; + }; + /** + * 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"; + }; + /** + * FundingInstructionsBankTransferABARecord + * @description ABA Records contain U.S. bank account details per the ABA format. + */ + funding_instructions_bank_transfer_aba_record: { + /** @description The ABA account number */ + account_number: string; + /** @description The bank name */ + bank_name: string; + /** @description The ABA routing number */ + routing_number: string; + }; + /** + * FundingInstructionsBankTransferFinancialAddress + * @description FinancialAddresses contain identifying information that resolves to a FinancialAccount. + */ + funding_instructions_bank_transfer_financial_address: { + aba?: components["schemas"]["funding_instructions_bank_transfer_aba_record"]; + 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?: ("ach" | "bacs" | "domestic_wire_us" | "fps" | "sepa" | "spei" | "swift" | "zengin")[]; + swift?: components["schemas"]["funding_instructions_bank_transfer_swift_record"]; + /** + * @description The type of financial address + * @enum {string} + */ + type: "aba" | "iban" | "sort_code" | "spei" | "swift" | "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; + }; + /** + * FundingInstructionsBankTransferSwiftRecord + * @description SWIFT Records contain U.S. bank account details per the SWIFT format. + */ + funding_instructions_bank_transfer_swift_record: { + /** @description The account number */ + account_number: string; + /** @description The bank name */ + bank_name: string; + /** @description The SWIFT code */ + swift_code: 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; + }; + /** + * GelatoEmailReport + * @description Result from a email check + */ + gelato_email_report: { + /** @description Email to be verified. */ + email?: string | null; + /** @description Details on the verification error. Present when status is `unverified`. */ + error?: components["schemas"]["gelato_email_report_error"] | null; + /** + * @description Status of this `email` check. + * @enum {string} + */ + status: "unverified" | "verified"; + }; + /** GelatoEmailReportError */ + gelato_email_report_error: { + /** + * @description A short machine-readable string giving the reason for the verification failure. + * @enum {string|null} + */ + code?: "email_unverified_other" | "email_verification_declined" | 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. When `id_number_type` is `us_ssn`, only the last 4 digits are present. */ + 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; + }; + /** + * GelatoPhoneReport + * @description Result from a phone check + */ + gelato_phone_report: { + /** @description Details on the verification error. Present when status is `unverified`. */ + error?: components["schemas"]["gelato_phone_report_error"] | null; + /** @description Phone to be verified. */ + phone?: string | null; + /** + * @description Status of this `phone` check. + * @enum {string} + */ + status: "unverified" | "verified"; + }; + /** GelatoPhoneReportError */ + gelato_phone_report_error: { + /** + * @description A short machine-readable string giving the reason for the verification failure. + * @enum {string|null} + */ + code?: "phone_unverified_other" | "phone_verification_declined" | null; + /** @description A human-readable message giving the reason for the failure. These messages can be shown to your users. */ + reason?: string | null; + }; + /** GelatoProvidedDetails */ + gelato_provided_details: { + /** @description Email of user being verified */ + email?: string; + /** @description Phone number of user being verified */ + phone?: string; + }; + /** 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; + }; + /** GelatoSessionEmailOptions */ + gelato_session_email_options: { + /** @description Request one time password verification of `provided_details.email`. */ + require_verification?: 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" | "email_unverified_other" | "email_verification_declined" | "id_number_insufficient_document_data" | "id_number_mismatch" | "id_number_unverified_other" | "phone_unverified_other" | "phone_verification_declined" | "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; + }; + /** GelatoSessionPhoneOptions */ + gelato_session_phone_options: { + /** @description Request one time password verification of `provided_details.phone`. */ + require_verification?: boolean; + }; + /** 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"]; + email?: components["schemas"]["gelato_session_email_options"]; + id_number?: components["schemas"]["gelato_session_id_number_options"]; + phone?: components["schemas"]["gelato_session_phone_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 email address */ + email?: string | 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; + /** @description The user's verified phone number */ + phone?: 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 guide: [Accessing verification results](https://stripe.com/docs/identity/verification-sessions#results). + */ + "identity.verification_report": { + /** @description A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. */ + client_reference_id?: string | null; + /** + * 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"]; + email?: components["schemas"]["gelato_email_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"]; + phone?: components["schemas"]["gelato_phone_report"]; + selfie?: components["schemas"]["gelato_selfie_report"]; + /** + * @description Type of report. + * @enum {string} + */ + type: "document" | "id_number" | "verification_flow"; + /** @description The configuration token of a Verification Flow from the dashboard. */ + verification_flow?: string; + /** @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 A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. */ + client_reference_id?: string | null; + /** @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 Details provided about the user being verified. These details may be shown to the user. */ + provided_details?: components["schemas"]["gelato_provided_details"] | 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} + */ + type: "document" | "id_number" | "verification_flow"; + /** @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 configuration token of a Verification Flow from the dashboard. */ + verification_flow?: string; + /** @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 ID of the mandate used to make this payment. */ + mandate?: string | components["schemas"]["mandate"]; + /** + * @description The network rails used. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. + * @enum {string} + */ + network: "ach"; + /** @description Routing number of the bank account. */ + routing_number?: string | null; + }; + /** internal_card */ + internal_card: { + /** @description Brand of the card used in the transaction */ + brand?: string | null; + /** @description Two-letter ISO code representing the country of the card */ + country?: string | null; + /** @description Two digit number representing the card's expiration month */ + exp_month?: number | null; + /** @description Two digit number representing the card's expiration year */ + exp_year?: number | null; + /** @description The last 4 digits of the card */ + last4?: 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. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained. */ + 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"])[]; + /** + * 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_resource_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; + issuer: components["schemas"]["connect_account_reference"]; + /** @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. This looks back one period for a subscription invoice. Use the [line item period](/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price. + */ + period_end: number; + /** + * Format: unix-time + * @description Start of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price. + */ + 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_resource_invoice_rendering"] | null; + /** @description The details of the cost of shipping, including the ShippingRate applied on the invoice. */ + shipping_cost?: components["schemas"]["invoices_resource_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_resource_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/authentication-flow#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" | 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_sepa_debit */ + invoice_payment_method_options_sepa_debit: 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: { + filters?: components["schemas"]["invoice_payment_method_options_us_bank_account_linked_account_options_filters"]; + /** @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" | "ownership" | "transactions")[] | null; + }; + /** invoice_payment_method_options_us_bank_account_linked_account_options_filters */ + invoice_payment_method_options_us_bank_account_linked_account_options_filters: { + /** @description The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`. */ + account_subcategories?: ("checking" | "savings")[]; + }; + /** 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; + }; + /** InvoiceSettingCustomerRenderingOptions */ + invoice_setting_customer_rendering_options: { + /** @description How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. */ + amount_tax_display?: string | null; + }; + /** 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_customer_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; + issuer: components["schemas"]["connect_account_reference"]; + }; + /** 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 The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule. */ + account_tax_ids?: (string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[] | null; + /** @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; + /** @description The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. */ + issuer?: components["schemas"]["connect_account_reference"] | null; + }; + /** InvoiceSettingSubscriptionScheduleSetting */ + invoice_setting_subscription_schedule_setting: { + /** @description The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule. */ + account_tax_ids?: (string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[] | null; + /** @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; + issuer: components["schemas"]["connect_account_reference"]; + }; + /** 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; + }; + /** 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 `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice’s PaymentIntent. */ + sepa_debit?: components["schemas"]["invoice_payment_method_options_sepa_debit"] | 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" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "multibanco" | "p24" | "paynow" | "paypal" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "us_bank_account" | "wechat_pay")[] | null; + }; + /** InvoicesResourceFromInvoice */ + invoices_resource_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"]; + }; + /** InvoicesResourceInvoiceRendering */ + invoices_resource_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; + }; + /** 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @enum {string} + */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; + }; + /** InvoicesResourceShippingCost */ + invoices_resource_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"][]; + }; + /** InvoicesResourceStatusTransitions */ + invoices_resource_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 `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `amount` should be the same as `merchant_amount`, unless `currency` and `merchant_currency` are different. */ + 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 The currency of the cardholder. This currency can be different from the currency presented at authorization and the `merchant_currency` field on this 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). */ + currency: string; + /** @description Fleet-specific information for authorizations using Fleet cards. */ + fleet?: components["schemas"]["issuing_authorization_fleet_data"] | null; + /** @description Information about fuel that was purchased with this transaction. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed. */ + fuel?: components["schemas"]["issuing_authorization_fuel_data"] | 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 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` should be the same as `amount`, unless `merchant_currency` and `currency` are different. */ + merchant_amount: number; + /** @description The local currency that was presented to the cardholder for the authorization. This currency can be different from the cardholder currency and the `currency` field on this 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 [Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this authorization. If a network token was not used for this authorization, this field will be null. */ + token?: (string | components["schemas"]["issuing.token"]) | null; + /** @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 personalization design object belonging to this card. */ + personalization_design?: (string | components["schemas"]["issuing.personalization_design"]) | null; + /** @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 The enum that describes the dispute loss outcome. If the dispute is not lost, this field will be absent. New enum values may be added in the future, so be sure to handle unknown values. + * @enum {string} + */ + loss_reason?: "cardholder_authentication_issuer_liability" | "eci5_token_transaction_with_tavv" | "excess_disputes_in_timeframe" | "has_not_met_the_minimum_dispute_amount_requirements" | "invalid_duplicate_dispute" | "invalid_incorrect_amount_dispute" | "invalid_no_authorization" | "invalid_use_of_disputes" | "merchandise_delivered_or_shipped" | "merchandise_or_service_as_described" | "not_cancelled" | "other" | "refund_issued" | "submitted_beyond_allowable_time_limit" | "transaction_3ds_required" | "transaction_approved_after_prior_fraud_dispute" | "transaction_authorized" | "transaction_electronically_read" | "transaction_qualifies_for_visa_easy_payment_service" | "transaction_unattended"; + /** @description Set of [key-value pairs](https://stripe.com/docs/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; + }; + /** + * IssuingPersonalizationDesign + * @description A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line. + */ + "issuing.personalization_design": { + /** @description The file for the card logo to use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`. */ + card_logo?: (string | components["schemas"]["file"]) | null; + /** @description Hash containing carrier text, for use with physical bundles that support carrier text. */ + carrier_text?: components["schemas"]["issuing_personalization_design_carrier_text"] | 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 A lookup key used to retrieve personalization designs 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 Friendly display name. */ + name?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.personalization_design"; + /** @description The physical bundle object belonging to this personalization design. */ + physical_bundle: string | components["schemas"]["issuing.physical_bundle"]; + preferences: components["schemas"]["issuing_personalization_design_preferences"]; + rejection_reasons: components["schemas"]["issuing_personalization_design_rejection_reasons"]; + /** + * @description Whether this personalization design can be used to create cards. + * @enum {string} + */ + status: "active" | "inactive" | "rejected" | "review"; + }; + /** + * IssuingPhysicalBundle + * @description A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when you create a physical card. + */ + "issuing.physical_bundle": { + features: components["schemas"]["issuing_physical_bundle_features"]; + /** @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 Friendly display name. */ + name: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.physical_bundle"; + /** + * @description Whether this physical bundle can be used to create cards. + * @enum {string} + */ + status: "active" | "inactive" | "review"; + /** + * @description Whether this physical bundle is a standard Stripe offering or custom-made for you. + * @enum {string} + */ + type: "custom" | "standard"; + }; + /** + * 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; + }; + /** + * IssuingNetworkToken + * @description An issuing token object is created when an issued card is added to a digital wallet. As a [card issuer](https://stripe.com/docs/issuing), you can [view and manage these tokens](https://stripe.com/docs/issuing/controls/token-management) through Stripe. + */ + "issuing.token": { + /** @description Card associated with this token. */ + card: string | components["schemas"]["issuing.card"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The hashed ID derived from the device ID from the card network associated with the token. */ + device_fingerprint?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The last four digits of the token. */ + 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 The token service provider / card network associated with the token. + * @enum {string} + */ + network: "mastercard" | "visa"; + network_data?: components["schemas"]["issuing_network_token_network_data"]; + /** + * Format: unix-time + * @description Time at which the token was last updated by the card network. Measured in seconds since the Unix epoch. + */ + network_updated_at: number; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.token"; + /** + * @description The usage state of the token. + * @enum {string} + */ + status: "active" | "deleted" | "requested" | "suspended"; + /** + * @description The digital wallet for this token, if one was used. + * @enum {string} + */ + wallet_provider?: "apple_pay" | "google_pay" | "samsung_pay"; + }; + /** + * 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 Details about the transaction, such as processing dates, set by the card network. */ + network_data?: components["schemas"]["issuing_transaction_network_data"] | null; + /** + * @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 [Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this transaction. If a network token was not used for this transaction, this field will be null. */ + token?: (string | components["schemas"]["issuing.token"]) | 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; + }; + /** IssuingAuthorizationAuthenticationExemption */ + issuing_authorization_authentication_exemption: { + /** + * @description The entity that requested the exemption, either the acquiring merchant or the Issuing user. + * @enum {string} + */ + claimed_by: "acquirer" | "issuer"; + /** + * @description The specific exemption claimed for this authorization. + * @enum {string} + */ + type: "low_value_transaction" | "transaction_risk_analysis" | "unknown"; + }; + /** IssuingAuthorizationFleetCardholderPromptData */ + issuing_authorization_fleet_cardholder_prompt_data: { + /** @description [Deprecated] An alphanumeric ID, though typical point of sales only support numeric entry. The card program can be configured to prompt for a vehicle ID, driver ID, or generic ID. */ + alphanumeric_id?: string | null; + /** @description Driver ID. */ + driver_id?: string | null; + /** @description Odometer reading. */ + odometer?: number | null; + /** @description An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. */ + unspecified_id?: string | null; + /** @description User ID. */ + user_id?: string | null; + /** @description Vehicle number. */ + vehicle_number?: string | null; + }; + /** IssuingAuthorizationFleetData */ + issuing_authorization_fleet_data: { + /** @description Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. */ + cardholder_prompt_data?: components["schemas"]["issuing_authorization_fleet_cardholder_prompt_data"] | null; + /** + * @description The type of purchase. + * @enum {string|null} + */ + purchase_type?: "fuel_and_non_fuel_purchase" | "fuel_purchase" | "non_fuel_purchase" | null; + /** @description More information about the total amount. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed. This information is not guaranteed to be accurate as some merchants may provide unreliable data. */ + reported_breakdown?: components["schemas"]["issuing_authorization_fleet_reported_breakdown"] | null; + /** + * @description The type of fuel service. + * @enum {string|null} + */ + service_type?: "full_service" | "non_fuel_transaction" | "self_service" | null; + }; + /** IssuingAuthorizationFleetFuelPriceData */ + issuing_authorization_fleet_fuel_price_data: { + /** + * Format: decimal + * @description Gross fuel amount that should equal Fuel Quantity multiplied by Fuel Unit Cost, inclusive of taxes. + */ + gross_amount_decimal?: string | null; + }; + /** IssuingAuthorizationFleetNonFuelPriceData */ + issuing_authorization_fleet_non_fuel_price_data: { + /** + * Format: decimal + * @description Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. + */ + gross_amount_decimal?: string | null; + }; + /** IssuingAuthorizationFleetReportedBreakdown */ + issuing_authorization_fleet_reported_breakdown: { + /** @description Breakdown of fuel portion of the purchase. */ + fuel?: components["schemas"]["issuing_authorization_fleet_fuel_price_data"] | null; + /** @description Breakdown of non-fuel portion of the purchase. */ + non_fuel?: components["schemas"]["issuing_authorization_fleet_non_fuel_price_data"] | null; + /** @description Information about tax included in this transaction. */ + tax?: components["schemas"]["issuing_authorization_fleet_tax_data"] | null; + }; + /** IssuingAuthorizationFleetTaxData */ + issuing_authorization_fleet_tax_data: { + /** + * Format: decimal + * @description Amount of state or provincial Sales Tax included in the transaction amount. `null` if not reported by merchant or not subject to tax. + */ + local_amount_decimal?: string | null; + /** + * Format: decimal + * @description Amount of national Sales Tax or VAT included in the transaction amount. `null` if not reported by merchant or not subject to tax. + */ + national_amount_decimal?: string | null; + }; + /** IssuingAuthorizationFuelData */ + issuing_authorization_fuel_data: { + /** @description [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. */ + industry_product_code?: string | null; + /** + * Format: decimal + * @description The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. + */ + quantity_decimal?: string | null; + /** + * @description The type of fuel that was purchased. + * @enum {string|null} + */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super" | null; + /** + * @description The units for `quantity_decimal`. + * @enum {string|null} + */ + unit?: "charging_minute" | "imperial_gallon" | "kilogram" | "kilowatt_hour" | "liter" | "other" | "pound" | "us_gallon" | null; + /** + * 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 | 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; + /** @description URL provided by the merchant on a 3DS request */ + url?: 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; + /** @description The System Trace Audit Number (STAN) is a 6-digit identifier assigned by the acquirer. Prefer `network_data.transaction_id` if present, unless you have special requirements. */ + system_trace_audit_number?: string | null; + /** @description Unique identifier for the authorization assigned by the card network used to match subsequent messages, disputes, and transactions. */ + transaction_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; + /** @description The card network's estimate of the likelihood that an authorization is fraudulent. Takes on values between 1 and 99. */ + network_risk_score?: number | null; + }; + /** 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 typically starts with the letter "S", followed by a six-digit number. 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 The card network's estimate of the likelihood that an authorization is fraudulent. Takes on values between 1 and 99. */ + network_risk_score?: number | null; + /** + * @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_canceled" | "card_expired" | "card_inactive" | "cardholder_blocked" | "cardholder_inactive" | "cardholder_verification_required" | "insecure_authorization_method" | "insufficient_funds" | "not_allowed" | "pin_blocked" | "spending_controls" | "suspected_fraud" | "verification_failed" | "webhook_approved" | "webhook_declined" | "webhook_error" | "webhook_timeout"; + /** @description If the `request_history.reason` is `webhook_error` because the direct webhook response is invalid (for example, parsing errors or missing parameters), we surface a more detailed error message via this field. */ + reason_message?: string | null; + /** + * Format: unix-time + * @description Time when the card network received an authorization request from the acquirer in UTC. Referred to by networks as transmission time. + */ + requested_at?: number | null; + }; + /** IssuingAuthorizationThreeDSecure */ + issuing_authorization_three_d_secure: { + /** + * @description The outcome of the 3D Secure authentication request. + * @enum {string} + */ + result: "attempt_acknowledged" | "authenticated" | "failed" | "required"; + }; + /** 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 The exemption applied to this authorization. */ + authentication_exemption?: components["schemas"]["issuing_authorization_authentication_exemption"] | null; + /** + * @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"; + /** @description The postal code submitted as part of the authorization used for postal code verification. */ + postal_code?: string | null; + /** @description 3D Secure details. */ + three_d_secure?: components["schemas"]["issuing_authorization_three_d_secure"] | null; + }; + /** 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 representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. */ + allowed_merchant_countries?: string[] | 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 Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. */ + blocked_merchant_countries?: string[] | 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 Address validation details for the shipment. */ + address_validation?: components["schemas"]["issuing_card_shipping_address_validation"] | null; + /** + * @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"; + }; + /** IssuingCardShippingAddressValidation */ + issuing_card_shipping_address_validation: { + /** + * @description The address validation capabilities to use. + * @enum {string} + */ + mode: "disabled" | "normalization_only" | "validation_and_normalization"; + /** @description The normalized shipping address. */ + normalized_address?: components["schemas"]["address"] | null; + /** + * @description The validation result for the shipping address. + * @enum {string|null} + */ + result?: "indeterminate" | "likely_deliverable" | "likely_undeliverable" | null; + }; + /** 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 representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. */ + allowed_merchant_countries?: string[] | 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 Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. */ + blocked_merchant_countries?: string[] | 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 Celtic [Authorized User Terms](https://stripe.com/docs/issuing/cards#accept-authorized-user-terms). Required for cards backed by a Celtic program. */ + 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. + */ + date?: number | null; + /** @description The IP address from which the cardholder accepted the Authorized User Terms. */ + 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"]; + no_valid_authorization?: components["schemas"]["issuing_dispute_no_valid_authorization_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" | "no_valid_authorization" | "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; + }; + /** IssuingDisputeNoValidAuthorizationEvidence */ + issuing_dispute_no_valid_authorization_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; + }; + /** 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; + }; + /** IssuingNetworkTokenAddress */ + issuing_network_token_address: { + /** @description The street address of the cardholder tokenizing the card. */ + line1: string; + /** @description The postal code of the cardholder tokenizing the card. */ + postal_code: string; + }; + /** IssuingNetworkTokenDevice */ + issuing_network_token_device: { + /** @description An obfuscated ID derived from the device ID. */ + device_fingerprint?: string; + /** @description The IP address of the device at provisioning time. */ + ip_address?: string; + /** @description The geographic latitude/longitude coordinates of the device at provisioning time. The format is [+-]decimal/[+-]decimal. */ + location?: string; + /** @description The name of the device used for tokenization. */ + name?: string; + /** @description The phone number of the device used for tokenization. */ + phone_number?: string; + /** + * @description The type of device used for tokenization. + * @enum {string} + */ + type?: "other" | "phone" | "watch"; + }; + /** IssuingNetworkTokenMastercard */ + issuing_network_token_mastercard: { + /** @description A unique reference ID from MasterCard to represent the card account number. */ + card_reference_id?: string; + /** @description The network-unique identifier for the token. */ + token_reference_id: string; + /** @description The ID of the entity requesting tokenization, specific to MasterCard. */ + token_requestor_id: string; + /** @description The name of the entity requesting tokenization, if known. This is directly provided from MasterCard. */ + token_requestor_name?: string; + }; + /** IssuingNetworkTokenNetworkData */ + issuing_network_token_network_data: { + device?: components["schemas"]["issuing_network_token_device"]; + mastercard?: components["schemas"]["issuing_network_token_mastercard"]; + /** + * @description The network that the token is associated with. An additional hash is included with a name matching this value, containing tokenization data specific to the card network. + * @enum {string} + */ + type: "mastercard" | "visa"; + visa?: components["schemas"]["issuing_network_token_visa"]; + wallet_provider?: components["schemas"]["issuing_network_token_wallet_provider"]; + }; + /** IssuingNetworkTokenVisa */ + issuing_network_token_visa: { + /** @description A unique reference ID from Visa to represent the card account number. */ + card_reference_id: string; + /** @description The network-unique identifier for the token. */ + token_reference_id: string; + /** @description The ID of the entity requesting tokenization, specific to Visa. */ + token_requestor_id: string; + /** @description Degree of risk associated with the token between `01` and `99`, with higher number indicating higher risk. A `00` value indicates the token was not scored by Visa. */ + token_risk_score?: string; + }; + /** IssuingNetworkTokenWalletProvider */ + issuing_network_token_wallet_provider: { + /** @description The wallet provider-given account ID of the digital wallet the token belongs to. */ + account_id?: string; + /** @description An evaluation on the trustworthiness of the wallet account between 1 and 5. A higher score indicates more trustworthy. */ + account_trust_score?: number; + /** + * @description The method used for tokenizing a card. + * @enum {string} + */ + card_number_source?: "app" | "manual" | "on_file" | "other"; + cardholder_address?: components["schemas"]["issuing_network_token_address"]; + /** @description The name of the cardholder tokenizing the card. */ + cardholder_name?: string; + /** @description An evaluation on the trustworthiness of the device. A higher score indicates more trustworthy. */ + device_trust_score?: number; + /** @description The hashed email address of the cardholder's account with the wallet provider. */ + hashed_account_email_address?: string; + /** @description The reasons for suggested tokenization given by the card network. */ + reason_codes?: ("account_card_too_new" | "account_recently_changed" | "account_too_new" | "account_too_new_since_launch" | "additional_device" | "data_expired" | "defer_id_v_decision" | "device_recently_lost" | "good_activity_history" | "has_suspended_tokens" | "high_risk" | "inactive_account" | "long_account_tenure" | "low_account_score" | "low_device_score" | "low_phone_number_score" | "network_service_error" | "outside_home_territory" | "provisioning_cardholder_mismatch" | "provisioning_device_and_cardholder_mismatch" | "provisioning_device_mismatch" | "same_device_no_prior_authentication" | "same_device_successful_prior_authentication" | "software_update" | "suspicious_activity" | "too_many_different_cardholders" | "too_many_recent_attempts" | "too_many_recent_tokens")[]; + /** + * @description The recommendation on responding to the tokenization request. + * @enum {string} + */ + suggested_decision?: "approve" | "decline" | "require_auth"; + /** @description The version of the standard for mapping reason codes followed by the wallet provider. */ + suggested_decision_version?: string; + }; + /** IssuingPersonalizationDesignCarrierText */ + issuing_personalization_design_carrier_text: { + /** @description The footer body text of the carrier letter. */ + footer_body?: string | null; + /** @description The footer title text of the carrier letter. */ + footer_title?: string | null; + /** @description The header body text of the carrier letter. */ + header_body?: string | null; + /** @description The header title text of the carrier letter. */ + header_title?: string | null; + }; + /** IssuingPersonalizationDesignPreferences */ + issuing_personalization_design_preferences: { + /** @description Whether we use this personalization design to create cards when one isn't specified. A connected account uses the Connect platform's default design if no personalization design is set as the default design. */ + is_default: boolean; + /** @description Whether this personalization design is used to create cards when one is not specified and a default for this connected account does not exist. */ + is_platform_default?: boolean | null; + }; + /** IssuingPersonalizationDesignRejectionReasons */ + issuing_personalization_design_rejection_reasons: { + /** @description The reason(s) the card logo was rejected. */ + card_logo?: ("geographic_location" | "inappropriate" | "network_name" | "non_binary_image" | "non_fiat_currency" | "other" | "other_entity" | "promotional_material")[] | null; + /** @description The reason(s) the carrier text was rejected. */ + carrier_text?: ("geographic_location" | "inappropriate" | "network_name" | "non_fiat_currency" | "other" | "other_entity" | "promotional_material")[] | null; + }; + /** IssuingPhysicalBundleFeatures */ + issuing_physical_bundle_features: { + /** + * @description The policy for how to use card logo images in a card design with this physical bundle. + * @enum {string} + */ + card_logo: "optional" | "required" | "unsupported"; + /** + * @description The policy for how to use carrier letter text in a card design with this physical bundle. + * @enum {string} + */ + carrier_text: "optional" | "required" | "unsupported"; + /** + * @description The policy for how to use a second line on a card with this physical bundle. + * @enum {string} + */ + second_line: "optional" | "required" | "unsupported"; + }; + /** 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; + }; + /** IssuingTransactionFleetCardholderPromptData */ + issuing_transaction_fleet_cardholder_prompt_data: { + /** @description Driver ID. */ + driver_id?: string | null; + /** @description Odometer reading. */ + odometer?: number | null; + /** @description An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. */ + unspecified_id?: string | null; + /** @description User ID. */ + user_id?: string | null; + /** @description Vehicle number. */ + vehicle_number?: string | null; + }; + /** IssuingTransactionFleetData */ + issuing_transaction_fleet_data: { + /** @description Answers to prompts presented to cardholder at point of sale. */ + cardholder_prompt_data?: components["schemas"]["issuing_transaction_fleet_cardholder_prompt_data"] | null; + /** @description The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. */ + purchase_type?: string | null; + /** @description More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. */ + reported_breakdown?: components["schemas"]["issuing_transaction_fleet_reported_breakdown"] | null; + /** @description The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. */ + service_type?: string | null; + }; + /** IssuingTransactionFleetFuelPriceData */ + issuing_transaction_fleet_fuel_price_data: { + /** + * Format: decimal + * @description Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. + */ + gross_amount_decimal?: string | null; + }; + /** IssuingTransactionFleetNonFuelPriceData */ + issuing_transaction_fleet_non_fuel_price_data: { + /** + * Format: decimal + * @description Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. + */ + gross_amount_decimal?: string | null; + }; + /** IssuingTransactionFleetReportedBreakdown */ + issuing_transaction_fleet_reported_breakdown: { + /** @description Breakdown of fuel portion of the purchase. */ + fuel?: components["schemas"]["issuing_transaction_fleet_fuel_price_data"] | null; + /** @description Breakdown of non-fuel portion of the purchase. */ + non_fuel?: components["schemas"]["issuing_transaction_fleet_non_fuel_price_data"] | null; + /** @description Information about tax included in this transaction. */ + tax?: components["schemas"]["issuing_transaction_fleet_tax_data"] | null; + }; + /** IssuingTransactionFleetTaxData */ + issuing_transaction_fleet_tax_data: { + /** + * Format: decimal + * @description Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. + */ + local_amount_decimal?: string | null; + /** + * Format: decimal + * @description Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. + */ + national_amount_decimal?: string | 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 [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. */ + industry_product_code?: string | null; + /** + * Format: decimal + * @description The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. + */ + quantity_decimal?: string | null; + /** @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 `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. */ + 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; + }; + /** 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; + }; + /** IssuingTransactionNetworkData */ + issuing_transaction_network_data: { + /** @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 typically starts with the letter "S", followed by a six-digit number. For example, "S498162". Please note that the code is not guaranteed to be unique across authorizations. */ + authorization_code?: string | null; + /** @description The date the transaction was processed by the card network. This can be different from the date the seller recorded the transaction depending on when the acquirer submits the transaction to the network. */ + processing_date?: string | null; + /** @description Unique identifier for the authorization assigned by the card network used to match subsequent messages, disputes, and transactions. */ + transaction_id?: string | null; + }; + /** IssuingTransactionPurchaseDetails */ + issuing_transaction_purchase_details: { + /** @description Fleet-specific information for transactions using Fleet cards. */ + fleet?: components["schemas"]["issuing_transaction_fleet_data"] | null; + /** @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" | "registered_charity" | "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"])[]; + /** @description Unique identifier for the object. */ + id: string; + /** @description The ID of the invoice that contains this line item. */ + invoice?: string | null; + /** @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`, `metadata` reflects the current metadata from the subscription associated with the line item, unless the invoice line was directly updated with different metadata after creation. */ + 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: { + filters?: components["schemas"]["payment_flows_private_payment_methods_us_bank_account_linked_account_options_filters"]; + /** @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" | "ownership" | "transactions")[] | 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 URLs for a connected account to access the Express Dashboard. The connected account's [account.controller.stripe_dashboard.type](/api/accounts/object#account_object-controller-stripe_dashboard-type) must be `express` to have access to the Express 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_amazon_pay */ + mandate_amazon_pay: Record; + /** 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 When the mandate is revoked on the Bacs network this field displays the reason for the revocation. + * @enum {string|null} + */ + revocation_reason?: "account_closed" | "bank_account_restricted" | "bank_ownership_changed" | "could_not_process" | "debit_not_authorized" | null; + /** @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"]; + amazon_pay?: components["schemas"]["mandate_amazon_pay"]; + 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"]; + revolut_pay?: components["schemas"]["mandate_revolut_pay"]; + 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_revolut_pay */ + mandate_revolut_pay: Record; + /** 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: { + /** + * @description Mandate collection method + * @enum {string} + */ + collection_method?: "paper"; + }; + /** networks */ + networks: { + /** @description All available networks for the card. */ + available: string[]; + /** @description The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid 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 ID of the mandate used to make this payment. */ + mandate?: string | components["schemas"]["mandate"]; + /** + * @description The network rails used. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. + * @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 ID of the mandate used to make this payment. */ + mandate?: string | components["schemas"]["mandate"]; + /** + * @description The network rails used. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. + * @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; + }; + /** PaymentFlowsPrivatePaymentMethodsCardDetailsAPIResourceEnterpriseFeaturesExtendedAuthorizationExtendedAuthorization */ + payment_flows_private_payment_methods_card_details_api_resource_enterprise_features_extended_authorization_extended_authorization: { + /** + * @description Indicates whether or not the capture window is extended beyond the standard authorization. + * @enum {string} + */ + status: "disabled" | "enabled"; + }; + /** PaymentFlowsPrivatePaymentMethodsCardDetailsAPIResourceEnterpriseFeaturesIncrementalAuthorizationIncrementalAuthorization */ + payment_flows_private_payment_methods_card_details_api_resource_enterprise_features_incremental_authorization_incremental_authorization: { + /** + * @description Indicates whether or not the incremental authorization feature is supported. + * @enum {string} + */ + status: "available" | "unavailable"; + }; + /** PaymentFlowsPrivatePaymentMethodsCardDetailsAPIResourceEnterpriseFeaturesOvercaptureOvercapture */ + payment_flows_private_payment_methods_card_details_api_resource_enterprise_features_overcapture_overcapture: { + /** @description The maximum amount that can be captured. */ + maximum_amount_capturable: number; + /** + * @description Indicates whether or not the authorized amount can be over-captured. + * @enum {string} + */ + status: "available" | "unavailable"; + }; + /** PaymentFlowsPrivatePaymentMethodsCardDetailsAPIResourceMulticapture */ + payment_flows_private_payment_methods_card_details_api_resource_multicapture: { + /** + * @description Indicates whether or not multiple captures are supported. + * @enum {string} + */ + status: "available" | "unavailable"; + }; + /** 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; + }; + /** PaymentFlowsPrivatePaymentMethodsUsBankAccountLinkedAccountOptionsFilters */ + payment_flows_private_payment_methods_us_bank_account_linked_account_options_filters: { + /** @description The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`. */ + account_subcategories?: ("checking" | "savings")[]; + }; + /** + * 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" | 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; + /** + * @description Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. + * @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 [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + 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 ID of the latest [Charge object](https://stripe.com/docs/api/charges) created by this PaymentIntent. This property is `null` until PaymentIntent confirmation is attempted. */ + 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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 card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + 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"]; + multibanco_display_details?: components["schemas"]["payment_intent_next_action_display_multibanco_details"]; + 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"]; + swish_handle_redirect_or_display_qr_code?: components["schemas"]["payment_intent_next_action_swish_handle_redirect_or_display_qr_code"]; + /** @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"; + }; + /** PaymentIntentNextActionDisplayMultibancoDetails */ + payment_intent_next_action_display_multibanco_details: { + /** @description Entity number associated with this Multibanco payment. */ + entity?: string | null; + /** + * Format: unix-time + * @description The timestamp at which the Multibanco voucher expires. + */ + expires_at?: number | null; + /** @description The URL for the hosted Multibanco voucher page, which allows customers to view a Multibanco voucher. */ + hosted_voucher_url?: string | null; + /** @description Reference number associated with this Multibanco payment. */ + reference?: string | null; + }; + /** 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; + }; + /** PaymentIntentNextActionSwishHandleRedirectOrDisplayQrCode */ + payment_intent_next_action_swish_handle_redirect_or_display_qr_code: { + /** @description The URL to the hosted Swish instructions page, which allows customers to view the QR code. */ + hosted_instructions_url: string; + qr_code: components["schemas"]["payment_intent_next_action_swish_qr_code"]; + }; + /** PaymentIntentNextActionSwishQRCode */ + payment_intent_next_action_swish_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 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; + }; + /** 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"]; + amazon_pay?: components["schemas"]["payment_method_options_amazon_pay"] | 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"]; + mobilepay?: components["schemas"]["payment_intent_payment_method_options_mobilepay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + multibanco?: components["schemas"]["payment_method_options_multibanco"] | 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"]; + revolut_pay?: components["schemas"]["payment_method_options_revolut_pay"] | 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"]; + swish?: components["schemas"]["payment_intent_payment_method_options_swish"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + twint?: components["schemas"]["payment_method_options_twint"] | 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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: { + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_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 Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent. + * @enum {string} + */ + request_extended_authorization?: "if_available" | "never"; + /** + * @description Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent. + * @enum {string} + */ + request_incremental_authorization?: "if_available" | "never"; + /** + * @description Request ability to make [multiple captures](https://stripe.com/docs/payments/multicapture) for this PaymentIntent. + * @enum {string} + */ + request_multicapture?: "if_available" | "never"; + /** + * @description Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent. + * @enum {string} + */ + request_overcapture?: "if_available" | "never"; + /** + * @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. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#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" | null; + /** @description When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter). */ + require_cvc_recollection?: boolean; + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_mobilepay */ + payment_intent_payment_method_options_mobilepay: { + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_swish */ + payment_intent_payment_method_options_swish: { + /** @description The order ID displayed in the Swish app after the payment is authorized. */ + 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_us_bank_account */ + payment_intent_payment_method_options_us_bank_account: { + financial_connections?: components["schemas"]["linked_account_options_us_bank_account"]; + mandate_options?: components["schemas"]["payment_method_options_us_bank_account_mandate_options"]; + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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 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; + /** @description When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter). */ + require_cvc_recollection?: boolean; + routing?: components["schemas"]["payment_method_options_card_present_routing"]; + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. Defaults to `auto`. + * @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 3 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 The custom message to be displayed to a customer when a payment link is no longer active. */ + inactive_message?: string | null; + /** @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. Defaults to `always`. + * @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" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "swish" | "twint" | "us_bank_account" | "wechat_pay" | "zip")[] | null; + phone_number_collection: components["schemas"]["payment_links_resource_phone_number_collection"]; + /** @description Settings that restrict the usage of a payment link. */ + restrictions?: components["schemas"]["payment_links_resource_restrictions"] | null; + /** @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; + /** @description The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. */ + liability?: components["schemas"]["connect_account_reference"] | null; + }; + /** PaymentLinksResourceCompletedSessions */ + payment_links_resource_completed_sessions: { + /** @description The current number of checkout sessions that have been completed on the payment link which count towards the `completed_sessions` restriction to be met. */ + count: number; + /** @description The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met. */ + limit: number; + }; + /** 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 Settings related to the payment method reuse text shown in the Checkout UI. */ + payment_method_reuse_agreement?: components["schemas"]["payment_links_resource_payment_method_reuse_agreement"] | null; + /** + * @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: { + dropdown?: components["schemas"]["payment_links_resource_custom_fields_dropdown"]; + /** @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"]; + numeric?: components["schemas"]["payment_links_resource_custom_fields_numeric"]; + /** @description Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. */ + optional: boolean; + text?: components["schemas"]["payment_links_resource_custom_fields_text"]; + /** + * @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 after the payment confirmation button. */ + after_submit?: components["schemas"]["payment_links_resource_custom_text_position"] | null; + /** @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 The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. */ + issuer?: components["schemas"]["connect_account_reference"] | 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 An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on [Payment Intents](https://stripe.com/docs/api/payment_intents) generated from this payment link. */ + metadata: { + [key: string]: string; + }; + /** + * @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; + /** @description Extra information about the payment. This will appear on your customer's statement when this payment succeeds in creating a charge. */ + 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 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; + }; + /** PaymentLinksResourcePaymentMethodReuseAgreement */ + payment_links_resource_payment_method_reuse_agreement: { + /** + * @description Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's defaults will be used. + * + * When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI. + * @enum {string} + */ + position: "auto" | "hidden"; + }; + /** PaymentLinksResourcePhoneNumberCollection */ + payment_links_resource_phone_number_collection: { + /** @description If `true`, a phone number will be collected during checkout. */ + enabled: boolean; + }; + /** PaymentLinksResourceRestrictions */ + payment_links_resource_restrictions: { + completed_sessions: components["schemas"]["payment_links_resource_completed_sessions"]; + }; + /** 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 for rendering in Stripe surfaces and certain local payment methods UIs. */ + description?: string | null; + invoice_settings: components["schemas"]["payment_links_resource_subscription_data_invoice_settings"]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on [Subscriptions](https://stripe.com/docs/api/subscriptions) generated from this payment link. */ + metadata: { + [key: string]: string; + }; + /** @description Integer representing the number of trial period days before the customer is charged for the first time. */ + trial_period_days?: number | null; + /** @description Settings related to subscription trials. */ + trial_settings?: components["schemas"]["subscriptions_trials_resource_trial_settings"] | null; + }; + /** PaymentLinksResourceSubscriptionDataInvoiceSettings */ + payment_links_resource_subscription_data_invoice_settings: { + issuer: components["schemas"]["connect_account_reference"]; + }; + /** 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"]; + /** + * @description This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”. + * @enum {string} + */ + allow_redisplay?: "always" | "limited" | "unspecified"; + amazon_pay?: components["schemas"]["payment_method_amazon_pay"]; + 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; + mobilepay?: components["schemas"]["payment_method_mobilepay"]; + multibanco?: components["schemas"]["payment_method_multibanco"]; + /** + * @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"]; + revolut_pay?: components["schemas"]["payment_method_revolut_pay"]; + sepa_debit?: components["schemas"]["payment_method_sepa_debit"]; + sofort?: components["schemas"]["payment_method_sofort"]; + swish?: components["schemas"]["payment_method_swish"]; + twint?: components["schemas"]["payment_method_twint"]; + /** + * @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" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "card_present" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "interac_present" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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_amazon_pay */ + payment_method_amazon_pay: 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 The brand to use when displaying the card, this accounts for customer's brand choice on dual-branded cards. Can be `american_express`, `cartes_bancaires`, `diners_club`, `discover`, `eftpos_australia`, `interac`, `jcb`, `mastercard`, `union_pay`, `visa`, or `other` and may contain more values in the future. */ + display_brand?: 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 [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. */ + brand_product?: 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 A high-level description of the type of cards issued in this range. */ + description?: 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 name of the card's issuing bank. */ + issuer?: 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_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 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"]; + amazon_pay?: 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"]; + customer_balance?: 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; + 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; + mobilepay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + multibanco?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** @description The configuration's name. */ + name: string; + /** + * @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; + 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"]; + revolut_pay?: 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"]; + swish?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + twint?: 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"]; + zip?: 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"]; + amazon_pay?: components["schemas"]["payment_method_details_amazon_pay"]; + 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"]; + mobilepay?: components["schemas"]["payment_method_details_mobilepay"]; + 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"]; + revolut_pay?: components["schemas"]["payment_method_details_revolut_pay"]; + 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"]; + swish?: components["schemas"]["payment_method_details_swish"]; + twint?: components["schemas"]["payment_method_details_twint"]; + /** @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: { + /** @description The Affirm transaction ID associated with this payment. */ + transaction_id?: string | null; + }; + /** 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_amazon_pay */ + payment_method_details_amazon_pay: Record; + /** 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: { + /** @description A unique and immutable identifier assigned by BLIK to every buyer. */ + buyer_id?: string | null; + }; + /** 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 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 at which the charge will be automatically refunded if uncaptured. + */ + capture_before?: number; + /** @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; + extended_authorization?: components["schemas"]["payment_flows_private_payment_methods_card_details_api_resource_enterprise_features_extended_authorization_extended_authorization"]; + /** @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; + incremental_authorization?: components["schemas"]["payment_flows_private_payment_methods_card_details_api_resource_enterprise_features_incremental_authorization_incremental_authorization"]; + /** @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; + multicapture?: components["schemas"]["payment_flows_private_payment_methods_card_details_api_resource_multicapture"]; + /** @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; + overcapture?: components["schemas"]["payment_flows_private_payment_methods_card_details_api_resource_enterprise_features_overcapture_overcapture"]; + /** @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; + /** @description The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. */ + brand_product?: 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 A high-level description of the type of cards issued in this range. */ + description?: 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 name of the card's issuing bank. */ + issuer?: 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 This is used by the financial networks to identify a transaction. + * Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. + * The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). + * This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ + network_transaction_id?: string | null; + /** @description Details about payments collected offline. */ + offline?: components["schemas"]["payment_method_details_card_present_offline"] | null; + /** @description Defines whether the authorized amount can be over-captured or not */ + overcapture_supported: boolean; + /** @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_card_present_receipt"] | null; + }; + /** payment_method_details_card_present_offline */ + payment_method_details_card_present_offline: { + /** + * Format: unix-time + * @description Time at which the payment was collected while offline + */ + stored_at?: number | 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 Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. */ + 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`, `nn`, `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" | "nn" | "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" | "NNBANL2G" | "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 A high-level description of the type of cards issued in this range. */ + description?: 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 name of the card's issuing bank. */ + issuer?: 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 This is used by the financial networks to identify a transaction. + * Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. + * The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). + * This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ + network_transaction_id?: 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 Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. */ + 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`, `ro-RO`, `en-RO`, `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_mobilepay */ + payment_method_details_mobilepay: { + /** @description Internal card details */ + card?: components["schemas"]["internal_card"] | 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`, `velobank`, `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" | "velobank" | "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_revolut_pay */ + payment_method_details_revolut_pay: Record; + /** 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 Find the ID of the mandate used for this payment under the [payment_method_details.sepa_debit.mandate](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-sepa_debit-mandate) property on the Charge. Use this mandate ID to [retrieve the Mandate](https://stripe.com/docs/api/mandates/retrieve). */ + 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_swish */ + payment_method_details_swish: { + /** @description Uniquely identifies the payer's Swish account. You can use this attribute to check whether two Swish transactions were paid for by the same payer */ + fingerprint?: string | null; + /** @description Payer bank reference number for the payment */ + payment_reference?: string | null; + /** @description The last four digits of the Swish account phone number */ + verified_phone_last4?: string | null; + }; + /** payment_method_details_twint */ + payment_method_details_twint: 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 ID of the mandate used to make this payment. */ + mandate?: string | components["schemas"]["mandate"]; + /** @description Reference number to locate ACH payments with customer's bank. */ + payment_reference?: 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 guide: [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`, `nn`, `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" | "nn" | "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" | "NNBANL2G" | "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 A high-level description of the type of cards issued in this range. */ + description?: 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 name of the card's issuing bank. */ + issuer?: 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_mobilepay */ + payment_method_mobilepay: Record; + /** payment_method_multibanco */ + payment_method_multibanco: Record; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_amazon_pay */ + payment_method_options_amazon_pay: { + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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; + routing?: components["schemas"]["payment_method_options_card_present_routing"]; + }; + /** payment_method_options_card_present_routing */ + payment_method_options_card_present_routing: { + /** + * @description Requested routing priority + * @enum {string|null} + */ + requested_priority?: "domestic" | "international" | 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_multibanco */ + payment_method_options_multibanco: { + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_revolut_pay */ + payment_method_options_revolut_pay: { + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_twint */ + payment_method_options_twint: { + /** + * @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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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_us_bank_account_mandate_options */ + payment_method_options_us_bank_account_mandate_options: { + /** + * @description Mandate collection method + * @enum {string} + */ + collection_method?: "paper"; + }; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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" | "velobank" | "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_revolut_pay */ + payment_method_revolut_pay: 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_swish */ + payment_method_swish: Record; + /** payment_method_twint */ + payment_method_twint: Record; + /** 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 account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. */ + liability?: components["schemas"]["connect_account_reference"] | null; + /** + * @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 `hidden`, it will hide legal text related to the reuse of a payment method. */ + payment_method_reuse_agreement?: components["schemas"]["payment_pages_checkout_session_payment_method_reuse_agreement"] | null; + /** + * @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: { + dropdown?: components["schemas"]["payment_pages_checkout_session_custom_fields_dropdown"]; + /** @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"]; + numeric?: components["schemas"]["payment_pages_checkout_session_custom_fields_numeric"]; + /** @description Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. */ + optional: boolean; + text?: components["schemas"]["payment_pages_checkout_session_custom_fields_text"]; + /** + * @description The type of the field. + * @enum {string} + */ + type: "dropdown" | "numeric" | "text"; + }; + /** PaymentPagesCheckoutSessionCustomFieldsDropdown */ + payment_pages_checkout_session_custom_fields_dropdown: { + /** @description The value that will pre-fill on the payment page. */ + default_value?: string | null; + /** @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 value that will pre-fill the field on the payment page. */ + default_value?: string | null; + /** @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 value that will pre-fill the field on the payment page. */ + default_value?: string | null; + /** @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 after the payment confirmation button. */ + after_submit?: components["schemas"]["payment_pages_checkout_session_custom_text_position"] | null; + /** @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 The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. */ + issuer?: components["schemas"]["connect_account_reference"] | 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; + }; + /** PaymentPagesCheckoutSessionPaymentMethodReuseAgreement */ + payment_pages_checkout_session_payment_method_reuse_agreement: { + /** + * @description Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's defaults will be used. + * + * When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI. + * @enum {string} + */ + position: "auto" | "hidden"; + }; + /** PaymentPagesCheckoutSessionPhoneNumberCollection */ + payment_pages_checkout_session_phone_number_collection: { + /** @description Indicates whether phone number collection is enabled for the session */ + enabled: boolean; + }; + /** PaymentPagesCheckoutSessionSavedPaymentMethodOptions */ + payment_pages_checkout_session_saved_payment_method_options: { + /** @description Uses the `allow_redisplay` value of each saved payment method to filter the set presented to a returning customer. By default, only saved payment methods with ’allow_redisplay: ‘always’ are shown in Checkout. */ + allow_redisplay_filters?: ("always" | "limited" | "unspecified")[] | null; + /** + * @description Enable customers to choose if they wish to remove their saved payment methods. Disabled by default. + * @enum {string|null} + */ + payment_method_remove?: "disabled" | "enabled" | null; + /** + * @description Enable customers to choose if they wish to save their payment method for future use. Disabled by default. + * @enum {string|null} + */ + payment_method_save?: "disabled" | "enabled" | null; + }; + /** 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @enum {string} + */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; + /** @description The application fee (if any) for the payout. [See the Connect documentation](https://stripe.com/docs/connect/instant-payouts#monetization-and-fees) for details. */ + application_fee?: (string | components["schemas"]["application_fee"]) | null; + /** @description The amount of the application fee (if any) requested for the payout. [See the Connect documentation](https://stripe.com/docs/connect/instant-payouts#monetization-and-fees) for details. */ + application_fee_amount?: number | null; + /** + * 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 person for an account where [account.controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding. + * + * See the [Standard onboarding](/connect/standard-accounts) or [Express onboarding](/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](/connect/handling-api-verification#person-information). + */ + person: { + /** @description The account the person is associated with. */ + account: string; + additional_tos_acceptances?: components["schemas"]["person_additional_tos_acceptances"]; + 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"]; + }; + /** PersonAdditionalTOSAcceptance */ + person_additional_tos_acceptance: { + /** + * Format: unix-time + * @description The Unix timestamp marking when the legal guardian accepted the service agreement. + */ + date?: number | null; + /** @description The IP address from which the legal guardian accepted the service agreement. */ + ip?: string | null; + /** @description The user agent of the browser from which the legal guardian accepted the service agreement. */ + user_agent?: string | null; + }; + /** PersonAdditionalTOSAcceptances */ + person_additional_tos_acceptances: { + account: components["schemas"]["person_additional_tos_acceptance"]; + }; + /** 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 might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending. */ + 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 the legal guardian of the account's representative. */ + legal_guardian?: 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 might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending. */ + 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 The meter tracking the usage of a metered price */ + meter?: 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; + }; + /** PlatformEarningFeeSource */ + platform_earning_fee_source: { + /** @description Charge ID that created this application fee. */ + charge?: string; + /** @description Payout ID that created this application fee. */ + payout?: string; + /** + * @description Type of object that created the application fee, either `charge` or `payout`. + * @enum {string} + */ + type: "charge" | "payout"; + }; + /** 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_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")[]; + }; + /** 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 up to 10 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`. Defaults to a value of `none` if you don't set it during creation. + * @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 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 A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ + marketing_features: components["schemas"]["product_marketing_feature"][]; + /** @description Set of [key-value pairs](https://stripe.com/docs/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. Only used for subscription payments. */ + 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 + * @description A product_feature represents an attachment between a feature and a product. + * When a product is purchased that has a feature attached, Stripe will create an entitlement to the feature for the purchasing customer. + */ + product_feature: { + entitlement_feature: components["schemas"]["entitlements.feature"]; + /** @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: "product_feature"; + }; + /** ProductMarketingFeature */ + product_marketing_feature: { + /** @description The marketing feature 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; + invoice_settings: components["schemas"]["invoice_setting_quote_setting"]; + /** + * 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 account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. */ + liability?: components["schemas"]["connect_account_reference"] | null; + /** + * @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 for rendering in Stripe surfaces and certain local payment methods UIs. */ + 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 Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values. */ + metadata?: { + [key: string]: 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; + }; + /** 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`. 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 The meter tracking the usage of a metered price */ + meter?: string | 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"; + }; + /** + * 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; + destination_details?: components["schemas"]["refund_destination_details"]; + /** @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" | 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'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. This 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; + }; + /** refund_destination_details */ + refund_destination_details: { + affirm?: components["schemas"]["destination_details_unimplemented"]; + afterpay_clearpay?: components["schemas"]["destination_details_unimplemented"]; + alipay?: components["schemas"]["destination_details_unimplemented"]; + amazon_pay?: components["schemas"]["destination_details_unimplemented"]; + au_bank_transfer?: components["schemas"]["destination_details_unimplemented"]; + blik?: components["schemas"]["refund_destination_details_generic"]; + br_bank_transfer?: components["schemas"]["refund_destination_details_generic"]; + card?: components["schemas"]["refund_destination_details_card"]; + cashapp?: components["schemas"]["destination_details_unimplemented"]; + customer_cash_balance?: components["schemas"]["destination_details_unimplemented"]; + eps?: components["schemas"]["destination_details_unimplemented"]; + eu_bank_transfer?: components["schemas"]["refund_destination_details_generic"]; + gb_bank_transfer?: components["schemas"]["refund_destination_details_generic"]; + giropay?: components["schemas"]["destination_details_unimplemented"]; + grabpay?: components["schemas"]["destination_details_unimplemented"]; + jp_bank_transfer?: components["schemas"]["refund_destination_details_generic"]; + klarna?: components["schemas"]["destination_details_unimplemented"]; + multibanco?: components["schemas"]["refund_destination_details_generic"]; + mx_bank_transfer?: components["schemas"]["refund_destination_details_generic"]; + p24?: components["schemas"]["refund_destination_details_generic"]; + paynow?: components["schemas"]["destination_details_unimplemented"]; + paypal?: components["schemas"]["destination_details_unimplemented"]; + pix?: components["schemas"]["destination_details_unimplemented"]; + revolut?: components["schemas"]["destination_details_unimplemented"]; + sofort?: components["schemas"]["destination_details_unimplemented"]; + swish?: components["schemas"]["refund_destination_details_generic"]; + th_bank_transfer?: components["schemas"]["refund_destination_details_generic"]; + /** @description The type of transaction-specific details of the payment method used in the refund (e.g., `card`). An additional hash is included on `destination_details` with a name matching this value. It contains information specific to the refund transaction. */ + type: string; + us_bank_transfer?: components["schemas"]["refund_destination_details_generic"]; + wechat_pay?: components["schemas"]["destination_details_unimplemented"]; + zip?: components["schemas"]["destination_details_unimplemented"]; + }; + /** refund_destination_details_card */ + refund_destination_details_card: { + /** @description Value of the reference number assigned to the refund. */ + reference?: string; + /** @description Status of the reference number on the refund. This can be `pending`, `available` or `unavailable`. */ + reference_status?: string; + /** @description Type of the reference number assigned to the refund. */ + reference_type?: string; + /** + * @description The type of refund. This can be `refund`, `reversal`, or `pending`. + * @enum {string} + */ + type: "pending" | "refund" | "reversal"; + }; + /** refund_destination_details_generic */ + refund_destination_details_generic: { + /** @description The reference assigned to the refund. */ + reference?: string | null; + /** @description Status of the reference on the refund. This can be `pending`, `available` or `unavailable`. */ + reference_status?: string | 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; + /** @description The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. */ + liability?: components["schemas"]["connect_account_reference"] | null; + }; + /** 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"]; + amazon_pay?: components["schemas"]["setup_attempt_payment_method_details_amazon_pay"]; + 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"]; + revolut_pay?: components["schemas"]["setup_attempt_payment_method_details_revolut_pay"]; + 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_amazon_pay */ + setup_attempt_payment_method_details_amazon_pay: 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"]["setup_attempt_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_checks */ + setup_attempt_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; + }; + /** 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; + /** @description Details about payments collected offline. */ + offline?: components["schemas"]["payment_method_details_card_present_offline"] | 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`, `nn`, `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" | "nn" | "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" | "NNBANL2G" | "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_revolut_pay */ + setup_attempt_payment_method_details_revolut_pay: 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 can 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 when you're ready to collect your customer's payment credentials. + * Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid. + * The SetupIntent transitions through multiple [statuses](https://docs.stripe.com/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](https://stripe.com/guides/strong-customer-authentication) might need to be run through + * [Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection + * to streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents). + * If you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), + * it automatically attaches the resulting payment method to that Customer after successful setup. + * 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 to prevent saving invalid or unoptimized payment methods. + * + * By using SetupIntents, you can reduce friction for your customers, even as regulations change over time. + * + * Related guide: [Setup Intents API](https://docs.stripe.com/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. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.corp.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead. */ + 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"]; + amazon_pay?: components["schemas"]["setup_intent_payment_method_options_amazon_pay"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + card?: components["schemas"]["setup_intent_payment_method_options_card"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + card_present?: components["schemas"]["setup_intent_payment_method_options_card_present"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + 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_amazon_pay */ + setup_intent_payment_method_options_amazon_pay: Record; + /** 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. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#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" | 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_card_present */ + setup_intent_payment_method_options_card_present: Record; + /** 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"]; + mandate_options?: components["schemas"]["payment_method_options_us_bank_account_mandate_options"]; + /** + * @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. + * @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 The reference point that aligns future [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle) dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals. The timestamp is in UTC format. + */ + billing_cycle_anchor: number; + /** @description The fixed values used to calculate the `billing_cycle_anchor`. */ + billing_cycle_anchor_config?: components["schemas"]["subscriptions_resource_billing_cycle_anchor_config"] | 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; + /** + * Format: unix-time + * @description A date in the future at which the subscription will automatically get canceled + */ + cancel_at?: number | null; + /** @description Whether this subscription will (if `status=active`) or did (if `status=canceled`) cancel at the end of the current billing 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 and certain local payment methods UIs. */ + 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + discount?: components["schemas"]["discount"] | null; + /** @description The discounts applied to the subscription. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount. */ + discounts: (string | components["schemas"]["discount"])[]; + /** + * 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; + invoice_settings: components["schemas"]["subscriptions_resource_subscription_invoice_settings"]; + /** + * 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. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](/billing/subscriptions/pause-payment). */ + 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`, `unpaid`, or `paused`. + * + * For `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this status can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` status. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal status, 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. + * + * A subscription can only enter a `paused` status [when a trial ends without a payment method](/billing/subscriptions/trials#create-free-trials-without-payment). A `paused` subscription doesn't generate invoices and can be resumed after your customer adds their payment method. The `paused` status is different from [pausing collection](/billing/subscriptions/pause-payment), which still generates invoices and leaves the subscription's status unchanged. + * + * 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; + /** @description The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. */ + liability?: components["schemas"]["connect_account_reference"] | null; + }; + /** 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) defined as subscription metadata when an invoice is created. Becomes an immutable snapshot of the subscription metadata at the time of invoice finalization. + * *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 The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount. */ + discounts: (string | components["schemas"]["discount"])[]; + /** @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/authentication-flow#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" | 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 The stackable discounts that will be applied to the item. */ + discounts: components["schemas"]["discounts_resource_stackable_discount"][]; + /** @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 The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount. */ + discounts: components["schemas"]["discounts_resource_stackable_discount"][]; + /** @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 for rendering in Stripe surfaces and certain local payment methods UIs. */ + description?: string | null; + /** @description The stackable discounts that will be applied to the subscription on this phase. Subscription item discounts are applied before subscription discounts. */ + discounts: components["schemas"]["discounts_resource_stackable_discount"][]; + /** + * 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 for rendering in Stripe surfaces and certain local payment methods UIs. */ + description?: string | null; + invoice_settings: components["schemas"]["invoice_setting_subscription_schedule_setting"]; + /** @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; + /** @description The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. */ + liability?: components["schemas"]["connect_account_reference"] | null; + }; + /** 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"]; + }; + /** SubscriptionsResourceBillingCycleAnchorConfig */ + subscriptions_resource_billing_cycle_anchor_config: { + /** @description The day of the month of the billing_cycle_anchor. */ + day_of_month: number; + /** @description The hour of the day of the billing_cycle_anchor. */ + hour?: number | null; + /** @description The minute of the hour of the billing_cycle_anchor. */ + minute?: number | null; + /** @description The month to start full cycle billing periods. */ + month?: number | null; + /** @description The second of the minute of the billing_cycle_anchor. */ + second?: number | null; + }; + /** + * 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 SEPA Direct Debit payment method options to pass to invoices created by the subscription. */ + sepa_debit?: components["schemas"]["invoice_payment_method_options_sepa_debit"] | 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" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "multibanco" | "p24" | "paynow" | "paypal" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "us_bank_account" | "wechat_pay")[] | null; + /** + * @description Configure whether Stripe updates `subscription.default_payment_method` when payment succeeds. Defaults to `off`. + * @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; + }; + /** SubscriptionsResourceSubscriptionInvoiceSettings */ + subscriptions_resource_subscription_invoice_settings: { + /** @description The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription. */ + account_tax_ids?: (string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[] | null; + issuer: components["schemas"]["connect_account_reference"]; + }; + /** + * 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 amount after taxes in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + 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 details of the ship from location, such as the address. */ + ship_from_details?: components["schemas"]["tax_product_resource_ship_from_details"] | null; + /** @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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + 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; + }; + /** + * TaxProductRegistrationsResourceTaxRegistration + * @description A Tax `Registration` lets us know that your business is registered to collect tax on payments within a region, enabling you to [automatically collect tax](https://stripe.com/docs/tax). + * + * Stripe doesn't register on your behalf with the relevant authorities when you create a Tax `Registration` object. For more information on how to register to collect tax, see [our guide](https://stripe.com/docs/tax/registering). + * + * Related guide: [Using the Registrations API](https://stripe.com/docs/tax/registrations-api) + */ + "tax.registration": { + /** + * Format: unix-time + * @description Time at which the registration becomes active. Measured in seconds since the Unix epoch. + */ + active_from: number; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country: string; + country_options: components["schemas"]["tax_product_registrations_resource_country_options"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** + * Format: unix-time + * @description If set, the registration stops being active at this time. If not set, the registration will be active indefinitely. Measured in seconds since the Unix epoch. + */ + 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 String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax.registration"; + /** + * @description The status of the registration. This field is present for convenience and can be deduced from `active_from` and `expires_at`. + * @enum {string} + */ + status: "active" | "expired" | "scheduled"; + }; + /** + * 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"; + /** + * Format: unix-time + * @description The Unix timestamp representing when the tax liability is assumed or reduced. + */ + posted_at: number; + /** @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 details of the ship from location, such as the address. */ + ship_from_details?: components["schemas"]["tax_product_resource_ship_from_details"] | 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + 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; + }; + /** TaxIDsOwner */ + tax_i_ds_owner: { + /** @description The account being referenced when `type` is `account`. */ + account?: string | components["schemas"]["account"]; + /** @description The Connect Application being referenced when `type` is `application`. */ + application?: string | components["schemas"]["application"]; + /** @description The customer being referenced when `type` is `customer`. */ + customer?: string | components["schemas"]["customer"]; + /** + * @description Type of owner referenced. + * @enum {string} + */ + type: "account" | "application" | "customer" | "self"; + }; + /** + * 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 The account or customer the tax ID belongs to. */ + owner?: components["schemas"]["tax_i_ds_owner"] | null; + /** + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; + }; + /** TaxProductRegistrationsResourceCountryOptions */ + tax_product_registrations_resource_country_options: { + ae?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + at?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + au?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + be?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + bg?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + bh?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + ca?: components["schemas"]["tax_product_registrations_resource_country_options_canada"]; + ch?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + cl?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + co?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + cy?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + cz?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + de?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + dk?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + ee?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + eg?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + es?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + fi?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + fr?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + gb?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + ge?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + gr?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + hr?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + hu?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + id?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + ie?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + is?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + it?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + jp?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + ke?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + kr?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + kz?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + lt?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + lu?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + lv?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + mt?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + mx?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + my?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + ng?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + nl?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + no?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + nz?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + om?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + pl?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + pt?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + ro?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + sa?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + se?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + sg?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + si?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + sk?: components["schemas"]["tax_product_registrations_resource_country_options_europe"]; + th?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + tr?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + us?: components["schemas"]["tax_product_registrations_resource_country_options_united_states"]; + vn?: components["schemas"]["tax_product_registrations_resource_country_options_simplified"]; + za?: components["schemas"]["tax_product_registrations_resource_country_options_default"]; + }; + /** TaxProductRegistrationsResourceCountryOptionsCaProvinceStandard */ + tax_product_registrations_resource_country_options_ca_province_standard: { + /** @description Two-letter CA province code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). */ + province: string; + }; + /** TaxProductRegistrationsResourceCountryOptionsCanada */ + tax_product_registrations_resource_country_options_canada: { + province_standard?: components["schemas"]["tax_product_registrations_resource_country_options_ca_province_standard"]; + /** + * @description Type of registration in Canada. + * @enum {string} + */ + type: "province_standard" | "simplified" | "standard"; + }; + /** TaxProductRegistrationsResourceCountryOptionsDefault */ + tax_product_registrations_resource_country_options_default: { + /** + * @description Type of registration in `country`. + * @enum {string} + */ + type: "standard"; + }; + /** TaxProductRegistrationsResourceCountryOptionsEuStandard */ + tax_product_registrations_resource_country_options_eu_standard: { + /** + * @description Place of supply scheme used in an EU standard registration. + * @enum {string} + */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** TaxProductRegistrationsResourceCountryOptionsEurope */ + tax_product_registrations_resource_country_options_europe: { + standard?: components["schemas"]["tax_product_registrations_resource_country_options_eu_standard"]; + /** + * @description Type of registration in an EU country. + * @enum {string} + */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** TaxProductRegistrationsResourceCountryOptionsSimplified */ + tax_product_registrations_resource_country_options_simplified: { + /** + * @description Type of registration in `country`. + * @enum {string} + */ + type: "simplified"; + }; + /** TaxProductRegistrationsResourceCountryOptionsUnitedStates */ + tax_product_registrations_resource_country_options_united_states: { + local_amusement_tax?: components["schemas"]["tax_product_registrations_resource_country_options_us_local_amusement_tax"]; + local_lease_tax?: components["schemas"]["tax_product_registrations_resource_country_options_us_local_lease_tax"]; + /** @description Two-letter US state code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). */ + state: string; + /** + * @description Type of registration in the US. + * @enum {string} + */ + type: "local_amusement_tax" | "local_lease_tax" | "state_communications_tax" | "state_sales_tax"; + }; + /** TaxProductRegistrationsResourceCountryOptionsUsLocalAmusementTax */ + tax_product_registrations_resource_country_options_us_local_amusement_tax: { + /** @description A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. */ + jurisdiction: string; + }; + /** TaxProductRegistrationsResourceCountryOptionsUsLocalLeaseTax */ + tax_product_registrations_resource_country_options_us_local_lease_tax: { + /** @description A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. */ + jurisdiction: string; + }; + /** 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @enum {string} + */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + 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; + }; + /** TaxProductResourceShipFromDetails */ + tax_product_resource_ship_from_details: { + address: components["schemas"]["tax_product_resource_postal_address"]; + }; + /** TaxProductResourceTaxBreakdown */ + tax_product_resource_tax_breakdown: { + /** @description The amount of tax, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + taxable_amount: number; + }; + /** TaxProductResourceTaxCalculationShippingCost */ + tax_product_resource_tax_calculation_shipping_cost: { + /** @description The shipping amount in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + 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 The level of the jurisdiction that imposes this tax rate. Will be `null` for manually defined tax rates. + * @enum {string|null} + */ + jurisdiction_level?: "city" | "country" | "county" | "district" | "multiple" | "state" | 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" | "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 indicating the name of the Configuration object, set by the user */ + name?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "terminal.configuration"; + offline?: components["schemas"]["terminal_configuration_configuration_resource_offline_config"]; + reboot_window?: components["schemas"]["terminal_configuration_configuration_resource_reboot_window"]; + stripe_s700?: components["schemas"]["terminal_configuration_configuration_resource_device_type_specific_config"]; + 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://docs.stripe.com/terminal/fleet/locations-and-zones?dashboard-or-api=api#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`, `stripe_s700`, `bbpos_chipper2x`, `bbpos_wisepos_e`, `verifone_P400`, `simulated_wisepos_e`, or `mobile_phone_reader`. + * @enum {string} + */ + device_type: "bbpos_chipper2x" | "bbpos_wisepad3" | "bbpos_wisepos_e" | "mobile_phone_reader" | "simulated_wisepos_e" | "stripe_m2" | "stripe_s700" | "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. + * @enum {string|null} + */ + status?: "offline" | "online" | 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"]; + }; + /** TerminalConfigurationConfigurationResourceOfflineConfig */ + terminal_configuration_configuration_resource_offline_config: { + /** @description Determines whether to allow transactions to be collected while reader is offline. Defaults to false. */ + enabled?: boolean | null; + }; + /** TerminalConfigurationConfigurationResourceRebootWindow */ + terminal_configuration_configuration_resource_reboot_window: { + /** @description Integer between 0 to 23 that represents the end hour of the reboot time window. The value must be different than the start_hour. */ + end_hour: number; + /** @description Integer between 0 to 23 that represents the start hour of the reboot time window. */ + start_hour: number; + }; + /** 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 Enable customer initiated cancellation when processing this payment. */ + enable_customer_cancellation?: boolean; + /** @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: { + /** @description Enable customer initiated cancellation when processing this SetupIntent. */ + enable_customer_cancellation?: boolean; + }; + /** + * 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; + refund_payment_config?: components["schemas"]["terminal_reader_reader_resource_refund_payment_config"]; + /** @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; + }; + /** + * TerminalReaderReaderResourceRefundPaymentConfig + * @description Represents a per-transaction override of a reader configuration + */ + terminal_reader_reader_resource_refund_payment_config: { + /** @description Enable customer initiated cancellation when refunding this payment. */ + enable_customer_cancellation?: 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 The Electronic Commerce Indicator (ECI). A protocol-level field + * indicating what degree of authentication was performed. + * @enum {string|null} + */ + electronic_commerce_indicator?: "01" | "02" | "05" | "06" | "07" | 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 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID + * (dsTransId) for this payment. */ + transaction_id?: string | 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 The Electronic Commerce Indicator (ECI). A protocol-level field + * indicating what degree of authentication was performed. + * @enum {string|null} + */ + electronic_commerce_indicator?: "01" | "02" | "05" | "06" | "07" | null; + /** + * @description The exemption requested via 3DS and accepted by the issuer at authentication time. + * @enum {string|null} + */ + exemption_indicator?: "low_risk" | "none" | null; + /** @description Whether Stripe requested the value of `exemption_indicator` in the transaction. This will depend on + * the outcome of Stripe's internal risk assessment. */ + exemption_indicator_applied?: boolean; + /** + * @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 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID + * (dsTransId) for this payment. */ + transaction_id?: string | 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. 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 [External accounts](/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; + }; + /** token_card_networks */ + token_card_networks: { + /** @description The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card. */ + preferred?: string | null; + }; + /** + * 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 The source field is deprecated. It might not always be present in the API response. */ + 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: [Reverse transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#reverse-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 Details about network-specific tracking information if available. */ + tracking_details?: components["schemas"]["treasury_outbound_payments_resource_outbound_payment_resource_tracking_details"] | null; + /** @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 Details about network-specific tracking information if available. */ + tracking_details?: components["schemas"]["treasury_outbound_transfers_resource_outbound_transfer_resource_tracking_details"] | null; + /** @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; + /** + * @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" | 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; + }; + /** TreasuryOutboundPaymentsResourceACHTrackingDetails */ + treasury_outbound_payments_resource_ach_tracking_details: { + /** @description ACH trace ID of the OutboundPayment for payments sent over the `ach` network. */ + trace_id: string; + }; + /** 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; + }; + /** TreasuryOutboundPaymentsResourceOutboundPaymentResourceTrackingDetails */ + treasury_outbound_payments_resource_outbound_payment_resource_tracking_details: { + ach?: components["schemas"]["treasury_outbound_payments_resource_ach_tracking_details"]; + /** + * @description The US bank account network used to send funds. + * @enum {string} + */ + type: "ach" | "us_domestic_wire"; + us_domestic_wire?: components["schemas"]["treasury_outbound_payments_resource_us_domestic_wire_tracking_details"]; + }; + /** 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"]; + }; + /** TreasuryOutboundPaymentsResourceUSDomesticWireTrackingDetails */ + treasury_outbound_payments_resource_us_domestic_wire_tracking_details: { + /** @description IMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. */ + imad: string; + /** @description OMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. */ + omad?: string | null; + }; + /** TreasuryOutboundTransfersResourceACHTrackingDetails */ + treasury_outbound_transfers_resource_ach_tracking_details: { + /** @description ACH trace ID of the OutboundTransfer for transfers sent over the `ach` network. */ + trace_id: string; + }; + /** TreasuryOutboundTransfersResourceOutboundTransferResourceTrackingDetails */ + treasury_outbound_transfers_resource_outbound_transfer_resource_tracking_details: { + ach?: components["schemas"]["treasury_outbound_transfers_resource_ach_tracking_details"]; + /** + * @description The US bank account network used to send funds. + * @enum {string} + */ + type: "ach" | "us_domestic_wire"; + us_domestic_wire?: components["schemas"]["treasury_outbound_transfers_resource_us_domestic_wire_tracking_details"]; + }; + /** 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; + }; + /** TreasuryOutboundTransfersResourceUSDomesticWireTrackingDetails */ + treasury_outbound_transfers_resource_us_domestic_wire_tracking_details: { + /** @description IMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. */ + imad: string; + /** @description OMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. */ + omad?: string | 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; + /** @description Set if the ReceivedDebit was created due to a [Payout](https://stripe.com/docs/api#payouts) object. */ + payout?: 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) + * + * This is our legacy usage-based billing API. See the [updated usage-based billing docs](https://docs.stripe.com/billing/subscriptions/usage-based). + */ + 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://docs.stripe.com/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://docs.stripe.com/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://docs.stripe.com/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 The collect parameter is deprecated. Use `collection_options` instead. + * @enum {string} + */ + collect?: "currently_due" | "eventually_due"; + /** + * collection_options_params + * @description Specifies the requirements that Stripe collects from connected accounts in the Connect Onboarding flow. + */ + collection_options?: { + /** @enum {string} */ + fields: "currently_due" | "eventually_due"; + /** @enum {string} */ + future_requirements?: "include" | "omit"; + }; + /** @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: { + /** account_config_param */ + account_management?: { + enabled: boolean; + /** account_features_param */ + features?: { + external_account_collection?: boolean; + }; + }; + /** account_config_param */ + account_onboarding?: { + enabled: boolean; + /** account_features_param */ + features?: { + external_account_collection?: boolean; + }; + }; + /** payouts_config_param */ + balances?: { + enabled: boolean; + /** payouts_features_param */ + features?: { + edit_payout_schedule?: boolean; + external_account_collection?: boolean; + instant_payouts?: boolean; + standard_payouts?: boolean; + }; + }; + /** base_config_param */ + documents?: { + enabled: boolean; + /** base_features_param */ + features?: Record; + }; + /** account_config_param */ + notification_banner?: { + enabled: boolean; + /** account_features_param */ + features?: { + external_account_collection?: boolean; + }; + }; + /** payments_config_param */ + payment_details?: { + enabled: boolean; + /** payments_features_param */ + features?: { + capture_payments?: boolean; + destination_on_behalf_of_charge_management?: boolean; + dispute_management?: boolean; + refund_management?: boolean; + }; + }; + /** payments_config_param */ + payments?: { + enabled: boolean; + /** payments_features_param */ + features?: { + capture_payments?: boolean; + destination_on_behalf_of_charge_management?: boolean; + dispute_management?: boolean; + refund_management?: boolean; + }; + }; + /** payouts_config_param */ + payouts?: { + enabled: boolean; + /** payouts_features_param */ + features?: { + edit_payout_schedule?: boolean; + external_account_collection?: boolean; + instant_payouts?: boolean; + standard_payouts?: boolean; + }; + }; + /** base_config_param */ + payouts_list?: { + enabled: boolean; + /** base_features_param */ + features?: Record; + }; + /** base_config_param */ + tax_registrations?: { + enabled: boolean; + /** base_features_param */ + features?: Record; + }; + /** base_config_param */ + tax_settings?: { + enabled: boolean; + /** base_features_param */ + features?: Record; + }; + }; + /** @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?: { + /** @description Only return connected accounts 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"]["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?: { + /** annual_revenue_specs */ + annual_revenue?: { + amount: number; + currency: string; + fiscal_year_end: string; + }; + estimated_worker_count?: number; + 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. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. + * @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 (for example, whether it has been requested or not). Each + * capability is inactive until you have provided its specific + * requirements and Stripe has verified them. An account might have some + * of its requested capabilities be active and some be inactive. + * + * Required when [account.controller.stripe_dashboard.type](/api/accounts/create#create_account-controller-dashboard-type) + * is `none`, which includes Custom accounts. + */ + capabilities?: { + /** capability_param */ + acss_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + affirm_payments?: { + requested?: boolean; + }; + /** capability_param */ + afterpay_clearpay_payments?: { + requested?: boolean; + }; + /** capability_param */ + amazon_pay_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 */ + gb_bank_transfer_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 */ + jp_bank_transfer_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 */ + mobilepay_payments?: { + requested?: boolean; + }; + /** capability_param */ + multibanco_payments?: { + requested?: boolean; + }; + /** capability_param */ + mx_bank_transfer_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 */ + revolut_pay_payments?: { + requested?: boolean; + }; + /** capability_param */ + sepa_bank_transfer_payments?: { + requested?: boolean; + }; + /** capability_param */ + sepa_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + sofort_payments?: { + requested?: boolean; + }; + /** capability_param */ + swish_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 */ + twint_payments?: { + requested?: boolean; + }; + /** capability_param */ + us_bank_account_ach_payments?: { + requested?: boolean; + }; + /** capability_param */ + us_bank_transfer_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`. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. + */ + company?: { + /** legal_entity_and_kyc_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" | "registered_charity" | "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; + }; + }; + }; + /** + * controller_specs + * @description A hash of configuration describing the account controller's attributes. + */ + controller?: { + /** controller_fees_specs */ + fees?: { + /** @enum {string} */ + payer?: "account" | "application"; + }; + /** controller_losses_specs */ + losses?: { + /** @enum {string} */ + payments?: "application" | "stripe"; + }; + /** @enum {string} */ + requirement_collection?: "application" | "stripe"; + /** controller_dashboard_specs */ + stripe_dashboard?: { + /** @enum {string} */ + type?: "express" | "full" | "none"; + }; + }; + /** @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://docs.stripe.com/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. If [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, Stripe doesn't email the account without 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](/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](/js), or a dictionary, as documented in the `external_account` parameter for [bank account](/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](/api#account_create_bank_account) or [card creation](/api#account_create_card) APIs. After you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ + 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`. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. + */ + 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; + }; + /** individual_relationship_specs */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + percent_ownership?: number | ""; + 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; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be 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?: { + /** bacs_debit_payments_specs */ + bacs_debit_payments?: { + display_name?: string; + }; + /** 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](/connect/updating-accounts#tos-acceptance). This property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. This property defaults to a `full` service agreement when empty. + */ + 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?: { + /** annual_revenue_specs */ + annual_revenue?: { + amount: number; + currency: string; + fiscal_year_end: string; + }; + estimated_worker_count?: number; + 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. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. + * @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 (for example, whether it has been requested or not). Each + * capability is inactive until you have provided its specific + * requirements and Stripe has verified them. An account might have some + * of its requested capabilities be active and some be inactive. + * + * Required when [account.controller.stripe_dashboard.type](/api/accounts/create#create_account-controller-dashboard-type) + * is `none`, which includes Custom accounts. + */ + capabilities?: { + /** capability_param */ + acss_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + affirm_payments?: { + requested?: boolean; + }; + /** capability_param */ + afterpay_clearpay_payments?: { + requested?: boolean; + }; + /** capability_param */ + amazon_pay_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 */ + gb_bank_transfer_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 */ + jp_bank_transfer_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 */ + mobilepay_payments?: { + requested?: boolean; + }; + /** capability_param */ + multibanco_payments?: { + requested?: boolean; + }; + /** capability_param */ + mx_bank_transfer_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 */ + revolut_pay_payments?: { + requested?: boolean; + }; + /** capability_param */ + sepa_bank_transfer_payments?: { + requested?: boolean; + }; + /** capability_param */ + sepa_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + sofort_payments?: { + requested?: boolean; + }; + /** capability_param */ + swish_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 */ + twint_payments?: { + requested?: boolean; + }; + /** capability_param */ + us_bank_account_ach_payments?: { + requested?: boolean; + }; + /** capability_param */ + us_bank_transfer_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`. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. + */ + company?: { + /** legal_entity_and_kyc_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" | "registered_charity" | "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://docs.stripe.com/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. If [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, Stripe doesn't email the account without 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](/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](/js), or a dictionary, as documented in the `external_account` parameter for [bank account](/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](/api#account_create_bank_account) or [card creation](/api#account_create_card) APIs. After you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ + 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`. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. + */ + 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; + }; + /** individual_relationship_specs */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + percent_ownership?: number | ""; + 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; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be 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?: { + /** bacs_debit_payments_specs */ + bacs_debit_payments?: { + display_name?: string; + }; + /** 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 | ""; + }; + /** invoices_settings_specs */ + invoices?: { + default_account_tax_ids?: 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](/connect/updating-accounts#tos-acceptance). This property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. This property defaults to a `full` service agreement when empty. + */ + 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. Some 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; + legal_guardian?: 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": { + /** + * person_additional_tos_acceptances_specs + * @description Details on the legal guardian's acceptance of the required Stripe agreements. + */ + additional_tos_acceptances?: { + /** settings_terms_of_service_specs */ + account?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** + * legal_entity_and_kyc_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://docs.stripe.com/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://docs.stripe.com/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://docs.stripe.com/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; + legal_guardian?: 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": { + /** + * person_additional_tos_acceptances_specs + * @description Details on the legal guardian's acceptance of the required Stripe agreements. + */ + additional_tos_acceptances?: { + /** settings_terms_of_service_specs */ + account?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** + * legal_entity_and_kyc_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://docs.stripe.com/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://docs.stripe.com/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://docs.stripe.com/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; + legal_guardian?: 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; + legal_guardian?: 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": { + /** + * person_additional_tos_acceptances_specs + * @description Details on the legal guardian's acceptance of the required Stripe agreements. + */ + additional_tos_acceptances?: { + /** settings_terms_of_service_specs */ + account?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** + * legal_entity_and_kyc_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://docs.stripe.com/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://docs.stripe.com/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://docs.stripe.com/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; + legal_guardian?: 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": { + /** + * person_additional_tos_acceptances_specs + * @description Details on the legal guardian's acceptance of the required Stripe agreements. + */ + additional_tos_acceptances?: { + /** settings_terms_of_service_specs */ + account?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** + * legal_entity_and_kyc_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://docs.stripe.com/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://docs.stripe.com/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://docs.stripe.com/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; + legal_guardian?: 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; + /** @description Only return applications fees 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"]["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?: { + /** @description Only return transactions that were created during the given date interval. */ + 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`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `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?: { + /** @description Only return transactions that were created during the given date interval. */ + 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`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `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"]; + }; + }; + }; + }; + PostBillingMeterEventAdjustments: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * event_adjustment_cancel_settings_param + * @description Specifies which event to cancel. + */ + cancel?: { + identifier?: string; + }; + /** @description The name of the meter event. Corresponds with the `event_name` field on a meter. */ + event_name: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * @description Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. + * @enum {string} + */ + type: "cancel"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing.meter_event_adjustment"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingMeterEvents: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The name of the meter event. Corresponds with the `event_name` field on a meter. */ + event_name: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour period. */ + identifier?: string; + /** @description The payload of the event. This must contain the fields corresponding to a meter's `customer_mapping.event_payload_key` (default is `stripe_customer_id`) and `value_settings.event_payload_key` (default is `value`). Read more about the [payload](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides). */ + payload: { + [key: string]: string; + }; + /** + * Format: unix-time + * @description The time of the event. Measured in seconds since the Unix epoch. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current timestamp if not specified. + */ + timestamp?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing.meter_event"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBillingMeters: { + 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 Filter results to only include meters with the given status. */ + status?: "active" | "inactive"; + }; + 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.meter"][]; + /** @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"]; + }; + }; + }; + }; + PostBillingMeters: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * customer_mapping_param + * @description Fields that specify how to map a meter event to a customer. + */ + customer_mapping?: { + event_payload_key: string; + /** @enum {string} */ + type: "by_id"; + }; + /** + * aggregation_settings_param + * @description The default settings to aggregate a meter's events with. + */ + default_aggregation: { + /** @enum {string} */ + formula: "count" | "sum"; + }; + /** @description The meter's name. */ + display_name: string; + /** @description The name of the meter event to record usage for. Corresponds with the `event_name` field on meter events. */ + event_name: string; + /** + * @description The time window to pre-aggregate meter events for, if any. + * @enum {string} + */ + event_time_window?: "day" | "hour"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * meter_value_settings_param + * @description Fields that specify how to calculate a meter event's value. + */ + value_settings?: { + event_payload_key: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing.meter"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBillingMetersId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description Unique identifier for the object. */ + 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"]["billing.meter"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingMetersId: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Unique identifier for the object. */ + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The meter's name. */ + display_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"]["billing.meter"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingMetersIdDeactivate: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Unique identifier for the object. */ + 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"]["billing.meter"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBillingMetersIdEventSummaries: { + parameters: { + query: { + /** @description The customer for which to fetch event summaries. */ + customer: string; + /** @description The timestamp from when to stop aggregating meter events (exclusive). Must be aligned with minute boundaries. */ + end_time: 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 The timestamp from when to start aggregating meter events (inclusive). Must be aligned with minute boundaries. */ + start_time: 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 Specifies what granularity to use when generating event summaries. If not specified, a single event summary would be returned for the specified time range. For hourly granularity, start and end times must align with hour boundaries (e.g., 00:00, 01:00, ..., 23:00). For daily granularity, start and end times must align with UTC day boundaries (00:00 UTC). */ + value_grouping_window?: "day" | "hour"; + }; + header?: never; + path: { + /** @description Unique identifier for the object. */ + id: 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"]["billing.meter_event_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"]; + }; + }; + }; + }; + PostBillingMetersIdReactivate: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Unique identifier for the object. */ + 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"]["billing.meter"]; + }; + }; + /** @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_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_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#settlement-merchant). 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?: { + /** @description Only return charges that were created during the given date interval. */ + 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#collect-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#settlement-merchant). */ + on_behalf_of?: 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 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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) 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 Checkout Sessions that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @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 Sessions matching the given status. */ + status?: "complete" | "expired" | "open"; + /** @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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @description Specify whether Checkout should collect the customer's billing address. Defaults to `auto`. + * @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?: { + /** payment_method_reuse_agreement_params */ + payment_method_reuse_agreement?: { + /** @enum {string} */ + position: "auto" | "hidden"; + }; + /** @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). Required in `setup` mode when `payment_method_types` is not set. */ + currency?: string; + /** @description Collect additional information from your customer using custom fields. Up to 3 fields are supported. */ + custom_fields?: { + /** custom_field_dropdown_param */ + dropdown?: { + default_value?: string; + options: { + label: string; + value: string; + }[]; + }; + key: string; + /** custom_field_label_param */ + label: { + custom: string; + /** @enum {string} */ + type: "custom"; + }; + /** custom_field_numeric_param */ + numeric?: { + default_value?: string; + maximum_length?: number; + minimum_length?: number; + }; + optional?: boolean; + /** custom_field_text_param */ + text?: { + default_value?: string; + 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?: { + after_submit?: { + message: string; + } | ""; + 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 recently saved 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, otherwise the most recently saved 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; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + 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. Defaults to `always`. + * + * 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_data_param + * @description This parameter allows you to set some attributes on the payment method created during a Checkout session. + */ + payment_method_data?: { + /** @enum {string} */ + allow_redisplay?: "always" | "limited" | "unspecified"; + }; + /** + * 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 */ + amazon_pay?: { + /** @enum {string} */ + setup_future_usage?: "none" | "off_session"; + }; + /** 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} */ + request_three_d_secure?: "any" | "automatic" | "challenge"; + /** @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 */ + mobilepay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + multibanco?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** 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 */ + revolut_pay?: { + /** @enum {string} */ + setup_future_usage?: "none" | "off_session"; + }; + /** 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 */ + swish?: { + reference?: string; + }; + /** payment_method_options_param */ + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + }; + /** @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. + * + * You can omit this attribute to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). + * See [Dynamic Payment Methods](https://stripe.com/docs/payments/payment-methods/integration-options#using-dynamic-payment-methods) for more details. + * + * 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" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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; + }; + /** + * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) of embedded sessions. Defaults to `always`. + * @enum {string} + */ + redirect_on_completion?: "always" | "if_required" | "never"; + /** @description The URL to redirect your customer back to after they authenticate or cancel their payment on the + * payment method's app or site. This parameter is required if ui_mode is `embedded` + * and redirect-based payment methods are enabled on the session. */ + return_url?: string; + /** + * saved_payment_method_options_param + * @description Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode. + */ + saved_payment_method_options?: { + allow_redisplay_filters?: ("always" | "limited" | "unspecified")[]; + /** @enum {string} */ + payment_method_save?: "disabled" | "enabled"; + }; + /** + * 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. If blank or `auto`, `pay` is used. + * @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; + /** invoice_settings_params */ + invoice_settings?: { + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + 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. + * This parameter is not allowed if ui_mode is `embedded`. 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 during checkout. + */ + tax_id_collection?: { + enabled: boolean; + }; + /** + * @description The UI mode of the Session. Defaults to `hosted`. + * @enum {string} + */ + ui_mode?: "embedded" | "hosted"; + }; + }; + }; + 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"]; + }; + }; + }; + }; + PostCheckoutSessionsSession: { + 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; + } | ""; + }; + }; + }; + 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"]; + }; + }; + }; + }; + GetClimateOrders: { + 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"]["climate.order"][]; + /** @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"]; + }; + }; + }; + }; + PostClimateOrders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Requested amount of carbon removal units. Either this or `metric_tons` must be specified. */ + amount?: number; + /** + * beneficiary_params + * @description Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set. + */ + beneficiary?: { + public_name: string; + }; + /** @description Request currency for the order as a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a supported [settlement currency for your account](https://stripe.com/docs/currencies). If omitted, the account's default currency will be used. */ + currency?: 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; + }; + /** + * Format: decimal + * @description Requested number of tons for the order. Either this or `amount` must be specified. + */ + metric_tons?: string; + /** @description Unique identifier of the Climate product. */ + product: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["climate.order"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetClimateOrdersOrder: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description Unique identifier of the order. */ + order: 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"]["climate.order"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostClimateOrdersOrder: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Unique identifier of the order. */ + order: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set. */ + beneficiary?: { + public_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"]["climate.order"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostClimateOrdersOrderCancel: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Unique identifier of the order. */ + order: 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"]["climate.order"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetClimateProducts: { + 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"]["climate.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"]; + }; + }; + }; + }; + GetClimateProductsProduct: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + product: 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"]["climate.product"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetClimateSuppliers: { + 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"]["climate.supplier"][]; + /** @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"]; + }; + }; + }; + }; + GetClimateSuppliersSupplier: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + supplier: 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"]["climate.supplier"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetConfirmationTokensConfirmationToken: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + confirmation_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"]["confirmation_token"]; + }; + }; + /** @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 that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @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 Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`. + * @enum {string} + */ + email_type?: "credit_note" | "none"; + /** @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_amounts?: { + amount: number; + tax_rate: string; + taxable_amount: 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 Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`. */ + email_type?: "credit_note" | "none"; + /** @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_amounts?: { + amount: number; + tax_rate: string; + taxable_amount: 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 Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`. */ + email_type?: "credit_note" | "none"; + /** @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_amounts?: { + amount: number; + tax_rate: string; + taxable_amount: 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"]; + }; + }; + }; + }; + PostCustomerSessions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * components + * @description Configuration for each component. Exactly 1 component must be enabled. + */ + components: { + /** buy_button_param */ + buy_button?: { + enabled: boolean; + }; + /** payment_element_param */ + payment_element?: { + enabled: boolean; + /** features_param */ + features?: { + payment_method_allow_redisplay_filters?: ("always" | "limited" | "unspecified")[]; + /** @enum {string} */ + payment_method_redisplay?: "disabled" | "enabled"; + payment_method_redisplay_limit?: number; + /** @enum {string} */ + payment_method_remove?: "disabled" | "enabled"; + /** @enum {string} */ + payment_method_save?: "disabled" | "enabled"; + /** @enum {string} */ + payment_method_save_usage?: "off_session" | "on_session"; + }; + }; + /** pricing_table_param */ + pricing_table?: { + enabled: boolean; + }; + }; + /** @description The ID of an existing customer for which to create the Customer Session. */ + 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"]["customer_session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomers: { + parameters: { + query?: { + /** @description Only return customers that were created during the given date interval. */ + 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 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 | ""; + /** @enum {string} */ + validate_location?: "deferred" | "immediately"; + }; + /** + * @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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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 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 | ""; + /** @enum {string} */ + validate_location?: "deferred" | "immediately"; + }; + /** + * @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 This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** @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" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * 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 in UTC format to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). The anchor is the reference point that aligns future billing cycle dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals. + */ + 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 Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. */ + 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + 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 The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * invoice_settings_param + * @description All invoices will be billed using the specified settings. + */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @description A list of up to 20 subscription items, each with an attached price. */ + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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. Defaults to `false` (on-session). */ + 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 can't be paid. Creating Subscriptions with this status allows you to manage scenarios where additional customer 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 PaymentIntent on the first invoice. This allows simpler management of scenarios where additional customer 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 PaymentIntent 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 can't be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further customer action is needed, this parameter doesn't 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" | "challenge"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + sepa_debit?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + /** invoice_linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "multibanco" | "p24" | "paynow" | "paypal" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "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 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + promotion_code?: string; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/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?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @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 Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. */ + 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + 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 coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * invoice_settings_param + * @description All invoices will be billed using the specified settings. + */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + 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. Defaults to `false` (on-session). */ + off_session?: boolean; + /** @description If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](/billing/subscriptions/pause-payment). */ + 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" | "challenge"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + sepa_debit?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + /** invoice_linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "multibanco" | "p24" | "paynow" | "paypal" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "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/billing/subscriptions/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`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; + /** @description Only return 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 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"]; + }; + }; + }; + }; + GetEntitlementsActiveEntitlements: { + parameters: { + query: { + /** @description The ID of the 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"]["entitlements.active_entitlement"][]; + /** @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"]; + }; + }; + }; + }; + GetEntitlementsActiveEntitlementsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The ID of the entitlement. */ + 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"]["entitlements.active_entitlement"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetEntitlementsFeatures: { + parameters: { + query?: { + /** @description If set, filter results to only include features with the given archive status. */ + archived?: 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 If set, filter results to only include features with the given lookup_key. */ + lookup_key?: 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"]["entitlements.feature"][]; + /** @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"]; + }; + }; + }; + }; + PostEntitlementsFeatures: { + 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 unique key you provide as your own system identifier. This may be up to 80 characters. */ + lookup_key: string; + /** @description Set of key-value pairs 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 feature's name, for your own purpose, not meant to be displayable to the customer. */ + name: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["entitlements.feature"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetEntitlementsFeaturesId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The ID of the feature. */ + 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"]["entitlements.feature"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostEntitlementsFeaturesId: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Inactive features cannot be attached to new products and will not be returned from the features list endpoint. */ + active?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of key-value pairs 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 feature's name, for your own purpose, not meant to be displayable to the customer. */ + name?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["entitlements.feature"]; + }; + }; + /** @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?: { + /** @description Only return events that were created during the given date interval. */ + 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?: { + /** @description Only return links 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 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?: { + /** @description Only return files 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 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" | "transactions")[]; + }; + }; + }; + 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"]; + }; + }; + }; + }; + PostFinancialConnectionsAccountsAccountSubscribe: { + 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 to which you would like to subscribe. */ + features: "transactions"[]; + }; + }; + }; + 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"]; + }; + }; + }; + }; + PostFinancialConnectionsAccountsAccountUnsubscribe: { + 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 from which you would like to unsubscribe. */ + features: "transactions"[]; + }; + }; + }; + 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?: { + account_subcategories?: ("checking" | "credit_card" | "line_of_credit" | "mortgage" | "savings")[]; + 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" | "transactions")[]; + /** @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"]; + }; + }; + }; + }; + GetFinancialConnectionsTransactions: { + parameters: { + query: { + /** @description The ID of the Stripe account whose transactions will be retrieved. */ + account: 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 A filter on the list based on the object `transacted_at` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options: */ + transacted_at?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A filter on the list based on the object `transaction_refresh` field. The value can be a dictionary with the following options: */ + transaction_refresh?: { + 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.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"]; + }; + }; + }; + }; + GetFinancialConnectionsTransactionsTransaction: { + 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"]["financial_connections.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetForwardingRequests: { + parameters: { + query?: { + /** @description Similar to other List endpoints, filters results based on created timestamp. You can pass gt, gte, lt, and lte timestamp values. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + }; + /** @description A pagination cursor to fetch the previous page of the list. The value must be a ForwardingRequest ID. */ + 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 pagination cursor to fetch the next page of the list. The value must be a ForwardingRequest ID. */ + 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"]["forwarding.request"][]; + /** @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"]; + }; + }; + }; + }; + PostForwardingRequests: { + 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 PaymentMethod to insert into the forwarded request. Forwarding previously consumed PaymentMethods is allowed. */ + payment_method: string; + /** @description The field kinds to be replaced in the forwarded request. */ + replacements: ("card_cvc" | "card_expiry" | "card_number" | "cardholder_name")[]; + /** + * request_param + * @description The request body and headers to be sent to the destination endpoint. + */ + request?: { + body?: string; + headers?: { + name: string; + value: string; + }[]; + }; + /** @description The destination URL for the forwarded request. Must be supported by the config. */ + url: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["forwarding.request"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetForwardingRequestsId: { + 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"]["forwarding.request"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIdentityVerificationReports: { + parameters: { + query?: { + /** @description A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. */ + client_reference_id?: string; + /** @description Only return VerificationReports 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 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?: { + /** @description A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. */ + client_reference_id?: string; + /** @description Only return VerificationSessions 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 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 A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. */ + client_reference_id?: 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; + }; + /** + * 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; + } | ""; + }; + /** + * provided_details_param + * @description Details provided about the user being verified. These details may be shown to the user. + */ + provided_details?: { + email?: string; + phone?: string; + }; + /** @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. You must provide a `type` if not passing `verification_flow`. + * @enum {string} + */ + type?: "document" | "id_number"; + /** @description The ID of a Verification Flow from the Dashboard. See https://docs.stripe.com/identity/verification-flows. */ + verification_flow?: 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"]; + }; + }; + }; + }; + 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; + } | ""; + }; + /** + * provided_details_param + * @description Details provided about the user being verified. These details may be shown to the user. + */ + provided_details?: { + email?: string; + phone?: 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"]; + }; + }; + }; + }; + 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?: { + /** @description Only return invoice items that were created during the given date interval. */ + 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 and promotion codes to redeem into discounts for the invoice item or invoice line item. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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. One of `price` or `price_data` is required. */ + price?: string; + /** + * one_time_price_data + * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. + */ + 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 is 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, promotion codes & 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; + promotion_code?: 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. One of `price` or `price_data` is required. */ + price?: string; + /** + * one_time_price_data + * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. + */ + 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"; + /** @description Only return invoices that were created during the given date interval. */ + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @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 and promotion codes 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; + promotion_code?: 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; + }; + /** + * param + * @description The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. + */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be 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 the number for this invoice. If no number is present then a number will be assigned automatically when the invoice is finalized. In many markets, regulations require invoices to be unique, sequential and / or gapless. You are responsible for ensuring this is true across all your different invoicing systems in the event that you edit the invoice number using our API. If you use only Stripe for your invoices and do not change invoice numbers, Stripe handles this aspect of compliance for you automatically. */ + number?: 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" | "challenge"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + sepa_debit?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + /** invoice_linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "multibanco" | "p24" | "paynow" | "paypal" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "us_bank_account" | "wechat_pay")[] | ""; + }; + /** + * @description How to handle pending invoice items on invoice creation. Defaults to `exclude` if the parameter is omitted. + * @enum {string} + */ + pending_invoice_items_behavior?: "exclude" | "include"; + /** + * 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"]; + }; + }; + }; + }; + PostInvoicesCreatePreview: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * automatic_tax_param + * @description Settings for automatic tax lookup for this invoice preview. + */ + automatic_tax?: { + enabled: boolean; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @description The ID of the coupon to apply to this phase of the subscription schedule. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + 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; + /** + * customer_details_param + * @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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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 subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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; + promotion_code?: 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; + }[]; + /** + * param + * @description The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. + */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + /** @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 | ""; + /** + * @description Customizes the types of values to include when calculating the invoice. Defaults to `next` if unspecified. + * @enum {string} + */ + preview_mode?: "next" | "recurring"; + /** @description The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields. */ + schedule?: string; + /** + * schedule_details_params + * @description The schedule creation or modification params to apply as a preview. Cannot be used with `subscription` or `subscription_` prefixed fields. + */ + schedule_details?: { + /** @enum {string} */ + end_behavior?: "cancel" | "release"; + phases?: { + add_invoice_items?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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 | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + end_date?: number | "now"; + /** invoice_settings */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + days_until_due?: number; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + items: { + billing_thresholds?: { + usage_gte: number; + } | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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[] | ""; + }[]; + 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"; + }[]; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + }; + /** @description The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_details.items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_details.items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions. */ + subscription?: string; + /** + * subscription_details_params + * @description The subscription creation or modification params to apply as a preview. Cannot be used with `schedule` or `schedule_details` fields. + */ + subscription_details?: { + billing_cycle_anchor?: ("now" | "unchanged") | number; + cancel_at?: number | ""; + cancel_at_period_end?: boolean; + cancel_now?: boolean; + default_tax_rates?: string[] | ""; + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + 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[] | ""; + }[]; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** Format: unix-time */ + proration_date?: number; + /** @enum {string} */ + resume_at?: "now"; + /** Format: unix-time */ + start_date?: number; + trial_end?: "now" | number; + }; + }; + }; + }; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @description The ID of the coupon to apply to this phase of the subscription schedule. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + 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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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 subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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; + promotion_code?: 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 connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + /** @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 | ""; + /** @description Customizes the types of values to include when calculating the invoice. Defaults to `next` if unspecified. */ + preview_mode?: "next" | "recurring"; + /** @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 schedule creation or modification params to apply as a preview. Cannot be used with `subscription` or `subscription_` prefixed fields. */ + schedule_details?: { + /** @enum {string} */ + end_behavior?: "cancel" | "release"; + phases?: { + add_invoice_items?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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 | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + end_date?: number | "now"; + /** invoice_settings */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + days_until_due?: number; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + items: { + billing_thresholds?: { + usage_gte: number; + } | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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[] | ""; + }[]; + 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"; + }[]; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + }; + /** @description The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_details.items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_details.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`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.billing_cycle_anchor` instead. */ + subscription_billing_cycle_anchor?: ("now" | "unchanged") | number; + /** @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. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_at` instead. */ + subscription_cancel_at?: number | ""; + /** @description Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_at_period_end` instead. */ + subscription_cancel_at_period_end?: boolean; + /** @description This simulates the subscription being canceled or expired immediately. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_now` instead. */ + 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. This field has been deprecated and will be removed in a future API version. Use `subscription_details.default_tax_rates` instead. */ + subscription_default_tax_rates?: string[] | ""; + /** @description The subscription creation or modification params to apply as a preview. Cannot be used with `schedule` or `schedule_details` fields. */ + subscription_details?: { + billing_cycle_anchor?: ("now" | "unchanged") | number; + cancel_at?: number | ""; + cancel_at_period_end?: boolean; + cancel_now?: boolean; + default_tax_rates?: string[] | ""; + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + 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[] | ""; + }[]; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** Format: unix-time */ + proration_date?: number; + /** @enum {string} */ + resume_at?: "now"; + /** Format: unix-time */ + start_date?: number; + trial_end?: "now" | number; + }; + /** @description A list of up to 20 subscription items, each with an attached price. This field has been deprecated and will be removed in a future API version. Use `subscription_details.items` instead. */ + subscription_items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + 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/billing/subscriptions/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`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.proration_behavior` instead. */ + 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'. This field has been deprecated and will be removed in a future API version. Use `subscription_details.proration_date` instead. */ + 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. This field has been deprecated and will be removed in a future API version. Use `subscription_details.resume_at` instead. */ + subscription_resume_at?: "now"; + /** @description Date a subscription is intended to start (can be future or past). This field has been deprecated and will be removed in a future API version. Use `subscription_details.start_date` instead. */ + 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. This field has been deprecated and will be removed in a future API version. Use `subscription_details.trial_end` instead. */ + subscription_trial_end?: "now" | number; + }; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @description The ID of the coupon to apply to this phase of the subscription schedule. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + 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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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 subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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; + promotion_code?: 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 connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + /** @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 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 | ""; + /** @description Customizes the types of values to include when calculating the invoice. Defaults to `next` if unspecified. */ + preview_mode?: "next" | "recurring"; + /** @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 schedule creation or modification params to apply as a preview. Cannot be used with `subscription` or `subscription_` prefixed fields. */ + schedule_details?: { + /** @enum {string} */ + end_behavior?: "cancel" | "release"; + phases?: { + add_invoice_items?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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 | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + end_date?: number | "now"; + /** invoice_settings */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + days_until_due?: number; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + items: { + billing_thresholds?: { + usage_gte: number; + } | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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[] | ""; + }[]; + 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"; + }[]; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + }; + /** @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_details.items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_details.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`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.billing_cycle_anchor` instead. */ + subscription_billing_cycle_anchor?: ("now" | "unchanged") | number; + /** @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. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_at` instead. */ + subscription_cancel_at?: number | ""; + /** @description Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_at_period_end` instead. */ + subscription_cancel_at_period_end?: boolean; + /** @description This simulates the subscription being canceled or expired immediately. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_now` instead. */ + 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. This field has been deprecated and will be removed in a future API version. Use `subscription_details.default_tax_rates` instead. */ + subscription_default_tax_rates?: string[] | ""; + /** @description The subscription creation or modification params to apply as a preview. Cannot be used with `schedule` or `schedule_details` fields. */ + subscription_details?: { + billing_cycle_anchor?: ("now" | "unchanged") | number; + cancel_at?: number | ""; + cancel_at_period_end?: boolean; + cancel_now?: boolean; + default_tax_rates?: string[] | ""; + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + 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[] | ""; + }[]; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** Format: unix-time */ + proration_date?: number; + /** @enum {string} */ + resume_at?: "now"; + /** Format: unix-time */ + start_date?: number; + trial_end?: "now" | number; + }; + /** @description A list of up to 20 subscription items, each with an attached price. This field has been deprecated and will be removed in a future API version. Use `subscription_details.items` instead. */ + subscription_items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + 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/billing/subscriptions/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`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.proration_behavior` instead. */ + 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'. This field has been deprecated and will be removed in a future API version. Use `subscription_details.proration_date` instead. */ + 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. This field has been deprecated and will be removed in a future API version. Use `subscription_details.resume_at` instead. */ + subscription_resume_at?: "now"; + /** @description Date a subscription is intended to start (can be future or past). This field has been deprecated and will be removed in a future API version. Use `subscription_details.start_date` instead. */ + 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. This field has been deprecated and will be removed in a future API version. Use `subscription_details.trial_end` instead. */ + subscription_trial_end?: "now" | number; + }; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @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; + promotion_code?: 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; + /** + * param + * @description The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. + */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be 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 the number for this invoice. If no number is present then a number will be assigned automatically when the invoice is finalized. In many markets, regulations require invoices to be unique, sequential and / or gapless. You are responsible for ensuring this is true across all your different invoicing systems in the event that you edit the invoice number using our API. If you use only Stripe for your invoices and do not change invoice numbers, Stripe handles this aspect of compliance for you automatically. */ + number?: 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" | "challenge"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + sepa_debit?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + /** invoice_linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "multibanco" | "p24" | "paynow" | "paypal" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "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"]; + }; + }; + }; + }; + PostInvoicesInvoiceAddLines: { + 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 Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + invoice_metadata?: { + [key: string]: string; + } | ""; + /** @description The line items to add. */ + lines: { + amount?: number; + description?: string; + discountable?: boolean; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + invoice_item?: string; + metadata?: { + [key: string]: string; + } | ""; + /** period */ + period?: { + /** Format: unix-time */ + end: number; + /** Format: unix-time */ + start: number; + }; + price?: string; + /** one_time_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; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_amounts?: { + amount: number; + /** tax_rate_data_param */ + tax_rate_data: { + country?: string; + description?: string; + display_name: string; + inclusive: boolean; + jurisdiction?: string; + percentage: number; + state?: string; + /** @enum {string} */ + tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "vat"; + }; + taxable_amount: number; + }[] | ""; + tax_rates?: 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"]; + }; + }; + }; + }; + 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"]; + }; + }; + }; + }; + PostInvoicesInvoiceLinesLineItemId: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Invoice ID of line item */ + invoice: string; + /** @description Invoice line item ID */ + line_item_id: 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 line item. Defaults to false for prorations or negative line items, and true for all other line items. Cannot be set to true for prorations. */ + discountable?: boolean; + /** @description The coupons, promotion codes & existing discounts which apply to the line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data. */ + 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. One of `price` or `price_data` is required. */ + price?: string; + /** + * one_time_price_data_with_product_data + * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. + */ + price_data?: { + currency: string; + product?: string; + /** product_data */ + product_data?: { + description?: string; + images?: string[]; + metadata?: { + [key: string]: string; + }; + name: string; + tax_code?: 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 line item. */ + quantity?: number; + /** @description A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes on your own or use a third-party to calculate them. You cannot set tax amounts if any line item has [tax_rates](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates) or if the invoice has [default_tax_rates](https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates) or uses [automatic tax](https://stripe.com/docs/tax/invoicing). Pass an empty string to remove previously defined tax amounts. */ + tax_amounts?: { + amount: number; + /** tax_rate_data_param */ + tax_rate_data: { + country?: string; + description?: string; + display_name: string; + inclusive: boolean; + jurisdiction?: string; + percentage: number; + state?: string; + /** @enum {string} */ + tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "vat"; + }; + taxable_amount: number; + }[] | ""; + /** @description The tax rates which apply to the line item. When set, the `default_tax_rates` on the invoice do not apply to this line item. 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"]["line_item"]; + }; + }; + /** @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"]; + }; + }; + }; + }; + PostInvoicesInvoiceRemoveLines: { + 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 Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + invoice_metadata?: { + [key: string]: string; + } | ""; + /** @description The line items to remove. */ + lines: { + /** @enum {string} */ + behavior: "delete" | "unassign"; + id: 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"]; + }; + }; + }; + }; + PostInvoicesInvoiceUpdateLines: { + 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 Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data. */ + invoice_metadata?: { + [key: string]: string; + } | ""; + /** @description The line items to update. */ + lines: { + amount?: number; + description?: string; + discountable?: boolean; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + id: string; + metadata?: { + [key: string]: string; + } | ""; + /** period */ + period?: { + /** Format: unix-time */ + end: number; + /** Format: unix-time */ + start: number; + }; + price?: string; + /** one_time_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; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_amounts?: { + amount: number; + /** tax_rate_data_param */ + tax_rate_data: { + country?: string; + description?: string; + display_name: string; + inclusive: boolean; + jurisdiction?: string; + percentage: number; + state?: string; + /** @enum {string} */ + tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "vat"; + }; + taxable_amount: number; + }[] | ""; + tax_rates?: 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")[]; + allowed_merchant_countries?: string[]; + 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")[]; + blocked_merchant_countries?: string[]; + 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")[]; + allowed_merchant_countries?: string[]; + 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")[]; + blocked_merchant_countries?: string[]; + 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; + personalization_design?: 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 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 personalization design object belonging to this card. */ + personalization_design?: string; + /** + * encrypted_pin_param + * @description The desired PIN for this card. + */ + pin?: { + encrypted_number?: 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"; + /** @description The second line to print on the card. */ + second_line?: string | ""; + /** + * 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; + }; + /** address_validation_param */ + address_validation?: { + /** @enum {string} */ + mode: "disabled" | "normalization_only" | "validation_and_normalization"; + }; + /** 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")[]; + allowed_merchant_countries?: string[]; + 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")[]; + blocked_merchant_countries?: string[]; + 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; + } | ""; + personalization_design?: string; + /** + * encrypted_pin_param + * @description The desired new PIN for this card. + */ + pin?: { + encrypted_number?: string; + }; + /** + * shipping_specs + * @description Updated shipping information for the card. + */ + shipping?: { + /** required_address */ + address: { + city: string; + country: string; + line1: string; + line2?: string; + postal_code: string; + state?: string; + }; + /** address_validation_param */ + address_validation?: { + /** @enum {string} */ + mode: "disabled" | "normalization_only" | "validation_and_normalization"; + }; + /** 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")[]; + allowed_merchant_countries?: string[]; + 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")[]; + blocked_merchant_countries?: string[]; + 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 Only return 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 | ""; + } | ""; + no_valid_authorization?: { + additional_documentation?: string | ""; + explanation?: string | ""; + } | ""; + 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" | "no_valid_authorization" | "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 | ""; + } | ""; + no_valid_authorization?: { + additional_documentation?: string | ""; + explanation?: string | ""; + } | ""; + 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" | "no_valid_authorization" | "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"]; + }; + }; + }; + }; + GetIssuingPersonalizationDesigns: { + 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 Only return personalization designs with the given lookup keys. */ + lookup_keys?: string[]; + /** @description Only return personalization designs with the given preferences. */ + preferences?: { + is_default?: boolean; + is_platform_default?: 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 personalization designs with the given status. */ + status?: "active" | "inactive" | "rejected" | "review"; + }; + 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.personalization_design"][]; + /** @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"]; + }; + }; + }; + }; + PostIssuingPersonalizationDesigns: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The file for the card logo, for use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`. */ + card_logo?: string; + /** + * carrier_text_param + * @description Hash containing carrier text, for use with physical bundles that support carrier text. + */ + carrier_text?: { + footer_body?: string | ""; + footer_title?: string | ""; + header_body?: string | ""; + header_title?: string | ""; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A lookup key used to retrieve personalization designs 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 Friendly display name. */ + name?: string; + /** @description The physical bundle object belonging to this personalization design. */ + physical_bundle: string; + /** + * preferences_param + * @description Information on whether this personalization design is used to create cards when one is not specified. + */ + preferences?: { + is_default: boolean; + }; + /** @description If set to true, will atomically remove the lookup key from the existing personalization design, and assign it to this personalization design. */ + transfer_lookup_key?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.personalization_design"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingPersonalizationDesignsPersonalizationDesign: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + personalization_design: 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.personalization_design"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingPersonalizationDesignsPersonalizationDesign: { + parameters: { + query?: never; + header?: never; + path: { + personalization_design: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The file for the card logo, for use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`. */ + card_logo?: string | ""; + /** @description Hash containing carrier text, for use with physical bundles that support carrier text. */ + carrier_text?: { + footer_body?: string | ""; + footer_title?: string | ""; + header_body?: string | ""; + header_title?: string | ""; + } | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A lookup key used to retrieve personalization designs 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 Friendly display name. Providing an empty string will set the field to null. */ + name?: string | ""; + /** @description The physical bundle object belonging to this personalization design. */ + physical_bundle?: string; + /** + * preferences_param + * @description Information on whether this personalization design is used to create cards when one is not specified. + */ + preferences?: { + is_default: boolean; + }; + /** @description If set to true, will atomically remove the lookup key from the existing personalization design, and assign it to this personalization design. */ + transfer_lookup_key?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.personalization_design"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingPhysicalBundles: { + 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 Only return physical bundles with the given status. */ + status?: "active" | "inactive" | "review"; + /** @description Only return physical bundles with the given type. */ + type?: "custom" | "standard"; + }; + 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.physical_bundle"][]; + /** @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"]; + }; + }; + }; + }; + GetIssuingPhysicalBundlesPhysicalBundle: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + physical_bundle: 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.physical_bundle"]; + }; + }; + /** @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"]; + }; + }; + }; + }; + GetIssuingTokens: { + parameters: { + query: { + /** @description The Issuing card identifier to list tokens for. */ + card: string; + /** @description Only return Issuing tokens 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 tokens with the given status. */ + status?: "active" | "deleted" | "requested" | "suspended"; + }; + 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.token"][]; + /** @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"]; + }; + }; + }; + }; + GetIssuingTokensToken: { + 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"]["issuing.token"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingTokensToken: { + parameters: { + query?: never; + header?: never; + path: { + token: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * @description Specifies which status the token should be updated to. + * @enum {string} + */ + status: "active" | "deleted" | "suspended"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.token"]; + }; + }; + /** @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?: { + account_subcategories?: ("checking" | "credit_card" | "line_of_credit" | "mortgage" | "savings")[]; + 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" | "transactions")[]; + /** @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" | "transactions")[]; + }; + }; + }; + 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) 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; + /** + * @description Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. + * @enum {string} + */ + confirmation_method?: "automatic" | "manual"; + /** @description ID of the ConfirmationToken used to confirm this PaymentIntent. + * + * If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence. */ + confirmation_token?: 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 ID of the Customer this PaymentIntent belongs to, if one exists. + * + * Payment methods attached to other Customers cannot be used with this PaymentIntent. + * + * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + 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; + /** @enum {string} */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** param */ + amazon_pay?: 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" | "nn" | "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 */ + mobilepay?: Record; + /** param */ + multibanco?: Record; + /** 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" | "velobank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options_with_hidden_options */ + radar_options?: { + session?: string; + }; + /** param */ + revolut_pay?: Record; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** param */ + swish?: Record; + /** param */ + twint?: Record; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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"; + } | ""; + amazon_pay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @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; + /** @enum {string} */ + setup_future_usage?: "" | "none"; + } | ""; + 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_extended_authorization?: "if_available" | "never"; + /** @enum {string} */ + request_incremental_authorization?: "if_available" | "never"; + /** @enum {string} */ + request_multicapture?: "if_available" | "never"; + /** @enum {string} */ + request_overcapture?: "if_available" | "never"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic" | "challenge"; + require_cvc_recollection?: boolean; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + statement_descriptor_suffix_kana?: string | ""; + statement_descriptor_suffix_kanji?: string | ""; + /** payment_method_options_param */ + three_d_secure?: { + /** @enum {string} */ + ares_trans_status?: "A" | "C" | "I" | "N" | "R" | "U" | "Y"; + cryptogram: string; + /** @enum {string} */ + electronic_commerce_indicator?: "01" | "02" | "05" | "06" | "07"; + /** @enum {string} */ + exemption_indicator?: "low_risk" | "none"; + /** network_options_param */ + network_options?: { + /** cartes_bancaires_network_options_param */ + cartes_bancaires?: { + /** @enum {string} */ + cb_avalgo: "0" | "1" | "2" | "3" | "4" | "A"; + cb_exemption?: string; + cb_score?: number; + }; + }; + requestor_challenge_indicator?: string; + transaction_id: string; + /** @enum {string} */ + version: "1.0.2" | "2.1.0" | "2.2.0"; + }; + } | ""; + card_present?: { + request_extended_authorization?: boolean; + request_incremental_authorization_support?: boolean; + /** routing_payment_method_options_param */ + routing?: { + /** @enum {string} */ + requested_priority?: "domestic" | "international"; + }; + } | ""; + 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-RO" | "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" | "ro-RO" | "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"; + } | ""; + mobilepay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + multibanco?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + 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"; + } | ""; + revolut_pay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + 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"; + } | ""; + swish?: { + reference?: string | ""; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + twint?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + /** linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + return_url?: string; + }; + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + collection_method?: "" | "paper"; + }; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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 card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge 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. + * 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 [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + 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. To unset this field to null, pass in an empty string. */ + 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; + /** @enum {string} */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** param */ + amazon_pay?: 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" | "nn" | "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 */ + mobilepay?: Record; + /** param */ + multibanco?: Record; + /** 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" | "velobank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options_with_hidden_options */ + radar_options?: { + session?: string; + }; + /** param */ + revolut_pay?: Record; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** param */ + swish?: Record; + /** param */ + twint?: Record; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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"; + } | ""; + amazon_pay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @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; + /** @enum {string} */ + setup_future_usage?: "" | "none"; + } | ""; + 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_extended_authorization?: "if_available" | "never"; + /** @enum {string} */ + request_incremental_authorization?: "if_available" | "never"; + /** @enum {string} */ + request_multicapture?: "if_available" | "never"; + /** @enum {string} */ + request_overcapture?: "if_available" | "never"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic" | "challenge"; + require_cvc_recollection?: boolean; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + statement_descriptor_suffix_kana?: string | ""; + statement_descriptor_suffix_kanji?: string | ""; + /** payment_method_options_param */ + three_d_secure?: { + /** @enum {string} */ + ares_trans_status?: "A" | "C" | "I" | "N" | "R" | "U" | "Y"; + cryptogram: string; + /** @enum {string} */ + electronic_commerce_indicator?: "01" | "02" | "05" | "06" | "07"; + /** @enum {string} */ + exemption_indicator?: "low_risk" | "none"; + /** network_options_param */ + network_options?: { + /** cartes_bancaires_network_options_param */ + cartes_bancaires?: { + /** @enum {string} */ + cb_avalgo: "0" | "1" | "2" | "3" | "4" | "A"; + cb_exemption?: string; + cb_score?: number; + }; + }; + requestor_challenge_indicator?: string; + transaction_id: string; + /** @enum {string} */ + version: "1.0.2" | "2.1.0" | "2.2.0"; + }; + } | ""; + card_present?: { + request_extended_authorization?: boolean; + request_incremental_authorization_support?: boolean; + /** routing_payment_method_options_param */ + routing?: { + /** @enum {string} */ + requested_priority?: "domestic" | "international"; + }; + } | ""; + 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-RO" | "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" | "ro-RO" | "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"; + } | ""; + mobilepay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + multibanco?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + 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"; + } | ""; + revolut_pay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + 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"; + } | ""; + swish?: { + reference?: string | ""; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + twint?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + /** linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + return_url?: string; + }; + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + collection_method?: "" | "paper"; + }; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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 can 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 card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge 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. 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 Defaults to `true`. When capturing a PaymentIntent, setting `final_capture` to `false` notifies Stripe to not release the remaining uncaptured funds to make sure that they're captured in future requests. You can only use this setting when [multicapture](https://stripe.com/docs/payments/multicapture) is available for PaymentIntents. */ + final_capture?: 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; + } | ""; + /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge 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 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 ID of the ConfirmationToken used to confirm this PaymentIntent. + * + * If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence. */ + confirmation_token?: 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; + /** @enum {string} */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** param */ + amazon_pay?: 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" | "nn" | "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 */ + mobilepay?: Record; + /** param */ + multibanco?: Record; + /** 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" | "velobank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options_with_hidden_options */ + radar_options?: { + session?: string; + }; + /** param */ + revolut_pay?: Record; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** param */ + swish?: Record; + /** param */ + twint?: Record; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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"; + } | ""; + amazon_pay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @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; + /** @enum {string} */ + setup_future_usage?: "" | "none"; + } | ""; + 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_extended_authorization?: "if_available" | "never"; + /** @enum {string} */ + request_incremental_authorization?: "if_available" | "never"; + /** @enum {string} */ + request_multicapture?: "if_available" | "never"; + /** @enum {string} */ + request_overcapture?: "if_available" | "never"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic" | "challenge"; + require_cvc_recollection?: boolean; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + statement_descriptor_suffix_kana?: string | ""; + statement_descriptor_suffix_kanji?: string | ""; + /** payment_method_options_param */ + three_d_secure?: { + /** @enum {string} */ + ares_trans_status?: "A" | "C" | "I" | "N" | "R" | "U" | "Y"; + cryptogram: string; + /** @enum {string} */ + electronic_commerce_indicator?: "01" | "02" | "05" | "06" | "07"; + /** @enum {string} */ + exemption_indicator?: "low_risk" | "none"; + /** network_options_param */ + network_options?: { + /** cartes_bancaires_network_options_param */ + cartes_bancaires?: { + /** @enum {string} */ + cb_avalgo: "0" | "1" | "2" | "3" | "4" | "A"; + cb_exemption?: string; + cb_score?: number; + }; + }; + requestor_challenge_indicator?: string; + transaction_id: string; + /** @enum {string} */ + version: "1.0.2" | "2.1.0" | "2.2.0"; + }; + } | ""; + card_present?: { + request_extended_authorization?: boolean; + request_incremental_authorization_support?: boolean; + /** routing_payment_method_options_param */ + routing?: { + /** @enum {string} */ + requested_priority?: "domestic" | "international"; + }; + } | ""; + 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-RO" | "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" | "ro-RO" | "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"; + } | ""; + mobilepay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + multibanco?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + 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"; + } | ""; + revolut_pay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + 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"; + } | ""; + swish?: { + reference?: string | ""; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + twint?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + /** linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + return_url?: string; + }; + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + collection_method?: "" | "paper"; + }; + /** 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. + * + * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * + * 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 can 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 card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @description Configuration for collecting the customer's billing address. Defaults to `auto`. + * @enum {string} + */ + billing_address_collection?: "auto" | "required"; + /** + * consent_collection_params + * @description Configure fields to gather active consent from customers. + */ + consent_collection?: { + /** payment_method_reuse_agreement_params */ + payment_method_reuse_agreement?: { + /** @enum {string} */ + position: "auto" | "hidden"; + }; + /** @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 3 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?: { + after_submit?: { + message: string; + } | ""; + 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[]; + /** @description The custom message to be displayed to a customer when a payment link is no longer active. */ + inactive_message?: 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; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + 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"; + description?: string; + metadata?: { + [key: string]: string; + }; + /** @enum {string} */ + setup_future_usage?: "off_session" | "on_session"; + statement_descriptor?: string; + statement_descriptor_suffix?: 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. Defaults to `always`. + * + * 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" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "swish" | "twint" | "us_bank_account" | "wechat_pay" | "zip")[]; + /** + * 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; + }; + /** + * restrictions_params + * @description Settings that restrict the usage of a payment link. + */ + restrictions?: { + /** completed_sessions_params */ + completed_sessions: { + limit: number; + }; + }; + /** + * 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; + /** subscription_data_invoice_settings_params */ + invoice_settings?: { + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + metadata?: { + [key: string]: string; + }; + trial_period_days?: number; + /** trial_settings_config */ + trial_settings?: { + /** end_behavior */ + end_behavior: { + /** @enum {string} */ + missing_payment_method: "cancel" | "create_invoice" | "pause"; + }; + }; + }; + /** + * 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @description Configuration for collecting the customer's billing address. Defaults to `auto`. + * @enum {string} + */ + billing_address_collection?: "auto" | "required"; + /** @description Collect additional information from your customer using custom fields. Up to 3 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?: { + after_submit?: { + message: string; + } | ""; + 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[]; + /** @description The custom message to be displayed to a customer when a payment link is no longer active. */ + inactive_message?: 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; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + 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; + }; + /** + * payment_intent_data_update_params + * @description A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. + */ + payment_intent_data?: { + description?: string | ""; + metadata?: { + [key: string]: string; + } | ""; + statement_descriptor?: string | ""; + statement_descriptor_suffix?: 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. Defaults to `always`. + * + * 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" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "swish" | "twint" | "us_bank_account" | "wechat_pay" | "zip")[] | ""; + /** @description Settings that restrict the usage of a payment link. */ + restrictions?: { + /** completed_sessions_params */ + completed_sessions: { + limit: number; + }; + } | ""; + /** @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")[]; + } | ""; + /** + * subscription_data_update_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?: { + /** subscription_data_invoice_settings_params */ + invoice_settings?: { + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + metadata?: { + [key: string]: string; + } | ""; + trial_settings?: { + /** end_behavior */ + end_behavior: { + /** @enum {string} */ + missing_payment_method: "cancel" | "create_invoice" | "pause"; + }; + } | ""; + }; + /** + * tax_id_collection_params + * @description Controls tax ID collection during checkout. + */ + tax_id_collection?: { + enabled: boolean; + }; + }; + }; + }; + 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 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_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 Amazon Pay is a wallet payment method that lets your customers check out the same way as on Amazon. + */ + amazon_pay?: { + /** 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 Uses a customer’s [cash balance](https://stripe.com/docs/payments/customer-balance) for the payment. The cash balance can be funded via a bank transfer. Check this [page](https://stripe.com/docs/payments/bank-transfers) for more details. + */ + customer_balance?: { + /** 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 Australia, Canada, Hong Kong, Japan, New Zealand, Singapore, Switzerland, United Kingdom, United States, and all countries in the European Economic Area except Iceland. 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"; + }; + }; + /** + * payment_method_param + * @description MobilePay is a [single-use](https://stripe.com/docs/payments/payment-methods#usage) card wallet payment method used in Denmark and Finland. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the MobilePay app. Check this [page](https://stripe.com/docs/payments/mobilepay) for more details. + */ + mobilepay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in Europe and the United States can accept Multibanco payments from customers in Portugal using [Sources](https://stripe.com/docs/sources)—a single integration path for creating payments using any supported method. + */ + multibanco?: { + /** 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 Revolut Pay, developed by Revolut, a global finance app, is a digital wallet payment method. Revolut Pay uses the customer’s stored balance or cards to fund the payment, and offers the option for non-Revolut customers to save their details after their first purchase. + */ + revolut_pay?: { + /** 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 Swish is a [real-time](https://stripe.com/docs/payments/real-time) payment method popular in Sweden. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the Swish mobile app and the Swedish BankID mobile app. Check this [page](https://stripe.com/docs/payments/swish) for more details. + */ + swish?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Twint is a payment method popular in Switzerland. It allows customers to pay using their mobile phone. Check this [page](https://docs.stripe.com/payments/twint) for more details. + */ + twint?: { + /** 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"; + }; + }; + /** + * payment_method_param + * @description Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://stripe.com/docs/payments/zip) for more details like country availability. + */ + zip?: { + /** 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 Amazon Pay is a wallet payment method that lets your customers check out the same way as on Amazon. + */ + amazon_pay?: { + /** 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 Uses a customer’s [cash balance](https://stripe.com/docs/payments/customer-balance) for the payment. The cash balance can be funded via a bank transfer. Check this [page](https://stripe.com/docs/payments/bank-transfers) for more details. + */ + customer_balance?: { + /** 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 Australia, Canada, Hong Kong, Japan, New Zealand, Singapore, Switzerland, United Kingdom, United States, and all countries in the European Economic Area except Iceland. 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"; + }; + }; + /** + * payment_method_param + * @description MobilePay is a [single-use](https://stripe.com/docs/payments/payment-methods#usage) card wallet payment method used in Denmark and Finland. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the MobilePay app. Check this [page](https://stripe.com/docs/payments/mobilepay) for more details. + */ + mobilepay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in Europe and the United States can accept Multibanco payments from customers in Portugal using [Sources](https://stripe.com/docs/sources)—a single integration path for creating payments using any supported method. + */ + multibanco?: { + /** 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 Revolut Pay, developed by Revolut, a global finance app, is a digital wallet payment method. Revolut Pay uses the customer’s stored balance or cards to fund the payment, and offers the option for non-Revolut customers to save their details after their first purchase. + */ + revolut_pay?: { + /** 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 Swish is a [real-time](https://stripe.com/docs/payments/real-time) payment method popular in Sweden. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the Swish mobile app and the Swedish BankID mobile app. Check this [page](https://stripe.com/docs/payments/swish) for more details. + */ + swish?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Twint is a payment method popular in Switzerland. It allows customers to pay using their mobile phone. Check this [page](https://docs.stripe.com/payments/twint) for more details. + */ + twint?: { + /** 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"; + }; + }; + /** + * payment_method_param + * @description Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://stripe.com/docs/payments/zip) for more details like country availability. + */ + zip?: { + /** 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" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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; + /** + * @description This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. + * @enum {string} + */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** + * param + * @description If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. + */ + amazon_pay?: 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; + /** networks_params */ + networks?: { + /** @enum {string} */ + preferred?: "cartes_bancaires" | "mastercard" | "visa"; + }; + 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" | "nn" | "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 a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. + */ + mobilepay?: Record; + /** + * param + * @description If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. + */ + multibanco?: Record; + /** + * 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" | "velobank" | "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_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; + }; + /** + * param + * @description If this is a `Revolut Pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. + */ + revolut_pay?: Record; + /** + * 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"; + }; + /** + * param + * @description If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. + */ + swish?: Record; + /** + * param + * @description If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. + */ + twint?: Record; + /** + * @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" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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": { + /** + * @description This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. + * @enum {string} + */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** + * 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; + /** networks_update_api_param */ + networks?: { + /** @enum {string} */ + preferred?: "" | "cartes_bancaires" | "mastercard" | "visa"; + }; + }; + /** @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"; + /** @enum {string} */ + account_type?: "checking" | "savings"; + }; + }; + }; + }; + 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?: { + /** @description Only return payouts that are expected to arrive during the given date interval. */ + arrival_date?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return payouts that were created during the given date interval. */ + 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 three years interval allowed (3 years, 36 months, or 156 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 The meter tracking the usage of a metered price */ + meter?: string; + /** @description A brief description of the plan, hidden from customers. */ + nickname?: string; + product?: { + active?: boolean; + /** @deprecated */ + 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. You can specify up to 10 lookup_keys. */ + 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"; + meter?: string; + /** @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; + /** @deprecated */ + 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; + meter?: string; + /** @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`, `unit_amount_decimal`, 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 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 A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ + marketing_features?: { + 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 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. Only used for subscription payments. */ + 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 8 URLs of images for this product, meant to be displayable to the customer. */ + images?: string[] | ""; + /** @description A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ + marketing_features?: { + 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 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`. Only used for subscription payments. */ + 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"]; + }; + }; + }; + }; + GetProductsProductFeatures: { + 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: { + product: 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"]["product_feature"][]; + /** @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"]; + }; + }; + }; + }; + PostProductsProductFeatures: { + parameters: { + query?: never; + header?: never; + path: { + product: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The ID of the [Feature](https://stripe.com/docs/api/entitlements/feature) object attached to this product. */ + entitlement_feature: 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"]["product_feature"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetProductsProductFeaturesId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The ID of the product_feature. */ + id: string; + /** @description The ID of the product. */ + product: 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_feature"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteProductsProductFeaturesId: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + product: 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_feature"]; + }; + }; + /** @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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @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; + promotion_code?: 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; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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_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 | ""; + metadata?: { + [key: string]: string; + }; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @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; + promotion_code?: 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; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + 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 | ""; + metadata?: { + [key: string]: string; + }; + 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 Only return early fraud warnings 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 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: { + /** @description Only return items 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 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; + /** @description Only return value lists 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"]["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; + /** @description Only return refunds 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 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?: { + /** @description Only return Report Runs 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"]["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" | "climate_order_purchase" | "climate_order_refund" | "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" | "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" | "unreconciled_customer_funds"; + /** @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?: { + /** @description Only return reviews 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"]["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 that associate 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 you enable this parameter, this SetupIntent accepts payment methods that you enable in the Dashboard and that are compatible with its 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 a card is the attached payment method, you can provide a `return_url` in case further authentication is necessary. */ + confirm?: boolean; + /** @description ID of the ConfirmationToken used to confirm this SetupIntent. + * + * If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence. */ + confirmation_token?: string; + /** @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 created for this SetupIntent. */ + 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 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; + /** @enum {string} */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** param */ + amazon_pay?: 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" | "nn" | "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 */ + mobilepay?: Record; + /** param */ + multibanco?: Record; + /** 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" | "velobank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options_with_hidden_options */ + radar_options?: { + session?: string; + }; + /** param */ + revolut_pay?: Record; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** param */ + swish?: Record; + /** param */ + twint?: Record; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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_payment_method_options_param */ + amazon_pay?: Record; + /** 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" | "challenge"; + /** setup_intent_payment_method_options_param */ + three_d_secure?: { + /** @enum {string} */ + ares_trans_status?: "A" | "C" | "I" | "N" | "R" | "U" | "Y"; + cryptogram?: string; + /** @enum {string} */ + electronic_commerce_indicator?: "01" | "02" | "05" | "06" | "07"; + /** network_options_param */ + network_options?: { + /** cartes_bancaires_network_options_param */ + cartes_bancaires?: { + /** @enum {string} */ + cb_avalgo: "0" | "1" | "2" | "3" | "4" | "A"; + cb_exemption?: string; + cb_score?: number; + }; + }; + requestor_challenge_indicator?: string; + transaction_id?: string; + /** @enum {string} */ + version?: "1.0.2" | "2.1.0" | "2.2.0"; + }; + }; + /** setup_intent_payment_method_options_param */ + card_present?: Record; + /** 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?: { + /** linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + return_url?: string; + }; + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + collection_method?: "" | "paper"; + }; + /** networks_options_param */ + networks?: { + requested?: ("ach" | "us_domestic_wire")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + }; + /** @description The list of payment method types (for example, card) that this SetupIntent can use. If you don't provide this, it 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. 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 you populate this hash, this SetupIntent generates a `single_use` mandate after successful completion. + */ + 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. We require this string if you use a publishable key 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. To unset this field to null, pass in an empty string. */ + 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; + /** @enum {string} */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** param */ + amazon_pay?: 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" | "nn" | "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 */ + mobilepay?: Record; + /** param */ + multibanco?: Record; + /** 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" | "velobank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options_with_hidden_options */ + radar_options?: { + session?: string; + }; + /** param */ + revolut_pay?: Record; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** param */ + swish?: Record; + /** param */ + twint?: Record; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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_payment_method_options_param */ + amazon_pay?: Record; + /** 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" | "challenge"; + /** setup_intent_payment_method_options_param */ + three_d_secure?: { + /** @enum {string} */ + ares_trans_status?: "A" | "C" | "I" | "N" | "R" | "U" | "Y"; + cryptogram?: string; + /** @enum {string} */ + electronic_commerce_indicator?: "01" | "02" | "05" | "06" | "07"; + /** network_options_param */ + network_options?: { + /** cartes_bancaires_network_options_param */ + cartes_bancaires?: { + /** @enum {string} */ + cb_avalgo: "0" | "1" | "2" | "3" | "4" | "A"; + cb_exemption?: string; + cb_score?: number; + }; + }; + requestor_challenge_indicator?: string; + transaction_id?: string; + /** @enum {string} */ + version?: "1.0.2" | "2.1.0" | "2.2.0"; + }; + }; + /** setup_intent_payment_method_options_param */ + card_present?: Record; + /** 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?: { + /** linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + return_url?: string; + }; + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + collection_method?: "" | "paper"; + }; + /** networks_options_param */ + networks?: { + requested?: ("ach" | "us_domestic_wire")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + }; + /** @description The list of payment method types (for example, card) that this SetupIntent can set up. If you don't provide this array, it 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 ID of the ConfirmationToken used to confirm this SetupIntent. + * + * If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence. */ + confirmation_token?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: 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 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; + /** @enum {string} */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** param */ + amazon_pay?: 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" | "nn" | "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 */ + mobilepay?: Record; + /** param */ + multibanco?: Record; + /** 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" | "velobank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options_with_hidden_options */ + radar_options?: { + session?: string; + }; + /** param */ + revolut_pay?: Record; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** param */ + swish?: Record; + /** param */ + twint?: Record; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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_payment_method_options_param */ + amazon_pay?: Record; + /** 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" | "challenge"; + /** setup_intent_payment_method_options_param */ + three_d_secure?: { + /** @enum {string} */ + ares_trans_status?: "A" | "C" | "I" | "N" | "R" | "U" | "Y"; + cryptogram?: string; + /** @enum {string} */ + electronic_commerce_indicator?: "01" | "02" | "05" | "06" | "07"; + /** network_options_param */ + network_options?: { + /** cartes_bancaires_network_options_param */ + cartes_bancaires?: { + /** @enum {string} */ + cb_avalgo: "0" | "1" | "2" | "3" | "4" | "A"; + cb_exemption?: string; + cb_score?: number; + }; + }; + requestor_challenge_indicator?: string; + transaction_id?: string; + /** @enum {string} */ + version?: "1.0.2" | "2.1.0" | "2.2.0"; + }; + }; + /** setup_intent_payment_method_options_param */ + card_present?: Record; + /** 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?: { + /** linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + return_url?: string; + }; + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + collection_method?: "" | "paper"; + }; + /** 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. + * @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 The coupons to redeem into discounts for the subscription item. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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 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/billing/subscriptions/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 The coupons to redeem into discounts for the subscription item. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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 Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session). */ + 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. One of `price` or `price_data` is required. 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. One of `price` or `price_data` is required. + */ + 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/billing/subscriptions/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/billing/subscriptions/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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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?: { + account_tax_ids?: string[] | ""; + days_until_due?: number; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + 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?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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 | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + /** Format: unix-time */ + end_date?: number; + /** invoice_settings */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + days_until_due?: number; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + items: { + billing_thresholds?: { + usage_gte: number; + } | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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[] | ""; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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?: { + account_tax_ids?: string[] | ""; + days_until_due?: number; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + 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?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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 | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + end_date?: number | "now"; + /** invoice_settings */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + days_until_due?: number; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + items: { + billing_thresholds?: { + usage_gte: number; + } | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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[] | ""; + }[]; + 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"; + /** @description Only return subscriptions that were created during the given date interval. */ + 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?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * 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 in UTC format to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). The anchor is the reference point that aligns future billing cycle dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals. + */ + billing_cycle_anchor?: number; + /** + * billing_cycle_anchor_config_param + * @description Mutually exclusive with billing_cycle_anchor and only valid with monthly and yearly price intervals. When provided, the billing_cycle_anchor is set to the next occurence of the day_of_month at the hour, minute, and second UTC. + */ + billing_cycle_anchor_config?: { + day_of_month: number; + hour?: number; + minute?: number; + month?: number; + second?: 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 Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. */ + 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + 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 and certain local payment methods UIs. */ + description?: string; + /** @description The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * invoice_settings_param + * @description All invoices will be billed using the specified settings. + */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @description A list of up to 20 subscription items, each with an attached price. */ + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: 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. Defaults to `false` (on-session). */ + 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 can't be paid. Creating Subscriptions with this status allows you to manage scenarios where additional customer 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 PaymentIntent on the first invoice. This allows simpler management of scenarios where additional customer 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 PaymentIntent 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 can't be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further customer action is needed, this parameter doesn't 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" | "challenge"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + sepa_debit?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + /** invoice_linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "multibanco" | "p24" | "paynow" | "paypal" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "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 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + promotion_code?: string; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/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?: { + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[]; + 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; + /** param */ + liability?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** + * @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 Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. */ + 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + 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 and certain local payment methods UIs. */ + description?: string | ""; + /** @description The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer. */ + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * invoice_settings_param + * @description All invoices will be billed using the specified settings. + */ + invoice_settings?: { + account_tax_ids?: string[] | ""; + /** param */ + issuer?: { + account?: string; + /** @enum {string} */ + type: "account" | "self"; + }; + }; + /** @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; + discounts?: { + coupon?: string; + discount?: string; + promotion_code?: string; + }[] | ""; + 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. Defaults to `false` (on-session). */ + 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. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](/billing/subscriptions/pause-payment). */ + 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" | "challenge"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + sepa_debit?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + /** invoice_linked_account_options_filters_param */ + filters?: { + account_subcategories?: ("checking" | "savings")[]; + }; + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: ("balances" | "ownership" | "transactions")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "multibanco" | "p24" | "paynow" | "paypal" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "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/billing/subscriptions/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. Defaults to `true`. */ + invoice_now?: boolean; + /** @description Will generate a proration invoice item that credits remaining unused time until the subscription period end. Defaults to `false`. */ + 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/billing/subscriptions/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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; + }[]; + /** + * ship_from_details + * @description Details about the address from which the goods are being shipped. + */ + ship_from_details?: { + /** merchant_postal_address */ + address: { + city?: string | ""; + country: string; + line1?: string | ""; + line2?: string | ""; + postal_code?: string | ""; + state?: 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"]; + }; + }; + }; + }; + GetTaxRegistrations: { + 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 status of the Tax Registration. */ + status?: "active" | "all" | "expired" | "scheduled"; + }; + 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.registration"][]; + /** @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"]; + }; + }; + }; + }; + PostTaxRegistrations: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Time at which the Tax Registration becomes active. It can be either `now` to indicate the current time, or a future timestamp measured in seconds since the Unix epoch. */ + active_from: "now" | number; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country: string; + /** + * country_options + * @description Specific options for a registration in the specified `country`. + */ + country_options: { + /** default */ + ae?: { + /** @enum {string} */ + type: "standard"; + }; + /** europe */ + at?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** default */ + au?: { + /** @enum {string} */ + type: "standard"; + }; + /** europe */ + be?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + bg?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** default */ + bh?: { + /** @enum {string} */ + type: "standard"; + }; + /** canada */ + ca?: { + /** province_standard */ + province_standard?: { + province: string; + }; + /** @enum {string} */ + type: "province_standard" | "simplified" | "standard"; + }; + /** default */ + ch?: { + /** @enum {string} */ + type: "standard"; + }; + /** simplified */ + cl?: { + /** @enum {string} */ + type: "simplified"; + }; + /** simplified */ + co?: { + /** @enum {string} */ + type: "simplified"; + }; + /** europe */ + cy?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + cz?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + de?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + dk?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + ee?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** simplified */ + eg?: { + /** @enum {string} */ + type: "simplified"; + }; + /** europe */ + es?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + fi?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + fr?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** default */ + gb?: { + /** @enum {string} */ + type: "standard"; + }; + /** simplified */ + ge?: { + /** @enum {string} */ + type: "simplified"; + }; + /** europe */ + gr?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + hr?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + hu?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** simplified */ + id?: { + /** @enum {string} */ + type: "simplified"; + }; + /** europe */ + ie?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** default */ + is?: { + /** @enum {string} */ + type: "standard"; + }; + /** europe */ + it?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** default */ + jp?: { + /** @enum {string} */ + type: "standard"; + }; + /** simplified */ + ke?: { + /** @enum {string} */ + type: "simplified"; + }; + /** simplified */ + kr?: { + /** @enum {string} */ + type: "simplified"; + }; + /** simplified */ + kz?: { + /** @enum {string} */ + type: "simplified"; + }; + /** europe */ + lt?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + lu?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + lv?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + mt?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** simplified */ + mx?: { + /** @enum {string} */ + type: "simplified"; + }; + /** simplified */ + my?: { + /** @enum {string} */ + type: "simplified"; + }; + /** simplified */ + ng?: { + /** @enum {string} */ + type: "simplified"; + }; + /** europe */ + nl?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** default */ + no?: { + /** @enum {string} */ + type: "standard"; + }; + /** default */ + nz?: { + /** @enum {string} */ + type: "standard"; + }; + /** default */ + om?: { + /** @enum {string} */ + type: "standard"; + }; + /** europe */ + pl?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + pt?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + ro?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** simplified */ + sa?: { + /** @enum {string} */ + type: "simplified"; + }; + /** europe */ + se?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** default */ + sg?: { + /** @enum {string} */ + type: "standard"; + }; + /** europe */ + si?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** europe */ + sk?: { + /** standard */ + standard?: { + /** @enum {string} */ + place_of_supply_scheme: "small_seller" | "standard"; + }; + /** @enum {string} */ + type: "ioss" | "oss_non_union" | "oss_union" | "standard"; + }; + /** simplified */ + th?: { + /** @enum {string} */ + type: "simplified"; + }; + /** simplified */ + tr?: { + /** @enum {string} */ + type: "simplified"; + }; + /** united_states */ + us?: { + /** local_amusement_tax */ + local_amusement_tax?: { + jurisdiction: string; + }; + /** local_lease_tax */ + local_lease_tax?: { + jurisdiction: string; + }; + state: string; + /** @enum {string} */ + type: "local_amusement_tax" | "local_lease_tax" | "state_communications_tax" | "state_sales_tax"; + }; + /** simplified */ + vn?: { + /** @enum {string} */ + type: "simplified"; + }; + /** default */ + za?: { + /** @enum {string} */ + type: "standard"; + }; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description If set, the Tax Registration stops being active at this time. If not set, the Tax Registration will be active indefinitely. Timestamp measured in seconds since the Unix epoch. + */ + expires_at?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax.registration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxRegistrationsId: { + 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.registration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTaxRegistrationsId: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Time at which the registration becomes active. It can be either `now` to indicate the current time, or a timestamp measured in seconds since the Unix epoch. */ + active_from?: "now" | number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description If set, the registration stops being active at this time. If not set, the registration will be active indefinitely. It can be either `now` to indicate the current time, or a timestamp measured in seconds since the Unix epoch. */ + expires_at?: "now" | number | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax.registration"]; + }; + }; + /** @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; + }; + /** + * Format: unix-time + * @description The Unix timestamp representing when the tax liability is assumed or reduced, which determines the liability posting period and handling in tax liability reports. The timestamp must fall within the `tax_date` and the current time, unless the `tax_date` is scheduled in advance. Defaults to the current time. + */ + posted_at?: number; + /** @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 the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) in negative. 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"]; + }; + }; + }; + }; + GetTaxIds: { + 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 account or customer the tax ID belongs to. Defaults to `owner[type]=self`. */ + owner?: { + account?: string; + customer?: string; + /** @enum {string} */ + type: "account" | "application" | "customer" | "self"; + }; + /** @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"]["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"]; + }; + }; + }; + }; + PostTaxIds: { + 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[]; + /** + * owner_params + * @description The account or customer the tax ID belongs to. Defaults to `owner[type]=self`. + */ + owner?: { + account?: string; + customer?: string; + /** @enum {string} */ + type: "account" | "application" | "customer" | "self"; + }; + /** + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"]; + }; + }; + }; + }; + GetTaxIdsId: { + 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_id"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteTaxIdsId: { + 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_tax_id"]; + }; + }; + /** @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" | "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" | "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 Name of the configuration */ + name?: string; + /** @description Configurations for collecting transactions offline. */ + offline?: { + enabled: boolean; + } | ""; + /** + * reboot_window + * @description Reboot time settings for readers that support customized reboot time configuration. + */ + reboot_window?: { + end_hour: number; + start_hour: number; + }; + /** + * stripe_s700 + * @description An object containing device type specific settings for Stripe S700 readers + */ + stripe_s700?: { + splashscreen?: 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 Name of the configuration */ + name?: string; + /** @description Configurations for collecting transactions offline. */ + offline?: { + enabled: boolean; + } | ""; + /** @description Reboot time settings for readers that support customized reboot time configuration. */ + reboot_window?: { + end_hour: number; + start_hour: number; + } | ""; + /** @description An object containing device type specific settings for Stripe S700 readers */ + stripe_s700?: { + splashscreen?: 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://docs.stripe.com/terminal/fleet/locations-and-zones?dashboard-or-api=api#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. If you're updating the `address` field, avoid changing the `country`. If you need to modify the `country` field, create a new `Location` object and re-register any existing readers to that 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" | "mobile_phone_reader" | "simulated_wisepos_e" | "stripe_m2" | "stripe_s700" | "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?: { + enable_customer_cancellation?: boolean; + 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?: { + enable_customer_cancellation?: boolean; + }; + /** @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; + /** + * refund_payment_config + * @description Configuration overrides + */ + refund_payment_config?: { + enable_customer_cancellation?: 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"]; + }; + }; + }; + }; + PostTestHelpersConfirmationTokens: { + 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 ID of an existing PaymentMethod. */ + payment_method?: string; + /** + * payment_method_data_params + * @description If provided, this hash will be used to create a PaymentMethod. + */ + 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; + /** @enum {string} */ + allow_redisplay?: "always" | "limited" | "unspecified"; + /** param */ + amazon_pay?: 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" | "nn" | "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 */ + mobilepay?: Record; + /** param */ + multibanco?: Record; + /** 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" | "velobank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options_with_hidden_options */ + radar_options?: { + session?: string; + }; + /** param */ + revolut_pay?: Record; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** param */ + swish?: Record; + /** param */ + twint?: Record; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "amazon_pay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "mobilepay" | "multibanco" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "sepa_debit" | "sofort" | "swish" | "twint" | "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; + }; + /** @description Return URL used to confirm the Intent. */ + return_url?: string; + /** + * @description Indicates that you intend to make future payments with this ConfirmationToken's payment method. + * + * The presence of this property 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. + * @enum {string} + */ + setup_future_usage?: "off_session" | "on_session"; + /** + * recipient_shipping_with_optional_fields_address + * @description Shipping information for this ConfirmationToken. + */ + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + name: string; + phone?: string | ""; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["confirmation_token"]; + }; + }; + /** @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 card's 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[]; + /** + * fleet_testmode_authorization_specs + * @description Fleet-specific information for authorizations using Fleet cards. + */ + fleet?: { + /** fleet_cardholder_prompt_data_specs */ + cardholder_prompt_data?: { + driver_id?: string; + odometer?: number; + unspecified_id?: string; + user_id?: string; + vehicle_number?: string; + }; + /** @enum {string} */ + purchase_type?: "fuel_and_non_fuel_purchase" | "fuel_purchase" | "non_fuel_purchase"; + /** fleet_reported_breakdown_specs */ + reported_breakdown?: { + /** fleet_reported_breakdown_fuel_specs */ + fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_non_fuel_specs */ + non_fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_tax_specs */ + tax?: { + /** Format: decimal */ + local_amount_decimal?: string; + /** Format: decimal */ + national_amount_decimal?: string; + }; + }; + /** @enum {string} */ + service_type?: "full_service" | "non_fuel_transaction" | "self_service"; + }; + /** + * fuel_specs + * @description Information about fuel that was purchased with this transaction. + */ + fuel?: { + industry_product_code?: string; + /** Format: decimal */ + quantity_decimal?: string; + /** @enum {string} */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; + /** @enum {string} */ + unit?: "charging_minute" | "imperial_gallon" | "kilogram" | "kilowatt_hour" | "liter" | "other" | "pound" | "us_gallon"; + /** Format: decimal */ + unit_cost_decimal?: 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; + url?: 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"; + /** authentication_exemption_specs */ + authentication_exemption?: { + /** @enum {string} */ + claimed_by: "acquirer" | "issuer"; + /** @enum {string} */ + type: "low_value_transaction" | "transaction_risk_analysis" | "unknown"; + }; + /** @enum {string} */ + cvc_check?: "match" | "mismatch" | "not_provided"; + /** @enum {string} */ + expiry_check?: "match" | "mismatch" | "not_provided"; + /** three_d_secure_specs */ + three_d_secure?: { + /** @enum {string} */ + result: "attempt_acknowledged" | "authenticated" | "failed" | "required"; + }; + }; + /** + * @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?: { + /** fleet_specs */ + fleet?: { + /** fleet_cardholder_prompt_data_specs */ + cardholder_prompt_data?: { + driver_id?: string; + odometer?: number; + unspecified_id?: string; + user_id?: string; + vehicle_number?: string; + }; + /** @enum {string} */ + purchase_type?: "fuel_and_non_fuel_purchase" | "fuel_purchase" | "non_fuel_purchase"; + /** fleet_reported_breakdown_specs */ + reported_breakdown?: { + /** fleet_reported_breakdown_fuel_specs */ + fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_non_fuel_specs */ + non_fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_tax_specs */ + tax?: { + /** Format: decimal */ + local_amount_decimal?: string; + /** Format: decimal */ + national_amount_decimal?: string; + }; + }; + /** @enum {string} */ + service_type?: "full_service" | "non_fuel_transaction" | "self_service"; + }; + /** 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?: { + industry_product_code?: string; + /** Format: decimal */ + quantity_decimal?: string; + /** @enum {string} */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; + /** @enum {string} */ + unit?: "charging_minute" | "imperial_gallon" | "kilogram" | "kilowatt_hour" | "liter" | "other" | "pound" | "us_gallon"; + /** Format: decimal */ + unit_cost_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"]; + }; + }; + }; + }; + PostTestHelpersIssuingAuthorizationsAuthorizationFinalizeAmount: { + 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 final authorization amount that will be captured by the merchant. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + final_amount: number; + /** + * fleet_specs + * @description Fleet-specific information for authorizations using Fleet cards. + */ + fleet?: { + /** fleet_cardholder_prompt_data_specs */ + cardholder_prompt_data?: { + driver_id?: string; + odometer?: number; + unspecified_id?: string; + user_id?: string; + vehicle_number?: string; + }; + /** @enum {string} */ + purchase_type?: "fuel_and_non_fuel_purchase" | "fuel_purchase" | "non_fuel_purchase"; + /** fleet_reported_breakdown_specs */ + reported_breakdown?: { + /** fleet_reported_breakdown_fuel_specs */ + fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_non_fuel_specs */ + non_fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_tax_specs */ + tax?: { + /** Format: decimal */ + local_amount_decimal?: string; + /** Format: decimal */ + national_amount_decimal?: string; + }; + }; + /** @enum {string} */ + service_type?: "full_service" | "non_fuel_transaction" | "self_service"; + }; + /** + * fuel_specs + * @description Information about fuel that was purchased with this transaction. + */ + fuel?: { + industry_product_code?: string; + /** Format: decimal */ + quantity_decimal?: string; + /** @enum {string} */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; + /** @enum {string} */ + unit?: "charging_minute" | "imperial_gallon" | "kilogram" | "kilowatt_hour" | "liter" | "other" | "pound" | "us_gallon"; + /** Format: decimal */ + unit_cost_decimal?: 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"]; + }; + }; + }; + }; + PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignActivate: { + parameters: { + query?: never; + header?: never; + path: { + personalization_design: 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.personalization_design"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignDeactivate: { + parameters: { + query?: never; + header?: never; + path: { + personalization_design: 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.personalization_design"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignReject: { + parameters: { + query?: never; + header?: never; + path: { + personalization_design: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * rejection_reasons_param + * @description The reason(s) the personalization design was rejected. + */ + rejection_reasons: { + card_logo?: ("geographic_location" | "inappropriate" | "network_name" | "non_binary_image" | "non_fiat_currency" | "other" | "other_entity" | "promotional_material")[]; + carrier_text?: ("geographic_location" | "inappropriate" | "network_name" | "non_fiat_currency" | "other" | "other_entity" | "promotional_material")[]; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.personalization_design"]; + }; + }; + /** @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; + url?: string; + }; + /** + * purchase_details_specs + * @description Additional purchase information that is optionally provided by the merchant. + */ + purchase_details?: { + /** fleet_specs */ + fleet?: { + /** fleet_cardholder_prompt_data_specs */ + cardholder_prompt_data?: { + driver_id?: string; + odometer?: number; + unspecified_id?: string; + user_id?: string; + vehicle_number?: string; + }; + /** @enum {string} */ + purchase_type?: "fuel_and_non_fuel_purchase" | "fuel_purchase" | "non_fuel_purchase"; + /** fleet_reported_breakdown_specs */ + reported_breakdown?: { + /** fleet_reported_breakdown_fuel_specs */ + fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_non_fuel_specs */ + non_fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_tax_specs */ + tax?: { + /** Format: decimal */ + local_amount_decimal?: string; + /** Format: decimal */ + national_amount_decimal?: string; + }; + }; + /** @enum {string} */ + service_type?: "full_service" | "non_fuel_transaction" | "self_service"; + }; + /** 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?: { + industry_product_code?: string; + /** Format: decimal */ + quantity_decimal?: string; + /** @enum {string} */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; + /** @enum {string} */ + unit?: "charging_minute" | "imperial_gallon" | "kilogram" | "kilowatt_hour" | "liter" | "other" | "pound" | "us_gallon"; + /** Format: decimal */ + unit_cost_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; + url?: string; + }; + /** + * purchase_details_specs + * @description Additional purchase information that is optionally provided by the merchant. + */ + purchase_details?: { + /** fleet_specs */ + fleet?: { + /** fleet_cardholder_prompt_data_specs */ + cardholder_prompt_data?: { + driver_id?: string; + odometer?: number; + unspecified_id?: string; + user_id?: string; + vehicle_number?: string; + }; + /** @enum {string} */ + purchase_type?: "fuel_and_non_fuel_purchase" | "fuel_purchase" | "non_fuel_purchase"; + /** fleet_reported_breakdown_specs */ + reported_breakdown?: { + /** fleet_reported_breakdown_fuel_specs */ + fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_non_fuel_specs */ + non_fuel?: { + /** Format: decimal */ + gross_amount_decimal?: string; + }; + /** fleet_reported_breakdown_tax_specs */ + tax?: { + /** Format: decimal */ + local_amount_decimal?: string; + /** Format: decimal */ + national_amount_decimal?: string; + }; + }; + /** @enum {string} */ + service_type?: "full_service" | "non_fuel_transaction" | "self_service"; + }; + /** 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?: { + industry_product_code?: string; + /** Format: decimal */ + quantity_decimal?: string; + /** @enum {string} */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; + /** @enum {string} */ + unit?: "charging_minute" | "imperial_gallon" | "kilogram" | "kilowatt_hour" | "liter" | "other" | "pound" | "us_gallon"; + /** Format: decimal */ + unit_cost_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"]; + }; + }; + }; + }; + PostTestHelpersTreasuryOutboundPaymentsId: { + 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[]; + /** + * tracking_details_params + * @description Details about network-specific tracking information. + */ + tracking_details: { + /** ach_tracking_details_params */ + ach?: { + trace_id: string; + }; + /** @enum {string} */ + type: "ach" | "us_domestic_wire"; + /** us_domestic_wire_tracking_details_params */ + us_domestic_wire?: { + imad?: string; + omad?: 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"]; + }; + }; + }; + }; + 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 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"]; + }; + }; + }; + }; + PostTestHelpersTreasuryOutboundTransfersOutboundTransfer: { + 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[]; + /** + * tracking_details_params + * @description Details about network-specific tracking information. + */ + tracking_details: { + /** ach_tracking_details_params */ + ach?: { + trace_id: string; + }; + /** @enum {string} */ + type: "ach" | "us_domestic_wire"; + /** us_domestic_wire_tracking_details_params */ + us_domestic_wire?: { + imad?: string; + omad?: 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"]; + }; + }; + }; + }; + 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 Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. + * @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 Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. + * @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?: { + /** legal_entity_and_kyc_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" | "registered_charity" | "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; + }; + /** individual_relationship_specs */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + percent_ownership?: number | ""; + 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; + }; + }; + }; + 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; + payment_method?: 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; + /** networks_param_specs */ + networks?: { + /** @enum {string} */ + preferred?: "cartes_bancaires" | "mastercard" | "visa"; + }; + 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?: { + /** person_additional_tos_acceptances_specs */ + additional_tos_acceptances?: { + /** settings_terms_of_service_specs */ + account?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** legal_entity_and_kyc_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; + legal_guardian?: 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?: { + /** @description Only return transfers that were created during the given date interval. */ + 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. 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?: { + /** @description Only return FinancialAccounts that were created during the given date interval. */ + 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 that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @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 `us_domestic_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 `us_domestic_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"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryOutboundTransfersOutboundTransferCancel: { + 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"]; + }; + }; + }; + }; + 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"; + }; + 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_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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryReceivedCreditsId: { + 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.received_credit"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + 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; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryReceivedDebitsId: { + 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.received_debit"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryTransactionEntries: { + parameters: { + query: { + /** @description Only return TransactionEntries that were created during the given date interval. */ + 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; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryTransactionEntriesId: { + 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.transaction_entry"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryTransactions: { + parameters: { + query: { + /** @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 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; + }; + }; + 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"][]; + /** @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"]; + }; + }; + }; + }; + GetTreasuryTransactionsId: { + 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.transaction"]; + }; + }; + /** @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; + }; + }; + 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"]; + }; + }; + }; + }; + 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" | "2023-10-16" | "2024-04-10" | "2024-06-20"; + /** @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.alert.triggered" | "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" | "climate.order.canceled" | "climate.order.created" | "climate.order.delayed" | "climate.order.delivered" | "climate.order.product_substituted" | "climate.product.created" | "climate.product.pricing_updated" | "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" | "entitlements.active_entitlement_summary.updated" | "file.created" | "financial_connections.account.created" | "financial_connections.account.deactivated" | "financial_connections.account.disconnected" | "financial_connections.account.reactivated" | "financial_connections.account.refreshed_balance" | "financial_connections.account.refreshed_ownership" | "financial_connections.account.refreshed_transactions" | "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.overdue" | "invoice.paid" | "invoice.payment_action_required" | "invoice.payment_failed" | "invoice.payment_succeeded" | "invoice.sent" | "invoice.upcoming" | "invoice.updated" | "invoice.voided" | "invoice.will_be_due" | "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.funds_rescinded" | "issuing_dispute.submitted" | "issuing_dispute.updated" | "issuing_personalization_design.activated" | "issuing_personalization_design.deactivated" | "issuing_personalization_design.rejected" | "issuing_personalization_design.updated" | "issuing_token.created" | "issuing_token.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_payment.tracking_details_updated" | "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.outbound_transfer.tracking_details_updated" | "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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook_endpoint"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetWebhookEndpointsWebhookEndpoint: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + webhook_endpoint: 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"]["webhook_endpoint"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + 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.alert.triggered" | "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" | "climate.order.canceled" | "climate.order.created" | "climate.order.delayed" | "climate.order.delivered" | "climate.order.product_substituted" | "climate.product.created" | "climate.product.pricing_updated" | "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" | "entitlements.active_entitlement_summary.updated" | "file.created" | "financial_connections.account.created" | "financial_connections.account.deactivated" | "financial_connections.account.disconnected" | "financial_connections.account.reactivated" | "financial_connections.account.refreshed_balance" | "financial_connections.account.refreshed_ownership" | "financial_connections.account.refreshed_transactions" | "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.overdue" | "invoice.paid" | "invoice.payment_action_required" | "invoice.payment_failed" | "invoice.payment_succeeded" | "invoice.sent" | "invoice.upcoming" | "invoice.updated" | "invoice.voided" | "invoice.will_be_due" | "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.funds_rescinded" | "issuing_dispute.submitted" | "issuing_dispute.updated" | "issuing_personalization_design.activated" | "issuing_personalization_design.deactivated" | "issuing_personalization_design.rejected" | "issuing_personalization_design.updated" | "issuing_token.created" | "issuing_token.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_payment.tracking_details_updated" | "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.outbound_transfer.tracking_details_updated" | "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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook_endpoint"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteWebhookEndpointsWebhookEndpoint: { + parameters: { + query?: never; + header?: never; + path: { + webhook_endpoint: 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_webhook_endpoint"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; +} diff --git a/packages/openapi-fetch/test/fixtures/api.d.ts b/packages/openapi-fetch/test/fixtures/api.d.ts deleted file mode 100644 index b1675777c..000000000 --- a/packages/openapi-fetch/test/fixtures/api.d.ts +++ /dev/null @@ -1,1095 +0,0 @@ -/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ - -export interface paths { - "/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[]; - published?: boolean; - }; - 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; - }; - "/mismatched-data": { - 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"]; - 201: components["responses"]["PostGet"]; - 500: components["responses"]["Error"]; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/mismatched-errors": { - 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"]; - 401: components["responses"]["EmptyError"]; - 500: components["responses"]["Error"]; - }; - }; - put?: never; - 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; - }; - "/query-params": { - parameters: { - query?: { - string?: string; - number?: number; - boolean?: boolean; - array?: string[]; - object?: { - foo: string; - bar: string; - }; - }; - header?: never; - path?: never; - cookie?: never; - }; - get: { - parameters: { - query?: { - string?: string; - number?: number; - boolean?: boolean; - array?: string[]; - object?: { - foo: string; - bar: string; - }; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - status: string; - }; - }; - }; - default: components["responses"]["Error"]; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}": { - parameters: { - query?: never; - header?: never; - path: { - simple_primitive: string; - simple_obj_flat: { - a: string; - c: string; - }; - simple_arr_flat: number[]; - simple_obj_explode: { - e: string; - g: string; - }; - simple_arr_explode: number[]; - label_primitive: string; - label_obj_flat: { - a: string; - c: string; - }; - label_arr_flat: number[]; - label_obj_explode: { - e: string; - g: string; - }; - label_arr_explode: number[]; - matrix_primitive: string; - matrix_obj_flat: { - a: string; - c: string; - }; - matrix_arr_flat: number[]; - matrix_obj_explode: { - e: string; - g: string; - }; - matrix_arr_explode: number[]; - }; - cookie?: never; - }; - get: { - parameters: { - query?: never; - header?: never; - path: { - simple_primitive: string; - simple_obj_flat: { - a: string; - c: string; - }; - simple_arr_flat: number[]; - simple_obj_explode: { - e: string; - g: string; - }; - simple_arr_explode: number[]; - label_primitive: string; - label_obj_flat: { - a: string; - c: string; - }; - label_arr_flat: number[]; - label_obj_explode: { - e: string; - g: string; - }; - label_arr_explode: number[]; - matrix_primitive: string; - matrix_obj_flat: { - a: string; - c: string; - }; - matrix_arr_flat: number[]; - matrix_obj_explode: { - e: string; - g: string; - }; - matrix_arr_explode: number[]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - status: string; - }; - }; - }; - default: components["responses"]["Error"]; - }; - }; - put?: never; - post?: never; - delete?: never; - 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": { - 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; - }; - "/multiple-response-content": { - 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"]["MultipleResponse"]; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/multipart-form-data-file-upload": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "multipart/form-data": string; - }; - }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - text: string; - }; - }; - }; - }; - }; - 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; - /** Format: date */ - created_at: number; - /** Format: date */ - updated_at: number; - }; - }; - responses: { - AllPostsGet: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Post"][]; - }; - }; - CreatePost: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - status: string; - }; - }; - }; - CreateTag: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - status: string; - }; - }; - }; - CreateReply: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json;charset=utf-8": { - message: string; - }; - }; - }; - Contact: { - headers: { - [name: string]: unknown; - }; - content: { - "text/html": string; - }; - }; - EmptyError: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 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"]; - }; - }; - MultipleResponse: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - id: string; - email: string; - name?: string; - }; - "application/ld+json": { - "@id": string; - email: string; - name?: string; - }; - }; - }; - }; - 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; -} -export type $defs = Record; -export interface operations { - 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/fixtures/api.yaml b/packages/openapi-fetch/test/fixtures/api.yaml deleted file mode 100644 index 011fcc768..000000000 --- a/packages/openapi-fetch/test/fixtures/api.yaml +++ /dev/null @@ -1,746 +0,0 @@ -openapi: 3.1.0 -info: - title: Test Specification - version: "1.0" -paths: - /comment: - put: - requestBody: - $ref: "#/components/requestBodies/CreateReply" - responses: - 201: - $ref: "#/components/responses/CreateReply" - 500: - $ref: "#/components/responses/Error" - /blogposts: - get: - parameters: - - in: query - name: tags - schema: - type: array - items: - type: string - - in: query - name: published - schema: - type: boolean - responses: - 200: - $ref: "#/components/responses/AllPostsGet" - 500: - $ref: "#/components/responses/Error" - put: - requestBody: - $ref: "#/components/requestBodies/CreatePost" - responses: - 201: - $ref: "#/components/responses/CreatePost" - 500: - $ref: "#/components/responses/Error" - patch: - requestBody: - $ref: "#/components/requestBodies/PatchPost" - responses: - 201: - $ref: "#/components/responses/PatchPost" - /blogposts/{post_id}: - parameters: - - in: path - name: post_id - schema: - type: string - required: true - get: - parameters: - - in: query - name: version - schema: - type: number - - in: query - name: format - schema: - type: string - responses: - 200: - $ref: "#/components/responses/PostGet" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - patch: - requestBody: - $ref: "#/components/requestBodies/PatchPost" - responses: - 200: - $ref: "#/components/responses/PatchPost" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - delete: - responses: - 200: - $ref: "#/components/responses/PostDelete" - 500: - $ref: "#/components/responses/Error" - /blogposts-optional: - put: - requestBody: - $ref: "#/components/requestBodies/CreatePostOptional" - responses: - 201: - $ref: "#/components/responses/CreatePost" - 500: - $ref: "#/components/responses/Error" - /blogposts-optional-inline: - put: - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/Post" - responses: - 201: - $ref: "#/components/responses/CreatePost" - 500: - $ref: "#/components/responses/Error" - /header-params: - get: - operationId: getHeaderParams - parameters: - - name: x-required-header - in: header - required: true - schema: - type: string - responses: - 200: - content: - application/json: - schema: - type: object - properties: - status: - type: string - required: - - status - 500: - $ref: "#/components/responses/Error" - /media: - put: - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - media: - type: string - format: blob - name: - type: string - required: - - media - - name - responses: - 2XX: - content: - application/json: - schema: - type: object - properties: - status: - type: string - required: - - status - 4XX: - $ref: "#/components/responses/Error" - /mismatched-data: - get: - responses: - 200: - $ref: "#/components/responses/User" - 201: - $ref: "#/components/responses/PostGet" - 500: - $ref: "#/components/responses/Error" - /mismatched-errors: - get: - responses: - 200: - $ref: "#/components/responses/User" - 401: - $ref: "#/components/responses/EmptyError" - 500: - $ref: "#/components/responses/Error" - /self: - get: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - /string-array: - get: - responses: - 200: - $ref: "#/components/responses/StringArray" - 500: - $ref: "#/components/responses/Error" - /tag/{name}: - parameters: - - in: path - name: name - schema: - type: string - required: true - get: - responses: - 200: - $ref: "#/components/responses/Tag" - 500: - $ref: "#/components/responses/Error" - put: - requestBody: - $ref: "#/components/requestBodies/CreateTag" - responses: - 201: - $ref: "#/components/responses/CreateTag" - 500: - $ref: "#/components/responses/Error" - delete: - responses: - 204: - description: No Content - 500: - $ref: "#/components/responses/Error" - /query-params: - parameters: - - in: query - name: string - schema: - type: string - - in: query - name: number - schema: - type: number - - in: query - name: boolean - schema: - type: boolean - - in: query - name: array - schema: - type: array - items: - type: string - - in: query - name: object - schema: - type: object - required: - - foo - - bar - properties: - foo: - type: string - bar: - type: string - get: - responses: - 200: - content: - application/json: - schema: - type: object - properties: - status: - type: string - required: - - status - default: - $ref: "#/components/responses/Error" - /path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}: - parameters: - - in: path - name: simple_primitive - schema: - type: string - - in: path - name: simple_obj_flat - schema: - type: object - required: [a, c] - properties: - a: - type: string - c: - type: string - - in: path - name: simple_arr_flat - schema: - type: array - items: - type: number - - in: path - name: simple_obj_explode - schema: - type: object - required: [e, g] - properties: - e: - type: string - g: - type: string - - in: path - name: simple_arr_explode - schema: - type: array - items: - type: number - - in: path - name: label_primitive - schema: - type: string - - in: path - name: label_obj_flat - schema: - type: object - required: [a, c] - properties: - a: - type: string - c: - type: string - - in: path - name: label_arr_flat - schema: - type: array - items: - type: number - - in: path - name: label_obj_explode - schema: - type: object - required: [e, g] - properties: - e: - type: string - g: - type: string - - in: path - name: label_arr_explode - schema: - type: array - items: - type: number - - in: path - name: matrix_primitive - schema: - type: string - - in: path - name: matrix_obj_flat - schema: - type: object - required: [a, c] - properties: - a: - type: string - c: - type: string - - in: path - name: matrix_arr_flat - schema: - type: array - items: - type: number - - in: path - name: matrix_obj_explode - schema: - type: object - required: [e, g] - properties: - e: - type: string - g: - type: string - - in: path - name: matrix_arr_explode - schema: - type: array - items: - type: number - get: - responses: - 200: - content: - application/json: - schema: - type: object - properties: - status: - type: string - required: - - status - default: - $ref: "#/components/responses/Error" - /default-as-error: - get: - responses: - default: - $ref: "#/components/responses/Error" - /anyMethod: - get: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - put: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - post: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - delete: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - options: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - head: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - patch: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - trace: - responses: - 200: - $ref: "#/components/responses/User" - 404: - $ref: "#/components/responses/Error" - 500: - $ref: "#/components/responses/Error" - /contact: - put: - requestBody: - $ref: "#/components/requestBodies/Contact" - responses: - 200: - $ref: "#/components/responses/Contact" - /multiple-response-content: - get: - responses: - 200: - $ref: "#/components/responses/MultipleResponse" - /multipart-form-data-file-upload: - post: - requestBody: - content: - multipart/form-data: - schema: - type: string - format: binary - required: true - responses: - "200": - content: - application/json: - schema: - type: object - properties: - text: - type: string - required: - - text -components: - schemas: - Post: - type: object - properties: - title: - type: string - body: - type: string - publish_date: - type: number - required: - - title - - body - StringArray: - type: array - items: - type: string - User: - type: object - properties: - email: - type: string - age: - type: number - avatar: - type: string - created_at: - type: number - format: date - updated_at: - type: number - format: date - required: - - email - - created_at - - updated_at - requestBodies: - CreatePost: - required: true - content: - application/json: - schema: - type: object - properties: - title: - type: string - body: - type: string - publish_date: - type: number - required: - - title - - body - - publish_date - CreatePostOptional: - required: false - content: - application/json: - schema: - type: object - properties: - title: - type: string - body: - type: string - publish_date: - type: number - required: - - title - - body - - publish_date - CreateTag: - required: true - content: - application/json: - schema: - type: object - properties: - description: - type: string - CreateReply: - required: true - content: - "application/json;charset=utf-8": - schema: - type: object - properties: - message: - type: string - replied_at: - type: number - required: - - message - - replied_at - Contact: - required: true - content: - multipart/form-data: - schema: - type: object - properties: - name: - type: string - email: - type: string - subject: - type: string - message: - type: string - required: - - name - - email - - subject - - message - PatchPost: - required: true - content: - application/json: - schema: - type: object - properties: - title: - type: string - body: - type: string - publish_date: - type: number - responses: - AllPostsGet: - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Post" - CreatePost: - content: - application/json: - schema: - type: object - properties: - status: - type: string - required: - - status - CreateTag: - content: - application/json: - schema: - type: object - properties: - status: - type: string - required: - - status - CreateReply: - content: - "application/json;charset=utf-8": - schema: - type: object - properties: - message: - type: string - required: - - message - Contact: - content: - text/html: - schema: - type: string - EmptyError: - content: {} - Error: - content: - application/json: - schema: - type: object - properties: - code: - type: number - message: - type: string - required: - - code - - message - PatchPost: - content: - application/json: - schema: - type: object - properties: - status: - type: string - required: - - status - PostDelete: - content: - application/json: - schema: - type: object - properties: - status: - type: string - required: - - status - PostGet: - content: - application/json: - schema: - $ref: "#/components/schemas/Post" - StringArray: - content: - application/json: - schema: - $ref: "#/components/schemas/StringArray" - Tag: - content: - application/json: - schema: - type: string - User: - content: - application/json: - schema: - $ref: "#/components/schemas/User" - MultipleResponse: - content: - application/json: - schema: - type: object - properties: - id: - type: string - email: - type: string - name: - type: string - required: - - id - - email - application/ld+json: - schema: - type: object - properties: - "@id": - type: string - email: - type: string - name: - type: string - required: - - "@id" - - email diff --git a/packages/openapi-fetch/test/fixtures/mock-server.ts b/packages/openapi-fetch/test/fixtures/mock-server.ts deleted file mode 100644 index 996dc6cb3..000000000 --- a/packages/openapi-fetch/test/fixtures/mock-server.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { - http, - HttpResponse, - type JsonBodyType, - type StrictRequest, - type DefaultBodyType, - type HttpResponseResolver, - type PathParams, - type AsyncResponseResolverReturnType, -} from "msw"; -import { setupServer } from "msw/node"; - -/** - * Mock server instance - */ -export const server = setupServer(); - -/** - * Default baseUrl for tests - */ -export const baseUrl = "https://api.example.com" as const; - -/** - * Test path helper, returns an absolute URL based on - * the given path and base - */ -export function toAbsoluteURL(path: string, base: string = baseUrl) { - // If we have absolute path - if (URL.canParse(path)) { - return new URL(path).toString(); - } - - // Otherwise we want to support relative paths - // where base may also contain some part of the path - // e.g. - // base = https://api.foo.bar/v1/ - // path = /self - // should result in https://api.foo.bar/v1/self - - // Construct base URL - const baseUrlInstance = new URL(base); - - // prepend base url url pathname to path and ensure only one slash between the URL parts - const newPath = `${baseUrlInstance.pathname}/${path}`.replace(/\/+/g, "/"); - - return new URL(newPath, baseUrlInstance).toString(); -} - -export type MswHttpMethod = keyof typeof http; - -export interface MockRequestHandlerOptions< - // Recreate the generic signature of the HTTP resolver - // so the arguments passed to http handlers propagate here. - Params extends PathParams = PathParams, - RequestBodyType extends DefaultBodyType = DefaultBodyType, - ResponseBodyType extends DefaultBodyType = undefined, -> { - baseUrl?: string; - method: MswHttpMethod; - /** - * Relative or absolute path to match. - * When relative, baseUrl will be used as base. - */ - path: string; - body?: JsonBodyType; - headers?: Record; - status?: number; - - /** - * Optional handler which will be called instead of using the body, headers and status - */ - handler?: HttpResponseResolver; -} - -/** - * Configures a msw request handler using the provided options. - */ -export function useMockRequestHandler< - // Recreate the generic signature of the HTTP resolver - // so the arguments passed to http handlers propagate here. - Params extends PathParams = PathParams, - RequestBodyType extends DefaultBodyType = DefaultBodyType, - ResponseBodyType extends DefaultBodyType = undefined, ->({ baseUrl: requestBaseUrl, method, path, body, headers, status, handler }: MockRequestHandlerOptions) { - let requestUrl = ""; - let receivedRequest: StrictRequest; - let receivedCookies: Record = {}; - - const resolvedPath = toAbsoluteURL(path, requestBaseUrl); - - server.use( - http[method](resolvedPath, (args) => { - requestUrl = args.request.url; - receivedRequest = args.request.clone(); - receivedCookies = { ...args.cookies }; - - if (handler) { - return handler(args); - } - - return HttpResponse.json(body as any, { - status: status ?? 200, - headers, - }) as AsyncResponseResolverReturnType; - }), - ); - - return { - getRequestCookies: () => receivedCookies, - getRequest: () => receivedRequest, - getRequestUrl: () => new URL(requestUrl), - }; -} diff --git a/packages/openapi-fetch/test/fixtures/openapi-typescript-codegen.min.js b/packages/openapi-fetch/test/fixtures/openapi-typescript-codegen.min.js deleted file mode 100644 index 41272aff0..000000000 --- a/packages/openapi-fetch/test/fixtures/openapi-typescript-codegen.min.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Generated from the GitHub REST OpenAPI spec - * openapi-typescript-codegen@0.25.0 - * on 2023-08-06 - */ -var J=class extends Error{url;status;statusText;body;request;constructor(r,e,n){super(n),this.name="ApiError",this.url=e.url,this.status=e.status,this.statusText=e.statusText,this.body=e.body,this.request=r}};var tr=class extends Error{constructor(r){super(r),this.name="CancelError"}get isCancelled(){return!0}},rr=class{#e;#t;#r;#n;#s;#o;#i;constructor(r){this.#e=!1,this.#t=!1,this.#r=!1,this.#n=[],this.#s=new Promise((e,n)=>{this.#o=e,this.#i=n;let s=m=>{this.#e||this.#t||this.#r||(this.#e=!0,this.#o?.(m))},u=m=>{this.#e||this.#t||this.#r||(this.#t=!0,this.#i?.(m))},_=m=>{this.#e||this.#t||this.#r||this.#n.push(m)};return Object.defineProperty(_,"isResolved",{get:()=>this.#e}),Object.defineProperty(_,"isRejected",{get:()=>this.#t}),Object.defineProperty(_,"isCancelled",{get:()=>this.#r}),r(s,u,_)})}get[Symbol.toStringTag](){return"Cancellable Promise"}then(r,e){return this.#s.then(r,e)}catch(r){return this.#s.catch(r)}finally(r){return this.#s.finally(r)}cancel(){if(!(this.#e||this.#t||this.#r)){if(this.#r=!0,this.#n.length)try{for(let r of this.#n)r()}catch(r){console.warn("Cancellation threw an error",r);return}this.#n.length=0,this.#i?.(new tr("Request aborted"))}}get isCancelled(){return this.#r}};var i={BASE:"https://api.github.com",VERSION:"1.1.4",WITH_CREDENTIALS:!1,CREDENTIALS:"include",TOKEN:void 0,USERNAME:void 0,PASSWORD:void 0,HEADERS:void 0,ENCODE_PATH:void 0};var Br;(r=>{let l;(I=>(I.AUTH="auth",I.ERROR="error",I.NONE="none",I.DETECTING="detecting",I.CHOOSE="choose",I.AUTH_FAILED="auth_failed",I.IMPORTING="importing",I.MAPPING="mapping",I.WAITING_TO_PUSH="waiting_to_push",I.PUSHING="pushing",I.COMPLETE="complete",I.SETUP="setup",I.UNKNOWN="unknown",I.DETECTION_FOUND_MULTIPLE="detection_found_multiple",I.DETECTION_FOUND_NOTHING="detection_found_nothing",I.DETECTION_NEEDS_AUTH="detection_needs_auth"))(l=r.status||={})})(Br||={});var Wr;(e=>{let l;(d=>(d.NPM="npm",d.MAVEN="maven",d.RUBYGEMS="rubygems",d.DOCKER="docker",d.NUGET="nuget",d.CONTAINER="container"))(l=e.package_type||={});let r;(u=>(u.PRIVATE="private",u.PUBLIC="public"))(r=e.visibility||={})})(Wr||={});var Fr=(n=>(n.CREATED_AT="created_at",n.LAST_ACCESSED_AT="last_accessed_at",n.SIZE_IN_BYTES="size_in_bytes",n))(Fr||{});var jr=(e=>(e.READ="read",e.WRITE="write",e))(jr||{});var Vr;(r=>{let l;(u=>(u.NONE="none",u.USER="user",u.ORGANIZATION="organization"))(l=r.access_level||={})})(Vr||={});var Hr;(r=>{let l;(c=>(c.PUSH="push",c.FORCE_PUSH="force_push",c.BRANCH_DELETION="branch_deletion",c.BRANCH_CREATION="branch_creation",c.PR_MERGE="pr_merge",c.MERGE_QUEUE_MERGE="merge_queue_merge"))(l=r.activity_type||={})})(Hr||={});var Qr=(n=>(n.ALL="all",n.LOCAL_ONLY="local_only",n.SELECTED="selected",n))(Qr||{});var Kr;(z=>{let l;(x=>(x.READ="read",x.WRITE="write"))(l=z.actions||={});let r;(x=>(x.READ="read",x.WRITE="write"))(r=z.administration||={});let e;(x=>(x.READ="read",x.WRITE="write"))(e=z.checks||={});let n;(x=>(x.READ="read",x.WRITE="write"))(n=z.contents||={});let s;(x=>(x.READ="read",x.WRITE="write"))(s=z.deployments||={});let u;(x=>(x.READ="read",x.WRITE="write"))(u=z.environments||={});let _;(x=>(x.READ="read",x.WRITE="write"))(_=z.issues||={});let m;(x=>(x.READ="read",x.WRITE="write"))(m=z.metadata||={});let c;(x=>(x.READ="read",x.WRITE="write"))(c=z.packages||={});let d;(x=>(x.READ="read",x.WRITE="write"))(d=z.pages||={});let v;(x=>(x.READ="read",x.WRITE="write"))(v=z.pull_requests||={});let h;(x=>(x.READ="read",x.WRITE="write"))(h=z.repository_hooks||={});let R;(q=>(q.READ="read",q.WRITE="write",q.ADMIN="admin"))(R=z.repository_projects||={});let k;(x=>(x.READ="read",x.WRITE="write"))(k=z.secret_scanning_alerts||={});let b;(x=>(x.READ="read",x.WRITE="write"))(b=z.secrets||={});let p;(x=>(x.READ="read",x.WRITE="write"))(p=z.security_events||={});let f;(x=>(x.READ="read",x.WRITE="write"))(f=z.single_file||={});let O;(x=>(x.READ="read",x.WRITE="write"))(O=z.statuses||={});let I;(x=>(x.READ="read",x.WRITE="write"))(I=z.vulnerability_alerts||={});let P;(S=>S.WRITE="write")(P=z.workflows||={});let E;(x=>(x.READ="read",x.WRITE="write"))(E=z.members||={});let D;(x=>(x.READ="read",x.WRITE="write"))(D=z.organization_administration||={});let L;(x=>(x.READ="read",x.WRITE="write"))(L=z.organization_custom_roles||={});let C;(x=>(x.READ="read",x.WRITE="write"))(C=z.organization_announcement_banners||={});let U;(x=>(x.READ="read",x.WRITE="write"))(U=z.organization_hooks||={});let M;(x=>(x.READ="read",x.WRITE="write"))(M=z.organization_personal_access_tokens||={});let G;(x=>(x.READ="read",x.WRITE="write"))(G=z.organization_personal_access_token_requests||={});let B;(S=>S.READ="read")(B=z.organization_plan||={});let W;(q=>(q.READ="read",q.WRITE="write",q.ADMIN="admin"))(W=z.organization_projects||={});let F;(x=>(x.READ="read",x.WRITE="write"))(F=z.organization_packages||={});let j;(x=>(x.READ="read",x.WRITE="write"))(j=z.organization_secrets||={});let V;(x=>(x.READ="read",x.WRITE="write"))(V=z.organization_self_hosted_runners||={});let H;(x=>(x.READ="read",x.WRITE="write"))(H=z.organization_user_blocking||={});let Q;(x=>(x.READ="read",x.WRITE="write"))(Q=z.team_discussions||={})})(Kr||={});var Yr;(r=>{let l;(s=>(s.ALL="all",s.SELECTED="selected"))(l=r.repository_selection||={})})(Yr||={});var Zr=(c=>(c.COLLABORATOR="COLLABORATOR",c.CONTRIBUTOR="CONTRIBUTOR",c.FIRST_TIMER="FIRST_TIMER",c.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",c.MANNEQUIN="MANNEQUIN",c.MEMBER="MEMBER",c.NONE="NONE",c.OWNER="OWNER",c))(Zr||{});var Xr;(r=>{let l;(u=>(u.MERGE="merge",u.SQUASH="squash",u.REBASE="rebase"))(l=r.merge_method||={})})(Xr||={});var $r;(e=>{let l;(_=>(_.QUEUED="queued",_.IN_PROGRESS="in_progress",_.COMPLETED="completed"))(l=e.status||={});let r;(v=>(v.SUCCESS="success",v.FAILURE="failure",v.NEUTRAL="neutral",v.CANCELLED="cancelled",v.SKIPPED="skipped",v.TIMED_OUT="timed_out",v.ACTION_REQUIRED="action_required"))(r=e.conclusion||={})})($r||={});var Jr;(e=>{let l;(b=>(b.WAITING="waiting",b.PENDING="pending",b.STARTUP_FAILURE="startup_failure",b.STALE="stale",b.SUCCESS="success",b.FAILURE="failure",b.NEUTRAL="neutral",b.CANCELLED="cancelled",b.SKIPPED="skipped",b.TIMED_OUT="timed_out",b.ACTION_REQUIRED="action_required"))(l=e.conclusion||={});let r;(m=>(m.QUEUED="queued",m.IN_PROGRESS="in_progress",m.COMPLETED="completed",m.PENDING="pending"))(r=e.status||={})})(Jr||={});var re;(e=>{let l;(_=>(_.QUEUED="queued",_.IN_PROGRESS="in_progress",_.COMPLETED="completed"))(l=e.status||={});let r;(R=>(R.SUCCESS="success",R.FAILURE="failure",R.NEUTRAL="neutral",R.CANCELLED="cancelled",R.SKIPPED="skipped",R.TIMED_OUT="timed_out",R.ACTION_REQUIRED="action_required",R.STARTUP_FAILURE="startup_failure",R.STALE="stale"))(r=e.conclusion||={})})(re||={});var ee=(s=>(s.SOURCE="source",s.GENERATED="generated",s.TEST="test",s.LIBRARY="library",s))(ee||{});var te=(n=>(n.FALSE_POSITIVE="false positive",n.WON_T_FIX="won't fix",n.USED_IN_TESTS="used in tests",n))(te||{});var ne;(e=>{let l;(m=>(m.NONE="none",m.NOTE="note",m.WARNING="warning",m.ERROR="error"))(l=e.severity||={});let r;(m=>(m.LOW="low",m.MEDIUM="medium",m.HIGH="high",m.CRITICAL="critical"))(r=e.security_severity_level||={})})(ne||={});var se;(r=>{let l;(_=>(_.NONE="none",_.NOTE="note",_.WARNING="warning",_.ERROR="error"))(l=r.severity||={})})(se||={});var ie=(e=>(e.OPEN="open",e.DISMISSED="dismissed",e))(ie||{});var oe=(m=>(m.CRITICAL="critical",m.HIGH="high",m.MEDIUM="medium",m.LOW="low",m.WARNING="warning",m.NOTE="note",m.ERROR="error",m))(oe||{});var le=(n=>(n.OPEN="open",n.DISMISSED="dismissed",n.FIXED="fixed",n))(le||{});var ae=(s=>(s.OPEN="open",s.CLOSED="closed",s.DISMISSED="dismissed",s.FIXED="fixed",s))(ae||{});var ue;(e=>{let l;(u=>(u.CONFIGURED="configured",u.NOT_CONFIGURED="not-configured"))(l=e.state||={});let r;(u=>(u.DEFAULT="default",u.EXTENDED="extended"))(r=e.query_suite||={})})(ue||={});var _e;(e=>{let l;(u=>(u.CONFIGURED="configured",u.NOT_CONFIGURED="not-configured"))(l=e.state||={});let r;(u=>(u.DEFAULT="default",u.EXTENDED="extended"))(r=e.query_suite||={})})(_e||={});var ge;(r=>{let l;(u=>(u.PENDING="pending",u.COMPLETE="complete",u.FAILED="failed"))(l=r.processing_status||={})})(ge||={});var me;(e=>{let l;(E=>(E.UNKNOWN="Unknown",E.CREATED="Created",E.QUEUED="Queued",E.PROVISIONING="Provisioning",E.AVAILABLE="Available",E.AWAITING="Awaiting",E.UNAVAILABLE="Unavailable",E.DELETED="Deleted",E.MOVED="Moved",E.SHUTDOWN="Shutdown",E.ARCHIVED="Archived",E.STARTING="Starting",E.SHUTTING_DOWN="ShuttingDown",E.FAILED="Failed",E.EXPORTING="Exporting",E.UPDATING="Updating",E.REBUILDING="Rebuilding"))(l=e.state||={});let r;(m=>(m.EAST_US="EastUs",m.SOUTH_EAST_ASIA="SouthEastAsia",m.WEST_EUROPE="WestEurope",m.WEST_US2="WestUs2"))(r=e.location||={})})(me||={});var pe;(r=>{let l;(u=>(u.NONE="none",u.READY="ready",u.IN_PROGRESS="in_progress"))(l=r.prebuild_availability||={})})(pe||={});var de;(e=>{let l;(E=>(E.UNKNOWN="Unknown",E.CREATED="Created",E.QUEUED="Queued",E.PROVISIONING="Provisioning",E.AVAILABLE="Available",E.AWAITING="Awaiting",E.UNAVAILABLE="Unavailable",E.DELETED="Deleted",E.MOVED="Moved",E.SHUTDOWN="Shutdown",E.ARCHIVED="Archived",E.STARTING="Starting",E.SHUTTING_DOWN="ShuttingDown",E.FAILED="Failed",E.EXPORTING="Exporting",E.UPDATING="Updating",E.REBUILDING="Rebuilding"))(l=e.state||={});let r;(m=>(m.EAST_US="EastUs",m.SOUTH_EAST_ASIA="SouthEastAsia",m.WEST_EUROPE="WestEurope",m.WEST_US2="WestUs2"))(r=e.location||={})})(de||={});var ce;(r=>{let l;(u=>(u.ALL="all",u.PRIVATE="private",u.SELECTED="selected"))(l=r.visibility||={})})(ce||={});var be;(r=>{let l;(u=>(u.ALL="all",u.PRIVATE="private",u.SELECTED="selected"))(l=r.visibility||={})})(be||={});var he;(r=>{let l;(_=>(_.DIVERGED="diverged",_.AHEAD="ahead",_.BEHIND="behind",_.IDENTICAL="identical"))(l=r.status||={})})(he||={});var ye;(r=>{let l;(n=>n.FILE="file")(l=r.type||={})})(ye||={});var fe;(r=>{let l;(n=>n.SUBMODULE="submodule")(l=r.type||={})})(fe||={});var we;(r=>{let l;(n=>n.SYMLINK="symlink")(l=r.type||={})})(we||={});var Ee;(n=>{let l;(c=>(c.AUTO_DISMISSED="auto_dismissed",c.DISMISSED="dismissed",c.FIXED="fixed",c.OPEN="open"))(l=n.state||={});let r;(_=>(_.DEVELOPMENT="development",_.RUNTIME="runtime"))(r=n.scope||={});let e;(d=>(d.FIX_STARTED="fix_started",d.INACCURATE="inaccurate",d.NO_BANDWIDTH="no_bandwidth",d.NOT_USED="not_used",d.TOLERABLE_RISK="tolerable_risk"))(e=n.dismissed_reason||={})})(Ee||={});var ve=(e=>(e.DEVELOPMENT="development",e.RUNTIME="runtime",e))(ve||{});var Re;(r=>{let l;(_=>(_.LOW="low",_.MEDIUM="medium",_.HIGH="high",_.CRITICAL="critical"))(l=r.severity||={})})(Re||={});var Te;(r=>{let l;(_=>(_.LOW="low",_.MEDIUM="medium",_.HIGH="high",_.CRITICAL="critical"))(l=r.severity||={})})(Te||={});var Ae=(e=>(e.CREATED="created",e.UPDATED="updated",e))(Ae||{});var ke;(n=>{let l;(c=>(c.AUTO_DISMISSED="auto_dismissed",c.DISMISSED="dismissed",c.FIXED="fixed",c.OPEN="open"))(l=n.state||={});let r;(_=>(_.DEVELOPMENT="development",_.RUNTIME="runtime"))(r=n.scope||={});let e;(d=>(d.FIX_STARTED="fix_started",d.INACCURATE="inaccurate",d.NO_BANDWIDTH="no_bandwidth",d.NOT_USED="not_used",d.TOLERABLE_RISK="tolerable_risk"))(e=n.dismissed_reason||={})})(ke||={});var xe;(e=>{let l;(u=>(u.DIRECT="direct",u.INDIRECT="indirect"))(l=e.relationship||={});let r;(u=>(u.RUNTIME="runtime",u.DEVELOPMENT="development"))(r=e.scope||={})})(xe||={});var Ie=(e=>(e.USER="User",e.TEAM="Team",e))(Ie||{});var Oe;(r=>{let l;(d=>(d.ERROR="error",d.FAILURE="failure",d.INACTIVE="inactive",d.PENDING="pending",d.SUCCESS="success",d.QUEUED="queued",d.IN_PROGRESS="in_progress"))(l=r.state||={})})(Oe||={});var Ne;(r=>{let l;(d=>(d.ADDED="added",d.REMOVED="removed",d.MODIFIED="modified",d.RENAMED="renamed",d.COPIED="copied",d.CHANGED="changed",d.UNCHANGED="unchanged"))(l=r.status||={})})(Ne||={});var ze=(e=>(e.ASC="asc",e.DESC="desc",e))(ze||{});var Pe;(s=>{let l;(c=>(c.BOT="Bot",c.USER="User",c.ORGANIZATION="Organization"))(l=s.type||={});let r;(k=>(k.COLLABORATOR="COLLABORATOR",k.CONTRIBUTOR="CONTRIBUTOR",k.FIRST_TIMER="FIRST_TIMER",k.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",k.MANNEQUIN="MANNEQUIN",k.MEMBER="MEMBER",k.NONE="NONE",k.OWNER="OWNER"))(r=s.author_association||={});let e;(v=>(v.OPEN="open",v.CLOSED="closed",v.LOCKED="locked",v.CONVERTING="converting",v.TRANSFERRING="transferring"))(e=s.state||={});let n;(d=>(d.RESOLVED="resolved",d.OUTDATED="outdated",d.DUPLICATE="duplicate",d.REOPENED="reopened"))(n=s.state_reason||={})})(Pe||={});var Ce=(n=>(n.ALL="all",n.NONE="none",n.SELECTED="selected",n))(Ce||{});var De;(r=>{let l;(u=>(u.APPROVED="approved",u.REJECTED="rejected",u.PENDING="pending"))(l=r.state||={})})(De||={});var qe;(s=>{let l;(m=>(m.PR_TITLE="PR_TITLE",m.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(l=s.squash_merge_commit_title||={});let r;(c=>(c.PR_BODY="PR_BODY",c.COMMIT_MESSAGES="COMMIT_MESSAGES",c.BLANK="BLANK"))(r=s.squash_merge_commit_message||={});let e;(m=>(m.PR_TITLE="PR_TITLE",m.MERGE_MESSAGE="MERGE_MESSAGE"))(e=s.merge_commit_title||={});let n;(c=>(c.PR_BODY="PR_BODY",c.PR_TITLE="PR_TITLE",c.BLANK="BLANK"))(n=s.merge_commit_message||={})})(qe||={});var Se;(e=>{let l;(_=>(_.REVIEWED="reviewed",_.UNREVIEWED="unreviewed",_.MALWARE="malware"))(l=e.type||={});let r;(c=>(c.CRITICAL="critical",c.HIGH="high",c.MEDIUM="medium",c.LOW="low",c.UNKNOWN="unknown"))(r=e.severity||={})})(Se||={});var Le;(r=>{let l;(s=>(s.ALL="all",s.SELECTED="selected"))(l=r.repository_selection||={})})(Le||={});var Ue;(r=>{let l;(s=>(s.ALL="all",s.SELECTED="selected"))(l=r.repository_selection||={})})(Ue||={});var Me=(u=>(u.ONE_DAY="one_day",u.THREE_DAYS="three_days",u.ONE_WEEK="one_week",u.ONE_MONTH="one_month",u.SIX_MONTHS="six_months",u))(Me||{});var Ge=(n=>(n.EXISTING_USERS="existing_users",n.CONTRIBUTORS_ONLY="contributors_only",n.COLLABORATORS_ONLY="collaborators_only",n))(Ge||{});var Be;(r=>{let l;(u=>(u.COMPLETED="completed",u.REOPENED="reopened",u.NOT_PLANNED="not_planned"))(l=r.state_reason||={})})(Be||={});var We;(e=>{let l;(_=>(_.QUEUED="queued",_.IN_PROGRESS="in_progress",_.COMPLETED="completed"))(l=e.status||={});let r;(v=>(v.SUCCESS="success",v.FAILURE="failure",v.NEUTRAL="neutral",v.CANCELLED="cancelled",v.SKIPPED="skipped",v.TIMED_OUT="timed_out",v.ACTION_REQUIRED="action_required"))(r=e.conclusion||={})})(We||={});var Fe;(r=>{let l;(u=>(u.FREE="FREE",u.FLAT_RATE="FLAT_RATE",u.PER_UNIT="PER_UNIT"))(l=r.price_model||={})})(Fe||={});var je;(r=>{let l;(u=>(u.MERGE="merge",u.FAST_FORWARD="fast-forward",u.NONE="none"))(l=r.merge_type||={})})(je||={});var Ve;(r=>{let l;(s=>(s.OPEN="open",s.CLOSED="closed"))(l=r.state||={})})(Ve||={});var He;(r=>{let l;(u=>(u.NONE="none",u.READY="ready",u.IN_PROGRESS="in_progress"))(l=r.prebuild_availability||={})})(He||={});var Qe;(r=>{let l;(u=>(u.COMPLETED="completed",u.REOPENED="reopened",u.NOT_PLANNED="not_planned"))(l=r.state_reason||={})})(Qe||={});var Ke;(r=>{let l;(s=>(s.OPEN="open",s.CLOSED="closed"))(l=r.state||={})})(Ke||={});var Ye;(s=>{let l;(m=>(m.PR_TITLE="PR_TITLE",m.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(l=s.squash_merge_commit_title||={});let r;(c=>(c.PR_BODY="PR_BODY",c.COMMIT_MESSAGES="COMMIT_MESSAGES",c.BLANK="BLANK"))(r=s.squash_merge_commit_message||={});let e;(m=>(m.PR_TITLE="PR_TITLE",m.MERGE_MESSAGE="MERGE_MESSAGE"))(e=s.merge_commit_title||={});let n;(c=>(c.PR_BODY="PR_BODY",c.PR_TITLE="PR_TITLE",c.BLANK="BLANK"))(n=s.merge_commit_message||={})})(Ye||={});var Ze;(r=>{let l;(s=>(s.ALL="all",s.SELECTED="selected"))(l=r.repository_selection||={})})(Ze||={});var Xe=(e=>(e.DESC="desc",e.ASC="asc",e))(Xe||{});var $e;(e=>{let l;(u=>(u.ACTIVE="active",u.PENDING="pending"))(l=e.state||={});let r;(_=>(_.ADMIN="admin",_.MEMBER="member",_.BILLING_MANAGER="billing_manager"))(r=e.role||={})})($e||={});var Je=(e=>(e.ENABLE_ALL="enable_all",e.DISABLE_ALL="disable_all",e))(Je||{});var rt;(r=>{let l;(u=>(u.ALL="all",u.PRIVATE="private",u.SELECTED="selected"))(l=r.visibility||={})})(rt||={});var et;(r=>{let l;(u=>(u.ALL="all",u.PRIVATE="private",u.SELECTED="selected"))(l=r.visibility||={})})(et||={});var tt;(r=>{let l;(u=>(u.ALL="all",u.PRIVATE="private",u.SELECTED="selected"))(l=r.visibility||={})})(tt||={});var nt;(r=>{let l;(u=>(u.NONE="none",u.ALL="all",u.SUBSET="subset"))(l=r.repository_selection||={})})(nt||={});var st;(r=>{let l;(u=>(u.NONE="none",u.ALL="all",u.SUBSET="subset"))(l=r.repository_selection||={})})(st||={});var it=(_=>(_.NPM="npm",_.MAVEN="maven",_.RUBYGEMS="rubygems",_.DOCKER="docker",_.NUGET="nuget",_.CONTAINER="container",_))(it||{});var ot;(r=>{let l;(c=>(c.NPM="npm",c.MAVEN="maven",c.RUBYGEMS="rubygems",c.DOCKER="docker",c.NUGET="nuget",c.CONTAINER="container"))(l=r.package_type||={})})(ot||={});var lt=(n=>(n.PUBLIC="public",n.PRIVATE="private",n.INTERNAL="internal",n))(lt||{});var at;(r=>{let l;(b=>(b.NEW="new",b.AUTHORIZATION_CREATED="authorization_created",b.AUTHORIZATION_PENDING="authorization_pending",b.AUTHORIZED="authorized",b.AUTHORIZATION_REVOKED="authorization_revoked",b.ISSUED="issued",b.UPLOADED="uploaded",b.APPROVED="approved",b.ERRORED="errored",b.BAD_AUTHZ="bad_authz",b.DESTROY_PENDING="destroy_pending",b.DNS_CHANGED="dns_changed"))(l=r.state||={})})(at||={});var ut=(e=>(e.DAY="day",e.WEEK="week",e))(ut||{});var _t;(r=>{let l;(u=>(u.NONE="none",u.ALL="all",u.SUBSET="subset"))(l=r.repository_selection||={})})(_t||={});var gt=(r=>(r.CREATED_AT="created_at",r))(gt||{});var mt;(r=>{let l;(_=>(_.CRITICAL="critical",_.HIGH="high",_.MEDIUM="medium",_.LOW="low"))(l=r.severity||={})})(mt||={});var pt;(r=>{let l;(_=>(_.READ="read",_.WRITE="write",_.ADMIN="admin",_.NONE="none"))(l=r.organization_permission||={})})(pt||={});var dt=(n=>(n.ISSUE="Issue",n.PULL_REQUEST="PullRequest",n.DRAFT_ISSUE="DraftIssue",n))(dt||{});var ct;(r=>{let l;(s=>(s.OPEN="open",s.CLOSED="closed"))(l=r.state||={})})(ct||={});var bt;(n=>{let l;(_=>(_.LEFT="LEFT",_.RIGHT="RIGHT"))(l=n.start_side||={});let r;(_=>(_.LEFT="LEFT",_.RIGHT="RIGHT"))(r=n.side||={});let e;(_=>(_.LINE="line",_.FILE="file"))(e=n.subject_type||={})})(bt||={});var ht;(r=>{let l;(d=>(d._1="-1",d.LAUGH="laugh",d.CONFUSED="confused",d.HEART="heart",d.HOORAY="hooray",d.ROCKET="rocket",d.EYES="eyes"))(l=r.content||={})})(ht||={});var yt;(r=>{let l;(s=>(s.UPLOADED="uploaded",s.OPEN="open"))(l=r.state||={})})(yt||={});var ft;(s=>{let l;(m=>(m.PR_TITLE="PR_TITLE",m.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(l=s.squash_merge_commit_title||={});let r;(c=>(c.PR_BODY="PR_BODY",c.COMMIT_MESSAGES="COMMIT_MESSAGES",c.BLANK="BLANK"))(r=s.squash_merge_commit_message||={});let e;(m=>(m.PR_TITLE="PR_TITLE",m.MERGE_MESSAGE="MERGE_MESSAGE"))(e=s.merge_commit_title||={});let n;(c=>(c.PR_BODY="PR_BODY",c.PR_TITLE="PR_TITLE",c.BLANK="BLANK"))(n=s.merge_commit_message||={})})(ft||={});var wt;(e=>{let l;(m=>(m.CRITICAL="critical",m.HIGH="high",m.MEDIUM="medium",m.LOW="low"))(l=e.severity||={});let r;(c=>(c.PUBLISHED="published",c.CLOSED="closed",c.WITHDRAWN="withdrawn",c.DRAFT="draft",c.TRIAGE="triage"))(r=e.state||={})})(wt||={});var Et;(r=>{let l;(_=>(_.CRITICAL="critical",_.HIGH="high",_.MEDIUM="medium",_.LOW="low"))(l=r.severity||={})})(Et||={});var vt;(r=>{let l;(u=>(u.ACCEPTED="accepted",u.DECLINED="declined",u.PENDING="pending"))(l=r.state||={})})(vt||={});var Rt;(e=>{let l;(m=>(m.CRITICAL="critical",m.HIGH="high",m.MEDIUM="medium",m.LOW="low"))(l=e.severity||={});let r;(_=>(_.PUBLISHED="published",_.CLOSED="closed",_.DRAFT="draft"))(r=e.state||={})})(Rt||={});var Tt;(r=>{let l;(m=>(m.READ="read",m.WRITE="write",m.ADMIN="admin",m.TRIAGE="triage",m.MAINTAIN="maintain"))(l=r.permissions||={})})(Tt||={});var At;(e=>{let l;(s=>s.BRANCH_NAME_PATTERN="branch_name_pattern")(l=e.type||={});let r;(m=>(m.STARTS_WITH="starts_with",m.ENDS_WITH="ends_with",m.CONTAINS="contains",m.REGEX="regex"))(r=e.operator||={})})(At||={});var kt;(e=>{let l;(s=>s.COMMIT_AUTHOR_EMAIL_PATTERN="commit_author_email_pattern")(l=e.type||={});let r;(m=>(m.STARTS_WITH="starts_with",m.ENDS_WITH="ends_with",m.CONTAINS="contains",m.REGEX="regex"))(r=e.operator||={})})(kt||={});var xt;(e=>{let l;(s=>s.COMMIT_MESSAGE_PATTERN="commit_message_pattern")(l=e.type||={});let r;(m=>(m.STARTS_WITH="starts_with",m.ENDS_WITH="ends_with",m.CONTAINS="contains",m.REGEX="regex"))(r=e.operator||={})})(xt||={});var It;(e=>{let l;(s=>s.COMMITTER_EMAIL_PATTERN="committer_email_pattern")(l=e.type||={});let r;(m=>(m.STARTS_WITH="starts_with",m.ENDS_WITH="ends_with",m.CONTAINS="contains",m.REGEX="regex"))(r=e.operator||={})})(It||={});var Ot;(r=>{let l;(n=>n.CREATION="creation")(l=r.type||={})})(Ot||={});var Nt;(r=>{let l;(n=>n.DELETION="deletion")(l=r.type||={})})(Nt||={});var zt=(n=>(n.DISABLED="disabled",n.ACTIVE="active",n.EVALUATE="evaluate",n))(zt||{});var Pt;(r=>{let l;(n=>n.NON_FAST_FORWARD="non_fast_forward")(l=r.type||={})})(Pt||={});var Ct;(r=>{let l;(n=>n.PULL_REQUEST="pull_request")(l=r.type||={})})(Ct||={});var Dt;(r=>{let l;(n=>n.REQUIRED_DEPLOYMENTS="required_deployments")(l=r.type||={})})(Dt||={});var qt;(r=>{let l;(n=>n.REQUIRED_LINEAR_HISTORY="required_linear_history")(l=r.type||={})})(qt||={});var St;(r=>{let l;(n=>n.REQUIRED_SIGNATURES="required_signatures")(l=r.type||={})})(St||={});var Lt;(r=>{let l;(n=>n.REQUIRED_STATUS_CHECKS="required_status_checks")(l=r.type||={})})(Lt||={});var Ut;(e=>{let l;(s=>s.TAG_NAME_PATTERN="tag_name_pattern")(l=e.type||={});let r;(m=>(m.STARTS_WITH="starts_with",m.ENDS_WITH="ends_with",m.CONTAINS="contains",m.REGEX="regex"))(r=e.operator||={})})(Ut||={});var Mt;(r=>{let l;(n=>n.UPDATE="update")(l=r.type||={})})(Mt||={});var Gt;(n=>{let l;(_=>(_.BRANCH="branch",_.TAG="tag"))(l=n.target||={});let r;(_=>(_.REPOSITORY="Repository",_.ORGANIZATION="Organization"))(r=n.source_type||={});let e;(m=>(m.ALWAYS="always",m.PULL_REQUESTS_ONLY="pull_requests_only",m.NEVER="never"))(e=n.current_user_can_bypass||={})})(Gt||={});var Bt;(e=>{let l;(m=>(m.REPOSITORY_ROLE="RepositoryRole",m.TEAM="Team",m.INTEGRATION="Integration",m.ORGANIZATION_ADMIN="OrganizationAdmin"))(l=e.actor_type||={});let r;(u=>(u.ALWAYS="always",u.PULL_REQUEST="pull_request"))(r=e.bypass_mode||={})})(Bt||={});var Wt;(e=>{let l;(u=>(u.LEFT="LEFT",u.RIGHT="RIGHT"))(l=e.side||={});let r;(u=>(u.LEFT="LEFT",u.RIGHT="RIGHT"))(r=e.start_side||={})})(Wt||={});var Ft;(r=>{let l;(s=>(s.APPROVED="approved",s.REJECTED="rejected"))(l=r.state||={})})(Ft||={});var jt;(r=>{let l;(s=>(s.READ_ONLY="read-only",s.CUSTOM="custom"))(l=r.type||={})})(jt||={});var Vt=(_=>(_.FALSE_POSITIVE="false_positive",_.WONT_FIX="wont_fix",_.REVOKED="revoked",_.USED_IN_TESTS="used_in_tests",_.PATTERN_DELETED="pattern_deleted",_.PATTERN_EDITED="pattern_edited",_))(Vt||{});var Ht=(e=>(e.CREATED="created",e.UPDATED="updated",e))(Ht||{});var Qt=(e=>(e.OPEN="open",e.RESOLVED="resolved",e))(Qt||{});var Kt;(r=>{let l;(_=>(_.COMMIT="commit",_.ISSUE_TITLE="issue_title",_.ISSUE_BODY="issue_body",_.ISSUE_COMMENT="issue_comment"))(l=r.type||={})})(Kt||={});var Yt=(v=>(v.ANALYST="analyst",v.FINDER="finder",v.REPORTER="reporter",v.COORDINATOR="coordinator",v.REMEDIATION_DEVELOPER="remediation_developer",v.REMEDIATION_REVIEWER="remediation_reviewer",v.REMEDIATION_VERIFIER="remediation_verifier",v.TOOL="tool",v.SPONSOR="sponsor",v.OTHER="other",v))(Yt||{});var Zt=(k=>(k.RUBYGEMS="rubygems",k.NPM="npm",k.PIP="pip",k.MAVEN="maven",k.NUGET="nuget",k.COMPOSER="composer",k.GO="go",k.RUST="rust",k.ERLANG="erlang",k.ACTIONS="actions",k.PUB="pub",k.OTHER="other",k.SWIFT="swift",k))(Zt||{});var Xt;(r=>{let l;(s=>(s.ENABLED="enabled",s.DISABLED="disabled"))(l=r.status||={})})(Xt||={});var $t=(m=>(m.DEPENDENCY_GRAPH="dependency_graph",m.DEPENDABOT_ALERTS="dependabot_alerts",m.DEPENDABOT_SECURITY_UPDATES="dependabot_security_updates",m.ADVANCED_SECURITY="advanced_security",m.CODE_SCANNING_DEFAULT_SETUP="code_scanning_default_setup",m.SECRET_SCANNING="secret_scanning",m.SECRET_SCANNING_PUSH_PROTECTION="secret_scanning_push_protection",m))($t||{});var Jt;(e=>{let l;(R=>(R.SUCCESS="success",R.FAILURE="failure",R.NEUTRAL="neutral",R.CANCELLED="cancelled",R.SKIPPED="skipped",R.TIMED_OUT="timed_out",R.ACTION_REQUIRED="action_required",R.STALE="stale",R.STARTUP_FAILURE="startup_failure"))(l=e.conclusion||={});let r;(c=>(c.QUEUED="queued",c.IN_PROGRESS="in_progress",c.COMPLETED="completed",c.PENDING="pending",c.WAITING="waiting"))(r=e.status||={})})(Jt||={});var rn=(e=>(e.CREATED="created",e.UPDATED="updated",e))(rn||{});var en=(e=>(e.CREATED="created",e.UPDATED="updated",e))(en||{});var tn=(n=>(n.QUEUED="queued",n.IN_PROGRESS="in_progress",n.COMPLETED="completed",n))(tn||{});var nn;(e=>{let l;(u=>(u.CLOSED="closed",u.SECRET="secret"))(l=e.privacy||={});let r;(u=>(u.NOTIFICATIONS_ENABLED="notifications_enabled",u.NOTIFICATIONS_DISABLED="notifications_disabled"))(r=e.notification_setting||={})})(nn||={});var sn;(e=>{let l;(u=>(u.MEMBER="member",u.MAINTAINER="maintainer"))(l=e.role||={});let r;(u=>(u.ACTIVE="active",u.PENDING="pending"))(r=e.state||={})})(sn||={});var on;(v=>{let l;(R=>R.CREATED="created")(l=v.action||={});let r;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(r=v.allow_deletions_enforcement_level||={});let e;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(e=v.allow_force_pushes_enforcement_level||={});let n;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(n=v.linear_history_requirement_enforcement_level||={});let s;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(s=v.merge_queue_enforcement_level||={});let u;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(u=v.pull_request_reviews_enforcement_level||={});let _;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(_=v.required_conversation_resolution_level||={});let m;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(m=v.required_deployments_enforcement_level||={});let c;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(c=v.required_status_checks_enforcement_level||={});let d;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(d=v.signature_requirement_enforcement_level||={})})(on||={});var ln;(v=>{let l;(R=>R.DELETED="deleted")(l=v.action||={});let r;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(r=v.allow_deletions_enforcement_level||={});let e;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(e=v.allow_force_pushes_enforcement_level||={});let n;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(n=v.linear_history_requirement_enforcement_level||={});let s;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(s=v.merge_queue_enforcement_level||={});let u;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(u=v.pull_request_reviews_enforcement_level||={});let _;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(_=v.required_conversation_resolution_level||={});let m;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(m=v.required_deployments_enforcement_level||={});let c;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(c=v.required_status_checks_enforcement_level||={});let d;(b=>(b.OFF="off",b.NON_ADMINS="non_admins",b.EVERYONE="everyone"))(d=v.signature_requirement_enforcement_level||={})})(ln||={});var an;(h=>{let l;(k=>k.EDITED="edited")(l=h.action||={});let r;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(r=h.from||={});let e;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(e=h.allow_deletions_enforcement_level||={});let n;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(n=h.allow_force_pushes_enforcement_level||={});let s;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(s=h.linear_history_requirement_enforcement_level||={});let u;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(u=h.merge_queue_enforcement_level||={});let _;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(_=h.pull_request_reviews_enforcement_level||={});let m;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(m=h.required_conversation_resolution_level||={});let c;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(c=h.required_deployments_enforcement_level||={});let d;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(d=h.required_status_checks_enforcement_level||={});let v;(p=>(p.OFF="off",p.NON_ADMINS="non_admins",p.EVERYONE="everyone"))(v=h.signature_requirement_enforcement_level||={})})(an||={});var un;(r=>{let l;(n=>n.COMPLETED="completed")(l=r.action||={})})(un||={});var _n;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(_n||={});var gn;(r=>{let l;(n=>n.REQUESTED_ACTION="requested_action")(l=r.action||={})})(gn||={});var mn;(r=>{let l;(n=>n.REREQUESTED="rerequested")(l=r.action||={})})(mn||={});var pn;(w=>{let l;(N=>N.COMPLETED="completed")(l=w.action||={});let r;(t=>(t.BOT="Bot",t.USER="User",t.ORGANIZATION="Organization"))(r=w.type||={});let e;(g=>(g.READ="read",g.WRITE="write"))(e=w.actions||={});let n;(g=>(g.READ="read",g.WRITE="write"))(n=w.administration||={});let s;(g=>(g.READ="read",g.WRITE="write"))(s=w.checks||={});let u;(g=>(g.READ="read",g.WRITE="write"))(u=w.content_references||={});let _;(g=>(g.READ="read",g.WRITE="write"))(_=w.contents||={});let m;(g=>(g.READ="read",g.WRITE="write"))(m=w.deployments||={});let c;(g=>(g.READ="read",g.WRITE="write"))(c=w.discussions||={});let d;(g=>(g.READ="read",g.WRITE="write"))(d=w.emails||={});let v;(g=>(g.READ="read",g.WRITE="write"))(v=w.environments||={});let h;(g=>(g.READ="read",g.WRITE="write"))(h=w.issues||={});let R;(g=>(g.READ="read",g.WRITE="write"))(R=w.keys||={});let k;(g=>(g.READ="read",g.WRITE="write"))(k=w.members||={});let b;(g=>(g.READ="read",g.WRITE="write"))(b=w.metadata||={});let p;(g=>(g.READ="read",g.WRITE="write"))(p=w.organization_administration||={});let f;(g=>(g.READ="read",g.WRITE="write"))(f=w.organization_hooks||={});let O;(g=>(g.READ="read",g.WRITE="write"))(O=w.organization_packages||={});let I;(g=>(g.READ="read",g.WRITE="write"))(I=w.organization_plan||={});let P;(t=>(t.READ="read",t.WRITE="write",t.ADMIN="admin"))(P=w.organization_projects||={});let E;(g=>(g.READ="read",g.WRITE="write"))(E=w.organization_secrets||={});let D;(g=>(g.READ="read",g.WRITE="write"))(D=w.organization_self_hosted_runners||={});let L;(g=>(g.READ="read",g.WRITE="write"))(L=w.organization_user_blocking||={});let C;(g=>(g.READ="read",g.WRITE="write"))(C=w.packages||={});let U;(g=>(g.READ="read",g.WRITE="write"))(U=w.pages||={});let M;(g=>(g.READ="read",g.WRITE="write"))(M=w.pull_requests||={});let G;(g=>(g.READ="read",g.WRITE="write"))(G=w.repository_hooks||={});let B;(t=>(t.READ="read",t.WRITE="write",t.ADMIN="admin"))(B=w.repository_projects||={});let W;(g=>(g.READ="read",g.WRITE="write"))(W=w.secret_scanning_alerts||={});let F;(g=>(g.READ="read",g.WRITE="write"))(F=w.secrets||={});let j;(g=>(g.READ="read",g.WRITE="write"))(j=w.security_events||={});let V;(g=>(g.READ="read",g.WRITE="write"))(V=w.security_scanning_alert||={});let H;(g=>(g.READ="read",g.WRITE="write"))(H=w.single_file||={});let Q;(g=>(g.READ="read",g.WRITE="write"))(Q=w.statuses||={});let z;(g=>(g.READ="read",g.WRITE="write"))(z=w.team_discussions||={});let K;(g=>(g.READ="read",g.WRITE="write"))(K=w.vulnerability_alerts||={});let S;(g=>(g.READ="read",g.WRITE="write"))(S=w.workflows||={});let x;(T=>(T.SUCCESS="success",T.FAILURE="failure",T.NEUTRAL="neutral",T.CANCELLED="cancelled",T.TIMED_OUT="timed_out",T.ACTION_REQUIRED="action_required",T.STALE="stale",T.SKIPPED="skipped",T.STARTUP_FAILURE="startup_failure"))(x=w.conclusion||={});let q;(A=>(A.REQUESTED="requested",A.IN_PROGRESS="in_progress",A.COMPLETED="completed",A.QUEUED="queued",A.PENDING="pending"))(q=w.status||={})})(pn||={});var dn;(w=>{let l;(N=>N.REQUESTED="requested")(l=w.action||={});let r;(t=>(t.BOT="Bot",t.USER="User",t.ORGANIZATION="Organization"))(r=w.type||={});let e;(g=>(g.READ="read",g.WRITE="write"))(e=w.actions||={});let n;(g=>(g.READ="read",g.WRITE="write"))(n=w.administration||={});let s;(g=>(g.READ="read",g.WRITE="write"))(s=w.checks||={});let u;(g=>(g.READ="read",g.WRITE="write"))(u=w.content_references||={});let _;(g=>(g.READ="read",g.WRITE="write"))(_=w.contents||={});let m;(g=>(g.READ="read",g.WRITE="write"))(m=w.deployments||={});let c;(g=>(g.READ="read",g.WRITE="write"))(c=w.discussions||={});let d;(g=>(g.READ="read",g.WRITE="write"))(d=w.emails||={});let v;(g=>(g.READ="read",g.WRITE="write"))(v=w.environments||={});let h;(g=>(g.READ="read",g.WRITE="write"))(h=w.issues||={});let R;(g=>(g.READ="read",g.WRITE="write"))(R=w.keys||={});let k;(g=>(g.READ="read",g.WRITE="write"))(k=w.members||={});let b;(g=>(g.READ="read",g.WRITE="write"))(b=w.metadata||={});let p;(g=>(g.READ="read",g.WRITE="write"))(p=w.organization_administration||={});let f;(g=>(g.READ="read",g.WRITE="write"))(f=w.organization_hooks||={});let O;(g=>(g.READ="read",g.WRITE="write"))(O=w.organization_packages||={});let I;(g=>(g.READ="read",g.WRITE="write"))(I=w.organization_plan||={});let P;(t=>(t.READ="read",t.WRITE="write",t.ADMIN="admin"))(P=w.organization_projects||={});let E;(g=>(g.READ="read",g.WRITE="write"))(E=w.organization_secrets||={});let D;(g=>(g.READ="read",g.WRITE="write"))(D=w.organization_self_hosted_runners||={});let L;(g=>(g.READ="read",g.WRITE="write"))(L=w.organization_user_blocking||={});let C;(g=>(g.READ="read",g.WRITE="write"))(C=w.packages||={});let U;(g=>(g.READ="read",g.WRITE="write"))(U=w.pages||={});let M;(g=>(g.READ="read",g.WRITE="write"))(M=w.pull_requests||={});let G;(g=>(g.READ="read",g.WRITE="write"))(G=w.repository_hooks||={});let B;(t=>(t.READ="read",t.WRITE="write",t.ADMIN="admin"))(B=w.repository_projects||={});let W;(g=>(g.READ="read",g.WRITE="write"))(W=w.secret_scanning_alerts||={});let F;(g=>(g.READ="read",g.WRITE="write"))(F=w.secrets||={});let j;(g=>(g.READ="read",g.WRITE="write"))(j=w.security_events||={});let V;(g=>(g.READ="read",g.WRITE="write"))(V=w.security_scanning_alert||={});let H;(g=>(g.READ="read",g.WRITE="write"))(H=w.single_file||={});let Q;(g=>(g.READ="read",g.WRITE="write"))(Q=w.statuses||={});let z;(g=>(g.READ="read",g.WRITE="write"))(z=w.team_discussions||={});let K;(g=>(g.READ="read",g.WRITE="write"))(K=w.vulnerability_alerts||={});let S;(g=>(g.READ="read",g.WRITE="write"))(S=w.workflows||={});let x;(Y=>(Y.SUCCESS="success",Y.FAILURE="failure",Y.NEUTRAL="neutral",Y.CANCELLED="cancelled",Y.TIMED_OUT="timed_out",Y.ACTION_REQUIRED="action_required",Y.STALE="stale",Y.SKIPPED="skipped"))(x=w.conclusion||={});let q;(y=>(y.REQUESTED="requested",y.IN_PROGRESS="in_progress",y.COMPLETED="completed",y.QUEUED="queued"))(q=w.status||={})})(dn||={});var cn;(w=>{let l;(N=>N.REREQUESTED="rerequested")(l=w.action||={});let r;(t=>(t.BOT="Bot",t.USER="User",t.ORGANIZATION="Organization"))(r=w.type||={});let e;(g=>(g.READ="read",g.WRITE="write"))(e=w.actions||={});let n;(g=>(g.READ="read",g.WRITE="write"))(n=w.administration||={});let s;(g=>(g.READ="read",g.WRITE="write"))(s=w.checks||={});let u;(g=>(g.READ="read",g.WRITE="write"))(u=w.content_references||={});let _;(g=>(g.READ="read",g.WRITE="write"))(_=w.contents||={});let m;(g=>(g.READ="read",g.WRITE="write"))(m=w.deployments||={});let c;(g=>(g.READ="read",g.WRITE="write"))(c=w.discussions||={});let d;(g=>(g.READ="read",g.WRITE="write"))(d=w.emails||={});let v;(g=>(g.READ="read",g.WRITE="write"))(v=w.environments||={});let h;(g=>(g.READ="read",g.WRITE="write"))(h=w.issues||={});let R;(g=>(g.READ="read",g.WRITE="write"))(R=w.keys||={});let k;(g=>(g.READ="read",g.WRITE="write"))(k=w.members||={});let b;(g=>(g.READ="read",g.WRITE="write"))(b=w.metadata||={});let p;(g=>(g.READ="read",g.WRITE="write"))(p=w.organization_administration||={});let f;(g=>(g.READ="read",g.WRITE="write"))(f=w.organization_hooks||={});let O;(g=>(g.READ="read",g.WRITE="write"))(O=w.organization_packages||={});let I;(g=>(g.READ="read",g.WRITE="write"))(I=w.organization_plan||={});let P;(t=>(t.READ="read",t.WRITE="write",t.ADMIN="admin"))(P=w.organization_projects||={});let E;(g=>(g.READ="read",g.WRITE="write"))(E=w.organization_secrets||={});let D;(g=>(g.READ="read",g.WRITE="write"))(D=w.organization_self_hosted_runners||={});let L;(g=>(g.READ="read",g.WRITE="write"))(L=w.organization_user_blocking||={});let C;(g=>(g.READ="read",g.WRITE="write"))(C=w.packages||={});let U;(g=>(g.READ="read",g.WRITE="write"))(U=w.pages||={});let M;(g=>(g.READ="read",g.WRITE="write"))(M=w.pull_requests||={});let G;(g=>(g.READ="read",g.WRITE="write"))(G=w.repository_hooks||={});let B;(t=>(t.READ="read",t.WRITE="write",t.ADMIN="admin"))(B=w.repository_projects||={});let W;(g=>(g.READ="read",g.WRITE="write"))(W=w.secret_scanning_alerts||={});let F;(g=>(g.READ="read",g.WRITE="write"))(F=w.secrets||={});let j;(g=>(g.READ="read",g.WRITE="write"))(j=w.security_events||={});let V;(g=>(g.READ="read",g.WRITE="write"))(V=w.security_scanning_alert||={});let H;(g=>(g.READ="read",g.WRITE="write"))(H=w.single_file||={});let Q;(g=>(g.READ="read",g.WRITE="write"))(Q=w.statuses||={});let z;(g=>(g.READ="read",g.WRITE="write"))(z=w.team_discussions||={});let K;(g=>(g.READ="read",g.WRITE="write"))(K=w.vulnerability_alerts||={});let S;(g=>(g.READ="read",g.WRITE="write"))(S=w.workflows||={});let x;($=>($.SUCCESS="success",$.FAILURE="failure",$.NEUTRAL="neutral",$.CANCELLED="cancelled",$.TIMED_OUT="timed_out",$.ACTION_REQUIRED="action_required",$.STALE="stale"))(x=w.conclusion||={});let q;(y=>(y.REQUESTED="requested",y.IN_PROGRESS="in_progress",y.COMPLETED="completed",y.QUEUED="queued"))(q=w.status||={})})(cn||={});var bn;(u=>{let l;(m=>m.APPEARED_IN_BRANCH="appeared_in_branch")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(d=>(d.FALSE_POSITIVE="false positive",d.WON_T_FIX="won't fix",d.USED_IN_TESTS="used in tests"))(e=u.dismissed_reason||={});let n;(d=>(d.OPEN="open",d.DISMISSED="dismissed",d.FIXED="fixed"))(n=u.state||={});let s;(v=>(v.NONE="none",v.NOTE="note",v.WARNING="warning",v.ERROR="error"))(s=u.severity||={})})(bn||={});var hn;(u=>{let l;(m=>m.CLOSED_BY_USER="closed_by_user")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(d=>(d.FALSE_POSITIVE="false positive",d.WON_T_FIX="won't fix",d.USED_IN_TESTS="used in tests"))(e=u.dismissed_reason||={});let n;(d=>(d.OPEN="open",d.DISMISSED="dismissed",d.FIXED="fixed"))(n=u.state||={});let s;(v=>(v.NONE="none",v.NOTE="note",v.WARNING="warning",v.ERROR="error"))(s=u.severity||={})})(hn||={});var yn;(n=>{let l;(u=>u.CREATED="created")(l=n.action||={});let r;(m=>(m.OPEN="open",m.DISMISSED="dismissed",m.FIXED="fixed"))(r=n.state||={});let e;(c=>(c.NONE="none",c.NOTE="note",c.WARNING="warning",c.ERROR="error"))(e=n.severity||={})})(yn||={});var fn;(u=>{let l;(m=>m.FIXED="fixed")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(d=>(d.FALSE_POSITIVE="false positive",d.WON_T_FIX="won't fix",d.USED_IN_TESTS="used in tests"))(e=u.dismissed_reason||={});let n;(d=>(d.OPEN="open",d.DISMISSED="dismissed",d.FIXED="fixed"))(n=u.state||={});let s;(v=>(v.NONE="none",v.NOTE="note",v.WARNING="warning",v.ERROR="error"))(s=u.severity||={})})(fn||={});var wn;(n=>{let l;(u=>u.REOPENED="reopened")(l=n.action||={});let r;(m=>(m.OPEN="open",m.DISMISSED="dismissed",m.FIXED="fixed"))(r=n.state||={});let e;(c=>(c.NONE="none",c.NOTE="note",c.WARNING="warning",c.ERROR="error"))(e=n.severity||={})})(wn||={});var En;(n=>{let l;(u=>u.REOPENED_BY_USER="reopened_by_user")(l=n.action||={});let r;(m=>(m.OPEN="open",m.DISMISSED="dismissed",m.FIXED="fixed"))(r=n.state||={});let e;(c=>(c.NONE="none",c.NOTE="note",c.WARNING="warning",c.ERROR="error"))(e=n.severity||={})})(En||={});var vn;(n=>{let l;(u=>u.CREATED="created")(l=n.action||={});let r;(R=>(R.COLLABORATOR="COLLABORATOR",R.CONTRIBUTOR="CONTRIBUTOR",R.FIRST_TIMER="FIRST_TIMER",R.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",R.MANNEQUIN="MANNEQUIN",R.MEMBER="MEMBER",R.NONE="NONE",R.OWNER="OWNER"))(r=n.author_association||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(vn||={});var Rn;(r=>{let l;(s=>(s.TAG="tag",s.BRANCH="branch"))(l=r.ref_type||={})})(Rn||={});var Tn;(r=>{let l;(s=>(s.TAG="tag",s.BRANCH="branch"))(l=r.ref_type||={})})(Tn||={});var An;(r=>{let l;(n=>n.AUTO_DISMISSED="auto_dismissed")(l=r.action||={})})(An||={});var kn;(r=>{let l;(n=>n.AUTO_REOPENED="auto_reopened")(l=r.action||={})})(kn||={});var xn;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(xn||={});var In;(r=>{let l;(n=>n.DISMISSED="dismissed")(l=r.action||={})})(In||={});var On;(r=>{let l;(n=>n.FIXED="fixed")(l=r.action||={})})(On||={});var Nn;(r=>{let l;(n=>n.REINTRODUCED="reintroduced")(l=r.action||={})})(Nn||={});var zn;(r=>{let l;(n=>n.REOPENED="reopened")(l=r.action||={})})(zn||={});var Pn;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(Pn||={});var Cn;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(Cn||={});var Dn;(w=>{let l;(N=>N.CREATED="created")(l=w.action||={});let r;(t=>(t.BOT="Bot",t.USER="User",t.ORGANIZATION="Organization"))(r=w.type||={});let e;(g=>(g.READ="read",g.WRITE="write"))(e=w.actions||={});let n;(g=>(g.READ="read",g.WRITE="write"))(n=w.administration||={});let s;(g=>(g.READ="read",g.WRITE="write"))(s=w.checks||={});let u;(g=>(g.READ="read",g.WRITE="write"))(u=w.content_references||={});let _;(g=>(g.READ="read",g.WRITE="write"))(_=w.contents||={});let m;(g=>(g.READ="read",g.WRITE="write"))(m=w.deployments||={});let c;(g=>(g.READ="read",g.WRITE="write"))(c=w.discussions||={});let d;(g=>(g.READ="read",g.WRITE="write"))(d=w.emails||={});let v;(g=>(g.READ="read",g.WRITE="write"))(v=w.environments||={});let h;(g=>(g.READ="read",g.WRITE="write"))(h=w.issues||={});let R;(g=>(g.READ="read",g.WRITE="write"))(R=w.keys||={});let k;(g=>(g.READ="read",g.WRITE="write"))(k=w.members||={});let b;(g=>(g.READ="read",g.WRITE="write"))(b=w.metadata||={});let p;(g=>(g.READ="read",g.WRITE="write"))(p=w.organization_administration||={});let f;(g=>(g.READ="read",g.WRITE="write"))(f=w.organization_hooks||={});let O;(g=>(g.READ="read",g.WRITE="write"))(O=w.organization_packages||={});let I;(g=>(g.READ="read",g.WRITE="write"))(I=w.organization_plan||={});let P;(g=>(g.READ="read",g.WRITE="write"))(P=w.organization_projects||={});let E;(g=>(g.READ="read",g.WRITE="write"))(E=w.organization_secrets||={});let D;(g=>(g.READ="read",g.WRITE="write"))(D=w.organization_self_hosted_runners||={});let L;(g=>(g.READ="read",g.WRITE="write"))(L=w.organization_user_blocking||={});let C;(g=>(g.READ="read",g.WRITE="write"))(C=w.packages||={});let U;(g=>(g.READ="read",g.WRITE="write"))(U=w.pages||={});let M;(g=>(g.READ="read",g.WRITE="write"))(M=w.pull_requests||={});let G;(g=>(g.READ="read",g.WRITE="write"))(G=w.repository_hooks||={});let B;(g=>(g.READ="read",g.WRITE="write"))(B=w.repository_projects||={});let W;(g=>(g.READ="read",g.WRITE="write"))(W=w.secret_scanning_alerts||={});let F;(g=>(g.READ="read",g.WRITE="write"))(F=w.secrets||={});let j;(g=>(g.READ="read",g.WRITE="write"))(j=w.security_events||={});let V;(g=>(g.READ="read",g.WRITE="write"))(V=w.security_scanning_alert||={});let H;(g=>(g.READ="read",g.WRITE="write"))(H=w.single_file||={});let Q;(g=>(g.READ="read",g.WRITE="write"))(Q=w.statuses||={});let z;(g=>(g.READ="read",g.WRITE="write"))(z=w.team_discussions||={});let K;(g=>(g.READ="read",g.WRITE="write"))(K=w.vulnerability_alerts||={});let S;(g=>(g.READ="read",g.WRITE="write"))(S=w.workflows||={});let x;($=>($.SUCCESS="success",$.FAILURE="failure",$.NEUTRAL="neutral",$.CANCELLED="cancelled",$.TIMED_OUT="timed_out",$.ACTION_REQUIRED="action_required",$.STALE="stale"))(x=w.conclusion||={});let q;(X=>(X.REQUESTED="requested",X.IN_PROGRESS="in_progress",X.COMPLETED="completed",X.QUEUED="queued",X.WAITING="waiting",X.PENDING="pending"))(q=w.status||={})})(Dn||={});var qn;(r=>{let l;(n=>n.REQUESTED="requested")(l=r.action||={})})(qn||={});var Sn;(w=>{let l;(N=>N.CREATED="created")(l=w.action||={});let r;(Y=>(Y.SUCCESS="success",Y.FAILURE="failure",Y.NEUTRAL="neutral",Y.CANCELLED="cancelled",Y.TIMED_OUT="timed_out",Y.ACTION_REQUIRED="action_required",Y.STALE="stale",Y.SKIPPED="skipped"))(r=w.conclusion||={});let e;(A=>(A.QUEUED="queued",A.IN_PROGRESS="in_progress",A.COMPLETED="completed",A.WAITING="waiting",A.PENDING="pending"))(e=w.status||={});let n;(t=>(t.BOT="Bot",t.USER="User",t.ORGANIZATION="Organization"))(n=w.type||={});let s;(g=>(g.READ="read",g.WRITE="write"))(s=w.actions||={});let u;(g=>(g.READ="read",g.WRITE="write"))(u=w.administration||={});let _;(g=>(g.READ="read",g.WRITE="write"))(_=w.checks||={});let m;(g=>(g.READ="read",g.WRITE="write"))(m=w.content_references||={});let c;(g=>(g.READ="read",g.WRITE="write"))(c=w.contents||={});let d;(g=>(g.READ="read",g.WRITE="write"))(d=w.deployments||={});let v;(g=>(g.READ="read",g.WRITE="write"))(v=w.discussions||={});let h;(g=>(g.READ="read",g.WRITE="write"))(h=w.emails||={});let R;(g=>(g.READ="read",g.WRITE="write"))(R=w.environments||={});let k;(g=>(g.READ="read",g.WRITE="write"))(k=w.issues||={});let b;(g=>(g.READ="read",g.WRITE="write"))(b=w.keys||={});let p;(g=>(g.READ="read",g.WRITE="write"))(p=w.members||={});let f;(g=>(g.READ="read",g.WRITE="write"))(f=w.metadata||={});let O;(g=>(g.READ="read",g.WRITE="write"))(O=w.organization_administration||={});let I;(g=>(g.READ="read",g.WRITE="write"))(I=w.organization_hooks||={});let P;(g=>(g.READ="read",g.WRITE="write"))(P=w.organization_packages||={});let E;(g=>(g.READ="read",g.WRITE="write"))(E=w.organization_plan||={});let D;(g=>(g.READ="read",g.WRITE="write"))(D=w.organization_projects||={});let L;(g=>(g.READ="read",g.WRITE="write"))(L=w.organization_secrets||={});let C;(g=>(g.READ="read",g.WRITE="write"))(C=w.organization_self_hosted_runners||={});let U;(g=>(g.READ="read",g.WRITE="write"))(U=w.organization_user_blocking||={});let M;(g=>(g.READ="read",g.WRITE="write"))(M=w.packages||={});let G;(g=>(g.READ="read",g.WRITE="write"))(G=w.pages||={});let B;(g=>(g.READ="read",g.WRITE="write"))(B=w.pull_requests||={});let W;(g=>(g.READ="read",g.WRITE="write"))(W=w.repository_hooks||={});let F;(g=>(g.READ="read",g.WRITE="write"))(F=w.repository_projects||={});let j;(g=>(g.READ="read",g.WRITE="write"))(j=w.secret_scanning_alerts||={});let V;(g=>(g.READ="read",g.WRITE="write"))(V=w.secrets||={});let H;(g=>(g.READ="read",g.WRITE="write"))(H=w.security_events||={});let Q;(g=>(g.READ="read",g.WRITE="write"))(Q=w.security_scanning_alert||={});let z;(g=>(g.READ="read",g.WRITE="write"))(z=w.single_file||={});let K;(g=>(g.READ="read",g.WRITE="write"))(K=w.statuses||={});let S;(g=>(g.READ="read",g.WRITE="write"))(S=w.team_discussions||={});let x;(g=>(g.READ="read",g.WRITE="write"))(x=w.vulnerability_alerts||={});let q;(g=>(g.READ="read",g.WRITE="write"))(q=w.workflows||={})})(Sn||={});var Ln;(n=>{let l;(u=>u.ANSWERED="answered")(l=n.action||={});let r;(R=>(R.COLLABORATOR="COLLABORATOR",R.CONTRIBUTOR="CONTRIBUTOR",R.FIRST_TIMER="FIRST_TIMER",R.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",R.MANNEQUIN="MANNEQUIN",R.MEMBER="MEMBER",R.NONE="NONE",R.OWNER="OWNER"))(r=n.author_association||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(Ln||={});var Un;(r=>{let l;(n=>n.CATEGORY_CHANGED="category_changed")(l=r.action||={})})(Un||={});var Mn;(r=>{let l;(n=>n.CLOSED="closed")(l=r.action||={})})(Mn||={});var Gn;(n=>{let l;(u=>u.CREATED="created")(l=n.action||={});let r;(R=>(R.COLLABORATOR="COLLABORATOR",R.CONTRIBUTOR="CONTRIBUTOR",R.FIRST_TIMER="FIRST_TIMER",R.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",R.MANNEQUIN="MANNEQUIN",R.MEMBER="MEMBER",R.NONE="NONE",R.OWNER="OWNER"))(r=n.author_association||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(Gn||={});var Bn;(n=>{let l;(u=>u.DELETED="deleted")(l=n.action||={});let r;(R=>(R.COLLABORATOR="COLLABORATOR",R.CONTRIBUTOR="CONTRIBUTOR",R.FIRST_TIMER="FIRST_TIMER",R.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",R.MANNEQUIN="MANNEQUIN",R.MEMBER="MEMBER",R.NONE="NONE",R.OWNER="OWNER"))(r=n.author_association||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(Bn||={});var Wn;(n=>{let l;(u=>u.EDITED="edited")(l=n.action||={});let r;(R=>(R.COLLABORATOR="COLLABORATOR",R.CONTRIBUTOR="CONTRIBUTOR",R.FIRST_TIMER="FIRST_TIMER",R.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",R.MANNEQUIN="MANNEQUIN",R.MEMBER="MEMBER",R.NONE="NONE",R.OWNER="OWNER"))(r=n.author_association||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(Wn||={});var Fn;(s=>{let l;(_=>_.CREATED="created")(l=s.action||={});let r;(c=>(c.BOT="Bot",c.USER="User",c.ORGANIZATION="Organization"))(r=s.type||={});let e;(k=>(k.COLLABORATOR="COLLABORATOR",k.CONTRIBUTOR="CONTRIBUTOR",k.FIRST_TIMER="FIRST_TIMER",k.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",k.MANNEQUIN="MANNEQUIN",k.MEMBER="MEMBER",k.NONE="NONE",k.OWNER="OWNER"))(e=s.author_association||={});let n;(d=>(d.OPEN="open",d.LOCKED="locked",d.CONVERTING="converting",d.TRANSFERRING="transferring"))(n=s.state||={})})(Fn||={});var jn;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(jn||={});var Vn;(r=>{let l;(n=>n.EDITED="edited")(l=r.action||={})})(Vn||={});var Hn;(r=>{let l;(n=>n.LABELED="labeled")(l=r.action||={})})(Hn||={});var Qn;(r=>{let l;(n=>n.LOCKED="locked")(l=r.action||={})})(Qn||={});var Kn;(r=>{let l;(n=>n.PINNED="pinned")(l=r.action||={})})(Kn||={});var Yn;(r=>{let l;(n=>n.REOPENED="reopened")(l=r.action||={})})(Yn||={});var Zn;(r=>{let l;(n=>n.TRANSFERRED="transferred")(l=r.action||={})})(Zn||={});var Xn;(n=>{let l;(u=>u.UNANSWERED="unanswered")(l=n.action||={});let r;(R=>(R.COLLABORATOR="COLLABORATOR",R.CONTRIBUTOR="CONTRIBUTOR",R.FIRST_TIMER="FIRST_TIMER",R.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",R.MANNEQUIN="MANNEQUIN",R.MEMBER="MEMBER",R.NONE="NONE",R.OWNER="OWNER"))(r=n.author_association||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(Xn||={});var $n;(r=>{let l;(n=>n.UNLABELED="unlabeled")(l=r.action||={})})($n||={});var Jn;(r=>{let l;(n=>n.UNLOCKED="unlocked")(l=r.action||={})})(Jn||={});var rs;(r=>{let l;(n=>n.UNPINNED="unpinned")(l=r.action||={})})(rs||={});var es;(e=>{let l;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(l=e.type||={});let r;(_=>(_.PUBLIC="public",_.PRIVATE="private",_.INTERNAL="internal"))(r=e.visibility||={})})(es||={});var ts;(r=>{let l;(n=>n.REVOKED="revoked")(l=r.action||={})})(ts||={});var ns;(e=>{let l;(s=>s.CREATED="created")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(ns||={});var ss;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(ss||={});var is;(r=>{let l;(n=>n.NEW_PERMISSIONS_ACCEPTED="new_permissions_accepted")(l=r.action||={})})(is||={});var os;(n=>{let l;(u=>u.ADDED="added")(l=n.action||={});let r;(_=>(_.ALL="all",_.SELECTED="selected"))(r=n.repository_selection||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(os||={});var ls;(n=>{let l;(u=>u.REMOVED="removed")(l=n.action||={});let r;(_=>(_.ALL="all",_.SELECTED="selected"))(r=n.repository_selection||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(ls||={});var as;(r=>{let l;(n=>n.SUSPEND="suspend")(l=r.action||={})})(as||={});var us;(r=>{let l;(n=>n.UNSUSPEND="unsuspend")(l=r.action||={})})(us||={});var _s;(a=>{let l;(g=>g.CREATED="created")(l=a.action||={});let r;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(r=a.author_association||={});let e;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(e=a.type||={});let n;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(n=a.active_lock_reason||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(_s||={});var gs;(a=>{let l;(g=>g.DELETED="deleted")(l=a.action||={});let r;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(r=a.author_association||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization",A.MANNEQUIN="Mannequin"))(e=a.type||={});let n;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(n=a.active_lock_reason||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(t=>(t.READ="read",t.WRITE="write"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(gs||={});var ms;(a=>{let l;(g=>g.EDITED="edited")(l=a.action||={});let r;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(r=a.author_association||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization",A.MANNEQUIN="Mannequin"))(e=a.type||={});let n;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(n=a.active_lock_reason||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(ms||={});var ps;(a=>{let l;(g=>g.ASSIGNED="assigned")(l=a.action||={});let r;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(r=a.type||={});let e;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(e=a.active_lock_reason||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(ps||={});var ds;(a=>{let l;(g=>g.CLOSED="closed")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization",A.MANNEQUIN="Mannequin"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(ds||={});var cs;(a=>{let l;(g=>g.DELETED="deleted")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(t=>(t.READ="read",t.WRITE="write"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(cs||={});var bs;(a=>{let l;(g=>g.DEMILESTONED="demilestoned")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization",A.MANNEQUIN="Mannequin"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(bs||={});var hs;(a=>{let l;(g=>g.EDITED="edited")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization",A.MANNEQUIN="Mannequin"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(hs||={});var ys;(a=>{let l;(g=>g.LABELED="labeled")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization",A.MANNEQUIN="Mannequin"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(ys||={});var fs;(a=>{let l;(g=>g.LOCKED="locked")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(t=>(t.READ="read",t.WRITE="write"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(fs||={});var ws;(a=>{let l;(g=>g.MILESTONED="milestoned")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(ws||={});var Es;(N=>{let l;(t=>t.OPENED="opened")(l=N.action||={});let r;(X=>(X.RESOLVED="resolved",X.OFF_TOPIC="off-topic",X.TOO_HEATED="too heated",X.SPAM="spam"))(r=N.active_lock_reason||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization"))(e=N.type||={});let n;(Z=>(Z.COLLABORATOR="COLLABORATOR",Z.CONTRIBUTOR="CONTRIBUTOR",Z.FIRST_TIMER="FIRST_TIMER",Z.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",Z.MANNEQUIN="MANNEQUIN",Z.MEMBER="MEMBER",Z.NONE="NONE",Z.OWNER="OWNER"))(n=N.author_association||={});let s;(y=>(y.OPEN="open",y.CLOSED="closed"))(s=N.state||={});let u;(y=>(y.READ="read",y.WRITE="write"))(u=N.actions||={});let _;(y=>(y.READ="read",y.WRITE="write"))(_=N.administration||={});let m;(y=>(y.READ="read",y.WRITE="write"))(m=N.checks||={});let c;(y=>(y.READ="read",y.WRITE="write"))(c=N.content_references||={});let d;(y=>(y.READ="read",y.WRITE="write"))(d=N.contents||={});let v;(y=>(y.READ="read",y.WRITE="write"))(v=N.deployments||={});let h;(y=>(y.READ="read",y.WRITE="write"))(h=N.discussions||={});let R;(y=>(y.READ="read",y.WRITE="write"))(R=N.emails||={});let k;(y=>(y.READ="read",y.WRITE="write"))(k=N.environments||={});let b;(y=>(y.READ="read",y.WRITE="write"))(b=N.issues||={});let p;(y=>(y.READ="read",y.WRITE="write"))(p=N.keys||={});let f;(y=>(y.READ="read",y.WRITE="write"))(f=N.members||={});let O;(y=>(y.READ="read",y.WRITE="write"))(O=N.metadata||={});let I;(y=>(y.READ="read",y.WRITE="write"))(I=N.organization_administration||={});let P;(y=>(y.READ="read",y.WRITE="write"))(P=N.organization_hooks||={});let E;(y=>(y.READ="read",y.WRITE="write"))(E=N.organization_packages||={});let D;(y=>(y.READ="read",y.WRITE="write"))(D=N.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write"))(L=N.organization_projects||={});let C;(y=>(y.READ="read",y.WRITE="write"))(C=N.organization_secrets||={});let U;(y=>(y.READ="read",y.WRITE="write"))(U=N.organization_self_hosted_runners||={});let M;(y=>(y.READ="read",y.WRITE="write"))(M=N.organization_user_blocking||={});let G;(y=>(y.READ="read",y.WRITE="write"))(G=N.packages||={});let B;(y=>(y.READ="read",y.WRITE="write"))(B=N.pages||={});let W;(y=>(y.READ="read",y.WRITE="write"))(W=N.pull_requests||={});let F;(y=>(y.READ="read",y.WRITE="write"))(F=N.repository_hooks||={});let j;(y=>(y.READ="read",y.WRITE="write"))(j=N.repository_projects||={});let V;(y=>(y.READ="read",y.WRITE="write"))(V=N.secret_scanning_alerts||={});let H;(y=>(y.READ="read",y.WRITE="write"))(H=N.secrets||={});let Q;(y=>(y.READ="read",y.WRITE="write"))(Q=N.security_events||={});let z;(y=>(y.READ="read",y.WRITE="write"))(z=N.security_scanning_alert||={});let K;(y=>(y.READ="read",y.WRITE="write"))(K=N.single_file||={});let S;(y=>(y.READ="read",y.WRITE="write"))(S=N.statuses||={});let x;(y=>(y.READ="read",y.WRITE="write"))(x=N.team_discussions||={});let q;(y=>(y.READ="read",y.WRITE="write"))(q=N.vulnerability_alerts||={});let w;(y=>(y.READ="read",y.WRITE="write"))(w=N.workflows||={});let a;(A=>(A.PUBLIC="public",A.PRIVATE="private",A.INTERNAL="internal"))(a=N.visibility||={})})(Es||={});var vs;(a=>{let l;(g=>g.PINNED="pinned")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(t=>(t.READ="read",t.WRITE="write"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(vs||={});var Rs;(a=>{let l;(g=>g.REOPENED="reopened")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(Rs||={});var Ts;(N=>{let l;(t=>t.TRANSFERRED="transferred")(l=N.action||={});let r;(X=>(X.RESOLVED="resolved",X.OFF_TOPIC="off-topic",X.TOO_HEATED="too heated",X.SPAM="spam"))(r=N.active_lock_reason||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization"))(e=N.type||={});let n;(Z=>(Z.COLLABORATOR="COLLABORATOR",Z.CONTRIBUTOR="CONTRIBUTOR",Z.FIRST_TIMER="FIRST_TIMER",Z.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",Z.MANNEQUIN="MANNEQUIN",Z.MEMBER="MEMBER",Z.NONE="NONE",Z.OWNER="OWNER"))(n=N.author_association||={});let s;(y=>(y.OPEN="open",y.CLOSED="closed"))(s=N.state||={});let u;(y=>(y.READ="read",y.WRITE="write"))(u=N.actions||={});let _;(y=>(y.READ="read",y.WRITE="write"))(_=N.administration||={});let m;(y=>(y.READ="read",y.WRITE="write"))(m=N.checks||={});let c;(y=>(y.READ="read",y.WRITE="write"))(c=N.content_references||={});let d;(y=>(y.READ="read",y.WRITE="write"))(d=N.contents||={});let v;(y=>(y.READ="read",y.WRITE="write"))(v=N.deployments||={});let h;(y=>(y.READ="read",y.WRITE="write"))(h=N.discussions||={});let R;(y=>(y.READ="read",y.WRITE="write"))(R=N.emails||={});let k;(y=>(y.READ="read",y.WRITE="write"))(k=N.environments||={});let b;(y=>(y.READ="read",y.WRITE="write"))(b=N.issues||={});let p;(y=>(y.READ="read",y.WRITE="write"))(p=N.keys||={});let f;(y=>(y.READ="read",y.WRITE="write"))(f=N.members||={});let O;(y=>(y.READ="read",y.WRITE="write"))(O=N.metadata||={});let I;(y=>(y.READ="read",y.WRITE="write"))(I=N.organization_administration||={});let P;(y=>(y.READ="read",y.WRITE="write"))(P=N.organization_hooks||={});let E;(y=>(y.READ="read",y.WRITE="write"))(E=N.organization_packages||={});let D;(y=>(y.READ="read",y.WRITE="write"))(D=N.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write"))(L=N.organization_projects||={});let C;(y=>(y.READ="read",y.WRITE="write"))(C=N.organization_secrets||={});let U;(y=>(y.READ="read",y.WRITE="write"))(U=N.organization_self_hosted_runners||={});let M;(y=>(y.READ="read",y.WRITE="write"))(M=N.organization_user_blocking||={});let G;(y=>(y.READ="read",y.WRITE="write"))(G=N.packages||={});let B;(y=>(y.READ="read",y.WRITE="write"))(B=N.pages||={});let W;(y=>(y.READ="read",y.WRITE="write"))(W=N.pull_requests||={});let F;(y=>(y.READ="read",y.WRITE="write"))(F=N.repository_hooks||={});let j;(y=>(y.READ="read",y.WRITE="write"))(j=N.repository_projects||={});let V;(y=>(y.READ="read",y.WRITE="write"))(V=N.secret_scanning_alerts||={});let H;(y=>(y.READ="read",y.WRITE="write"))(H=N.secrets||={});let Q;(y=>(y.READ="read",y.WRITE="write"))(Q=N.security_events||={});let z;(y=>(y.READ="read",y.WRITE="write"))(z=N.security_scanning_alert||={});let K;(y=>(y.READ="read",y.WRITE="write"))(K=N.single_file||={});let S;(y=>(y.READ="read",y.WRITE="write"))(S=N.statuses||={});let x;(y=>(y.READ="read",y.WRITE="write"))(x=N.team_discussions||={});let q;(y=>(y.READ="read",y.WRITE="write"))(q=N.vulnerability_alerts||={});let w;(y=>(y.READ="read",y.WRITE="write"))(w=N.workflows||={});let a;(A=>(A.PUBLIC="public",A.PRIVATE="private",A.INTERNAL="internal"))(a=N.visibility||={})})(Ts||={});var As;(a=>{let l;(g=>g.UNASSIGNED="unassigned")(l=a.action||={});let r;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization",A.MANNEQUIN="Mannequin"))(r=a.type||={});let e;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(e=a.active_lock_reason||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(As||={});var ks;(a=>{let l;(g=>g.UNLABELED="unlabeled")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(A=>(A.BOT="Bot",A.USER="User",A.ORGANIZATION="Organization",A.MANNEQUIN="Mannequin"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(y=>(y.READ="read",y.WRITE="write",y.ADMIN="admin"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(ks||={});var xs;(a=>{let l;(g=>g.UNLOCKED="unlocked")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(t=>(t.READ="read",t.WRITE="write"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(xs||={});var Is;(a=>{let l;(g=>g.UNPINNED="unpinned")(l=a.action||={});let r;(A=>(A.RESOLVED="resolved",A.OFF_TOPIC="off-topic",A.TOO_HEATED="too heated",A.SPAM="spam"))(r=a.active_lock_reason||={});let e;(y=>(y.BOT="Bot",y.USER="User",y.ORGANIZATION="Organization"))(e=a.type||={});let n;(T=>(T.COLLABORATOR="COLLABORATOR",T.CONTRIBUTOR="CONTRIBUTOR",T.FIRST_TIMER="FIRST_TIMER",T.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",T.MANNEQUIN="MANNEQUIN",T.MEMBER="MEMBER",T.NONE="NONE",T.OWNER="OWNER"))(n=a.author_association||={});let s;(t=>(t.OPEN="open",t.CLOSED="closed"))(s=a.state||={});let u;(t=>(t.READ="read",t.WRITE="write"))(u=a.actions||={});let _;(t=>(t.READ="read",t.WRITE="write"))(_=a.administration||={});let m;(t=>(t.READ="read",t.WRITE="write"))(m=a.checks||={});let c;(t=>(t.READ="read",t.WRITE="write"))(c=a.content_references||={});let d;(t=>(t.READ="read",t.WRITE="write"))(d=a.contents||={});let v;(t=>(t.READ="read",t.WRITE="write"))(v=a.deployments||={});let h;(t=>(t.READ="read",t.WRITE="write"))(h=a.discussions||={});let R;(t=>(t.READ="read",t.WRITE="write"))(R=a.emails||={});let k;(t=>(t.READ="read",t.WRITE="write"))(k=a.environments||={});let b;(t=>(t.READ="read",t.WRITE="write"))(b=a.issues||={});let p;(t=>(t.READ="read",t.WRITE="write"))(p=a.keys||={});let f;(t=>(t.READ="read",t.WRITE="write"))(f=a.members||={});let O;(t=>(t.READ="read",t.WRITE="write"))(O=a.metadata||={});let I;(t=>(t.READ="read",t.WRITE="write"))(I=a.organization_administration||={});let P;(t=>(t.READ="read",t.WRITE="write"))(P=a.organization_hooks||={});let E;(t=>(t.READ="read",t.WRITE="write"))(E=a.organization_packages||={});let D;(t=>(t.READ="read",t.WRITE="write"))(D=a.organization_plan||={});let L;(t=>(t.READ="read",t.WRITE="write"))(L=a.organization_projects||={});let C;(t=>(t.READ="read",t.WRITE="write"))(C=a.organization_secrets||={});let U;(t=>(t.READ="read",t.WRITE="write"))(U=a.organization_self_hosted_runners||={});let M;(t=>(t.READ="read",t.WRITE="write"))(M=a.organization_user_blocking||={});let G;(t=>(t.READ="read",t.WRITE="write"))(G=a.packages||={});let B;(t=>(t.READ="read",t.WRITE="write"))(B=a.pages||={});let W;(t=>(t.READ="read",t.WRITE="write"))(W=a.pull_requests||={});let F;(t=>(t.READ="read",t.WRITE="write"))(F=a.repository_hooks||={});let j;(t=>(t.READ="read",t.WRITE="write"))(j=a.repository_projects||={});let V;(t=>(t.READ="read",t.WRITE="write"))(V=a.secret_scanning_alerts||={});let H;(t=>(t.READ="read",t.WRITE="write"))(H=a.secrets||={});let Q;(t=>(t.READ="read",t.WRITE="write"))(Q=a.security_events||={});let z;(t=>(t.READ="read",t.WRITE="write"))(z=a.security_scanning_alert||={});let K;(t=>(t.READ="read",t.WRITE="write"))(K=a.single_file||={});let S;(t=>(t.READ="read",t.WRITE="write"))(S=a.statuses||={});let x;(t=>(t.READ="read",t.WRITE="write"))(x=a.team_discussions||={});let q;(t=>(t.READ="read",t.WRITE="write"))(q=a.vulnerability_alerts||={});let w;(t=>(t.READ="read",t.WRITE="write"))(w=a.workflows||={})})(Is||={});var Os;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(Os||={});var Ns;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(Ns||={});var zs;(r=>{let l;(n=>n.EDITED="edited")(l=r.action||={})})(zs||={});var Ps;(e=>{let l;(s=>s.CANCELLED="cancelled")(l=e.action||={});let r;(_=>(_.FREE="FREE",_.FLAT_RATE="FLAT_RATE",_.PER_UNIT="PER_UNIT"))(r=e.price_model||={})})(Ps||={});var Cs;(e=>{let l;(s=>s.CHANGED="changed")(l=e.action||={});let r;(_=>(_.FREE="FREE",_.FLAT_RATE="FLAT_RATE",_.PER_UNIT="PER_UNIT"))(r=e.price_model||={})})(Cs||={});var Ds;(e=>{let l;(s=>s.PENDING_CHANGE="pending_change")(l=e.action||={});let r;(_=>(_.FREE="FREE",_.FLAT_RATE="FLAT_RATE",_.PER_UNIT="PER_UNIT"))(r=e.price_model||={})})(Ds||={});var qs;(e=>{let l;(s=>s.PENDING_CHANGE_CANCELLED="pending_change_cancelled")(l=e.action||={});let r;(_=>(_.FREE="FREE",_.FLAT_RATE="FLAT_RATE",_.PER_UNIT="PER_UNIT"))(r=e.price_model||={})})(qs||={});var Ss;(e=>{let l;(s=>s.PURCHASED="purchased")(l=e.action||={});let r;(_=>(_.FREE="FREE",_.FLAT_RATE="FLAT_RATE",_.PER_UNIT="PER_UNIT"))(r=e.price_model||={})})(Ss||={});var Ls;(n=>{let l;(u=>u.ADDED="added")(l=n.action||={});let r;(m=>(m.WRITE="write",m.ADMIN="admin",m.READ="read"))(r=n.to||={});let e;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(e=n.type||={})})(Ls||={});var Us;(e=>{let l;(s=>s.EDITED="edited")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Us||={});var Ms;(e=>{let l;(s=>s.REMOVED="removed")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Ms||={});var Gs;(u=>{let l;(m=>m.ADDED="added")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(m=>m.TEAM="team")(e=u.scope||={});let n;(d=>(d.OPEN="open",d.CLOSED="closed",d.SECRET="secret"))(n=u.privacy||={});let s;(c=>(c.NOTIFICATIONS_ENABLED="notifications_enabled",c.NOTIFICATIONS_DISABLED="notifications_disabled"))(s=u.notification_setting||={})})(Gs||={});var Bs;(u=>{let l;(m=>m.REMOVED="removed")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(c=>(c.TEAM="team",c.ORGANIZATION="organization"))(e=u.scope||={});let n;(d=>(d.OPEN="open",d.CLOSED="closed",d.SECRET="secret"))(n=u.privacy||={});let s;(c=>(c.NOTIFICATIONS_ENABLED="notifications_enabled",c.NOTIFICATIONS_DISABLED="notifications_disabled"))(s=u.notification_setting||={})})(Bs||={});var Ws;(r=>{let l;(n=>n.CHECKS_REQUESTED="checks_requested")(l=r.action||={})})(Ws||={});var Fs;(e=>{let l;(s=>s.DESTROYED="destroyed")(l=e.action||={});let r;(_=>(_.MERGED="merged",_.INVALIDATED="invalidated",_.DEQUEUED="dequeued"))(r=e.reason||={})})(Fs||={});var js;(e=>{let l;(s=>s.DELETED="deleted")(l=e.action||={});let r;(u=>(u.JSON="json",u.FORM="form"))(r=e.content_type||={})})(js||={});var Vs;(n=>{let l;(u=>u.CLOSED="closed")(l=n.action||={});let r;(c=>(c.BOT="Bot",c.USER="User",c.ORGANIZATION="Organization",c.MANNEQUIN="Mannequin"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(Vs||={});var Hs;(n=>{let l;(u=>u.CREATED="created")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(Hs||={});var Qs;(n=>{let l;(u=>u.DELETED="deleted")(l=n.action||={});let r;(c=>(c.BOT="Bot",c.USER="User",c.ORGANIZATION="Organization",c.MANNEQUIN="Mannequin"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(Qs||={});var Ks;(n=>{let l;(u=>u.EDITED="edited")(l=n.action||={});let r;(c=>(c.BOT="Bot",c.USER="User",c.ORGANIZATION="Organization",c.MANNEQUIN="Mannequin"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(Ks||={});var Ys;(n=>{let l;(u=>u.OPENED="opened")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(Ys||={});var Zs;(e=>{let l;(s=>s.BLOCKED="blocked")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Zs||={});var Xs;(e=>{let l;(s=>s.UNBLOCKED="unblocked")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Xs||={});var $s;(e=>{let l;(s=>s.DELETED="deleted")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})($s||={});var Js;(e=>{let l;(s=>s.MEMBER_ADDED="member_added")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Js||={});var ri;(e=>{let l;(s=>s.MEMBER_INVITED="member_invited")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(ri||={});var ei;(e=>{let l;(s=>s.MEMBER_REMOVED="member_removed")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(ei||={});var ti;(e=>{let l;(s=>s.RENAMED="renamed")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(ti||={});var ni;(e=>{let l;(s=>s.PUBLISHED="published")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(ni||={});var si;(e=>{let l;(s=>s.UPDATED="updated")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(si||={});var ii;(r=>{let l;(u=>(u.BOT="Bot",u.USER="User",u.ORGANIZATION="Organization"))(l=r.type||={})})(ii||={});var oi;(r=>{let l;(n=>n.APPROVED="approved")(l=r.action||={})})(oi||={});var li;(r=>{let l;(n=>n.CANCELLED="cancelled")(l=r.action||={})})(li||={});var ai;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(ai||={});var ui;(r=>{let l;(n=>n.DENIED="denied")(l=r.action||={})})(ui||={});var _i;(r=>{let l;(n=>n.WEB="web")(l=r.name||={})})(_i||={});var gi;(e=>{let l;(s=>s.CONVERTED="converted")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(gi||={});var mi;(e=>{let l;(s=>s.CREATED="created")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(mi||={});var pi;(e=>{let l;(s=>s.DELETED="deleted")(l=e.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization",m.MANNEQUIN="Mannequin"))(r=e.type||={})})(pi||={});var di;(e=>{let l;(s=>s.EDITED="edited")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(di||={});var ci;(e=>{let l;(s=>s.MOVED="moved")(l=e.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization",m.MANNEQUIN="Mannequin"))(r=e.type||={})})(ci||={});var bi;(n=>{let l;(u=>u.CLOSED="closed")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(bi||={});var hi;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(hi||={});var yi;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(yi||={});var fi;(r=>{let l;(n=>n.EDITED="edited")(l=r.action||={})})(fi||={});var wi;(r=>{let l;(n=>n.MOVED="moved")(l=r.action||={})})(wi||={});var Ei;(n=>{let l;(u=>u.CREATED="created")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(Ei||={});var vi;(n=>{let l;(u=>u.DELETED="deleted")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(vi||={});var Ri;(n=>{let l;(u=>u.EDITED="edited")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(Ri||={});var Ti;(n=>{let l;(u=>u.REOPENED="reopened")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(_=>(_.OPEN="open",_.CLOSED="closed"))(e=n.state||={})})(Ti||={});var Ai;(r=>{let l;(n=>n.ARCHIVED="archived")(l=r.action||={})})(Ai||={});var ki;(r=>{let l;(n=>n.CONVERTED="converted")(l=r.action||={})})(ki||={});var xi;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(xi||={});var Ii;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(Ii||={});var Oi;(r=>{let l;(n=>n.EDITED="edited")(l=r.action||={})})(Oi||={});var Ni;(r=>{let l;(n=>n.REORDERED="reordered")(l=r.action||={})})(Ni||={});var zi;(r=>{let l;(n=>n.RESTORED="restored")(l=r.action||={})})(zi||={});var Pi;(r=>{let l;(n=>n.CLOSED="closed")(l=r.action||={})})(Pi||={});var Ci;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(Ci||={});var Di;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(Di||={});var qi;(r=>{let l;(n=>n.EDITED="edited")(l=r.action||={})})(qi||={});var Si;(r=>{let l;(n=>n.REOPENED="reopened")(l=r.action||={})})(Si||={});var Li;(h=>{let l;(k=>k.ASSIGNED="assigned")(l=h.action||={});let r;(p=>(p.BOT="Bot",p.USER="User",p.ORGANIZATION="Organization"))(r=h.type||={});let e;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(e=h.active_lock_reason||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Li||={});var Ui;(h=>{let l;(k=>k.AUTO_MERGE_DISABLED="auto_merge_disabled")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(p=>(p.BOT="Bot",p.USER="User",p.ORGANIZATION="Organization"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Ui||={});var Mi;(h=>{let l;(k=>k.AUTO_MERGE_ENABLED="auto_merge_enabled")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(p=>(p.BOT="Bot",p.USER="User",p.ORGANIZATION="Organization"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Mi||={});var Gi;(u=>{let l;(m=>m.CLOSED="closed")(l=u.action||={});let r;(d=>(d.PR_BODY="PR_BODY",d.PR_TITLE="PR_TITLE",d.BLANK="BLANK"))(r=u.merge_commit_message||={});let e;(c=>(c.PR_TITLE="PR_TITLE",c.MERGE_MESSAGE="MERGE_MESSAGE"))(e=u.merge_commit_title||={});let n;(d=>(d.PR_BODY="PR_BODY",d.COMMIT_MESSAGES="COMMIT_MESSAGES",d.BLANK="BLANK"))(n=u.squash_merge_commit_message||={});let s;(c=>(c.PR_TITLE="PR_TITLE",c.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(s=u.squash_merge_commit_title||={})})(Gi||={});var Bi;(u=>{let l;(m=>m.CONVERTED_TO_DRAFT="converted_to_draft")(l=u.action||={});let r;(d=>(d.PR_BODY="PR_BODY",d.PR_TITLE="PR_TITLE",d.BLANK="BLANK"))(r=u.merge_commit_message||={});let e;(c=>(c.PR_TITLE="PR_TITLE",c.MERGE_MESSAGE="MERGE_MESSAGE"))(e=u.merge_commit_title||={});let n;(d=>(d.PR_BODY="PR_BODY",d.COMMIT_MESSAGES="COMMIT_MESSAGES",d.BLANK="BLANK"))(n=u.squash_merge_commit_message||={});let s;(c=>(c.PR_TITLE="PR_TITLE",c.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(s=u.squash_merge_commit_title||={})})(Bi||={});var Wi;(h=>{let l;(k=>k.DEMILESTONED="demilestoned")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization",f.MANNEQUIN="Mannequin"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Wi||={});var Fi;(h=>{let l;(k=>k.DEQUEUED="dequeued")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(p=>(p.BOT="Bot",p.USER="User",p.ORGANIZATION="Organization"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Fi||={});var ji;(u=>{let l;(m=>m.EDITED="edited")(l=u.action||={});let r;(d=>(d.PR_BODY="PR_BODY",d.PR_TITLE="PR_TITLE",d.BLANK="BLANK"))(r=u.merge_commit_message||={});let e;(c=>(c.PR_TITLE="PR_TITLE",c.MERGE_MESSAGE="MERGE_MESSAGE"))(e=u.merge_commit_title||={});let n;(d=>(d.PR_BODY="PR_BODY",d.COMMIT_MESSAGES="COMMIT_MESSAGES",d.BLANK="BLANK"))(n=u.squash_merge_commit_message||={});let s;(c=>(c.PR_TITLE="PR_TITLE",c.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(s=u.squash_merge_commit_title||={})})(ji||={});var Vi;(h=>{let l;(k=>k.ENQUEUED="enqueued")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(p=>(p.BOT="Bot",p.USER="User",p.ORGANIZATION="Organization"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Vi||={});var Hi;(h=>{let l;(k=>k.LABELED="labeled")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization",f.MANNEQUIN="Mannequin"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Hi||={});var Qi;(h=>{let l;(k=>k.LOCKED="locked")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(p=>(p.BOT="Bot",p.USER="User",p.ORGANIZATION="Organization"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Qi||={});var Ki;(h=>{let l;(k=>k.MILESTONED="milestoned")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization",f.MANNEQUIN="Mannequin"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(Ki||={});var Yi;(u=>{let l;(m=>m.OPENED="opened")(l=u.action||={});let r;(d=>(d.PR_BODY="PR_BODY",d.PR_TITLE="PR_TITLE",d.BLANK="BLANK"))(r=u.merge_commit_message||={});let e;(c=>(c.PR_TITLE="PR_TITLE",c.MERGE_MESSAGE="MERGE_MESSAGE"))(e=u.merge_commit_title||={});let n;(d=>(d.PR_BODY="PR_BODY",d.COMMIT_MESSAGES="COMMIT_MESSAGES",d.BLANK="BLANK"))(n=u.squash_merge_commit_message||={});let s;(c=>(c.PR_TITLE="PR_TITLE",c.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(s=u.squash_merge_commit_title||={})})(Yi||={});var Zi;(u=>{let l;(m=>m.READY_FOR_REVIEW="ready_for_review")(l=u.action||={});let r;(d=>(d.PR_BODY="PR_BODY",d.PR_TITLE="PR_TITLE",d.BLANK="BLANK"))(r=u.merge_commit_message||={});let e;(c=>(c.PR_TITLE="PR_TITLE",c.MERGE_MESSAGE="MERGE_MESSAGE"))(e=u.merge_commit_title||={});let n;(d=>(d.PR_BODY="PR_BODY",d.COMMIT_MESSAGES="COMMIT_MESSAGES",d.BLANK="BLANK"))(n=u.squash_merge_commit_message||={});let s;(c=>(c.PR_TITLE="PR_TITLE",c.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(s=u.squash_merge_commit_title||={})})(Zi||={});var Xi;(u=>{let l;(m=>m.REOPENED="reopened")(l=u.action||={});let r;(d=>(d.PR_BODY="PR_BODY",d.PR_TITLE="PR_TITLE",d.BLANK="BLANK"))(r=u.merge_commit_message||={});let e;(c=>(c.PR_TITLE="PR_TITLE",c.MERGE_MESSAGE="MERGE_MESSAGE"))(e=u.merge_commit_title||={});let n;(d=>(d.PR_BODY="PR_BODY",d.COMMIT_MESSAGES="COMMIT_MESSAGES",d.BLANK="BLANK"))(n=u.squash_merge_commit_message||={});let s;(c=>(c.PR_TITLE="PR_TITLE",c.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(s=u.squash_merge_commit_title||={})})(Xi||={});var $i;(b=>{let l;(f=>f.CREATED="created")(l=b.action||={});let r;(C=>(C.COLLABORATOR="COLLABORATOR",C.CONTRIBUTOR="CONTRIBUTOR",C.FIRST_TIMER="FIRST_TIMER",C.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",C.MANNEQUIN="MANNEQUIN",C.MEMBER="MEMBER",C.NONE="NONE",C.OWNER="OWNER"))(r=b.author_association||={});let e;(O=>(O.LEFT="LEFT",O.RIGHT="RIGHT"))(e=b.side||={});let n;(O=>(O.LEFT="LEFT",O.RIGHT="RIGHT"))(n=b.start_side||={});let s;(O=>(O.LINE="line",O.FILE="file"))(s=b.subject_type||={});let u;(I=>(I.BOT="Bot",I.USER="User",I.ORGANIZATION="Organization"))(u=b.type||={});let _;(P=>(P.RESOLVED="resolved",P.OFF_TOPIC="off-topic",P.TOO_HEATED="too heated",P.SPAM="spam"))(_=b.active_lock_reason||={});let m;(I=>(I.MERGE="merge",I.SQUASH="squash",I.REBASE="rebase"))(m=b.merge_method||={});let c;(I=>(I.PR_BODY="PR_BODY",I.PR_TITLE="PR_TITLE",I.BLANK="BLANK"))(c=b.merge_commit_message||={});let d;(O=>(O.PR_TITLE="PR_TITLE",O.MERGE_MESSAGE="MERGE_MESSAGE"))(d=b.merge_commit_title||={});let v;(I=>(I.PR_BODY="PR_BODY",I.COMMIT_MESSAGES="COMMIT_MESSAGES",I.BLANK="BLANK"))(v=b.squash_merge_commit_message||={});let h;(O=>(O.PR_TITLE="PR_TITLE",O.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(h=b.squash_merge_commit_title||={});let R;(I=>(I.PUBLIC="public",I.PRIVATE="private",I.INTERNAL="internal"))(R=b.visibility||={});let k;(O=>(O.OPEN="open",O.CLOSED="closed"))(k=b.state||={})})($i||={});var Ji;(b=>{let l;(f=>f.DELETED="deleted")(l=b.action||={});let r;(C=>(C.COLLABORATOR="COLLABORATOR",C.CONTRIBUTOR="CONTRIBUTOR",C.FIRST_TIMER="FIRST_TIMER",C.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",C.MANNEQUIN="MANNEQUIN",C.MEMBER="MEMBER",C.NONE="NONE",C.OWNER="OWNER"))(r=b.author_association||={});let e;(O=>(O.LEFT="LEFT",O.RIGHT="RIGHT"))(e=b.side||={});let n;(O=>(O.LEFT="LEFT",O.RIGHT="RIGHT"))(n=b.start_side||={});let s;(O=>(O.LINE="line",O.FILE="file"))(s=b.subject_type||={});let u;(I=>(I.BOT="Bot",I.USER="User",I.ORGANIZATION="Organization"))(u=b.type||={});let _;(P=>(P.RESOLVED="resolved",P.OFF_TOPIC="off-topic",P.TOO_HEATED="too heated",P.SPAM="spam"))(_=b.active_lock_reason||={});let m;(I=>(I.MERGE="merge",I.SQUASH="squash",I.REBASE="rebase"))(m=b.merge_method||={});let c;(I=>(I.PR_BODY="PR_BODY",I.PR_TITLE="PR_TITLE",I.BLANK="BLANK"))(c=b.merge_commit_message||={});let d;(O=>(O.PR_TITLE="PR_TITLE",O.MERGE_MESSAGE="MERGE_MESSAGE"))(d=b.merge_commit_title||={});let v;(I=>(I.PR_BODY="PR_BODY",I.COMMIT_MESSAGES="COMMIT_MESSAGES",I.BLANK="BLANK"))(v=b.squash_merge_commit_message||={});let h;(O=>(O.PR_TITLE="PR_TITLE",O.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(h=b.squash_merge_commit_title||={});let R;(I=>(I.PUBLIC="public",I.PRIVATE="private",I.INTERNAL="internal"))(R=b.visibility||={});let k;(O=>(O.OPEN="open",O.CLOSED="closed"))(k=b.state||={})})(Ji||={});var ro;(b=>{let l;(f=>f.EDITED="edited")(l=b.action||={});let r;(C=>(C.COLLABORATOR="COLLABORATOR",C.CONTRIBUTOR="CONTRIBUTOR",C.FIRST_TIMER="FIRST_TIMER",C.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",C.MANNEQUIN="MANNEQUIN",C.MEMBER="MEMBER",C.NONE="NONE",C.OWNER="OWNER"))(r=b.author_association||={});let e;(O=>(O.LEFT="LEFT",O.RIGHT="RIGHT"))(e=b.side||={});let n;(O=>(O.LEFT="LEFT",O.RIGHT="RIGHT"))(n=b.start_side||={});let s;(O=>(O.LINE="line",O.FILE="file"))(s=b.subject_type||={});let u;(I=>(I.BOT="Bot",I.USER="User",I.ORGANIZATION="Organization"))(u=b.type||={});let _;(P=>(P.RESOLVED="resolved",P.OFF_TOPIC="off-topic",P.TOO_HEATED="too heated",P.SPAM="spam"))(_=b.active_lock_reason||={});let m;(I=>(I.MERGE="merge",I.SQUASH="squash",I.REBASE="rebase"))(m=b.merge_method||={});let c;(I=>(I.PR_BODY="PR_BODY",I.PR_TITLE="PR_TITLE",I.BLANK="BLANK"))(c=b.merge_commit_message||={});let d;(O=>(O.PR_TITLE="PR_TITLE",O.MERGE_MESSAGE="MERGE_MESSAGE"))(d=b.merge_commit_title||={});let v;(I=>(I.PR_BODY="PR_BODY",I.COMMIT_MESSAGES="COMMIT_MESSAGES",I.BLANK="BLANK"))(v=b.squash_merge_commit_message||={});let h;(O=>(O.PR_TITLE="PR_TITLE",O.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(h=b.squash_merge_commit_title||={});let R;(I=>(I.PUBLIC="public",I.PRIVATE="private",I.INTERNAL="internal"))(R=b.visibility||={});let k;(O=>(O.OPEN="open",O.CLOSED="closed"))(k=b.state||={})})(ro||={});var eo;(h=>{let l;(k=>k.DISMISSED="dismissed")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization",f.MANNEQUIN="Mannequin"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(eo||={});var to;(m=>{let l;(d=>d.EDITED="edited")(l=m.action||={});let r;(R=>(R.RESOLVED="resolved",R.OFF_TOPIC="off-topic",R.TOO_HEATED="too heated",R.SPAM="spam"))(r=m.active_lock_reason||={});let e;(R=>(R.BOT="Bot",R.USER="User",R.ORGANIZATION="Organization",R.MANNEQUIN="Mannequin"))(e=m.type||={});let n;(f=>(f.COLLABORATOR="COLLABORATOR",f.CONTRIBUTOR="CONTRIBUTOR",f.FIRST_TIMER="FIRST_TIMER",f.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",f.MANNEQUIN="MANNEQUIN",f.MEMBER="MEMBER",f.NONE="NONE",f.OWNER="OWNER"))(n=m.author_association||={});let s;(h=>(h.MERGE="merge",h.SQUASH="squash",h.REBASE="rebase"))(s=m.merge_method||={});let u;(h=>(h.PUBLIC="public",h.PRIVATE="private",h.INTERNAL="internal"))(u=m.visibility||={});let _;(v=>(v.OPEN="open",v.CLOSED="closed"))(_=m.state||={})})(to||={});var no;(R=>{let l;(b=>b.REVIEW_REQUEST_REMOVED="review_request_removed")(l=R.action||={});let r;(O=>(O.RESOLVED="resolved",O.OFF_TOPIC="off-topic",O.TOO_HEATED="too heated",O.SPAM="spam"))(r=R.active_lock_reason||={});let e;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization"))(e=R.type||={});let n;(D=>(D.COLLABORATOR="COLLABORATOR",D.CONTRIBUTOR="CONTRIBUTOR",D.FIRST_TIMER="FIRST_TIMER",D.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",D.MANNEQUIN="MANNEQUIN",D.MEMBER="MEMBER",D.NONE="NONE",D.OWNER="OWNER"))(n=R.author_association||={});let s;(f=>(f.MERGE="merge",f.SQUASH="squash",f.REBASE="rebase"))(s=R.merge_method||={});let u;(f=>(f.PR_BODY="PR_BODY",f.PR_TITLE="PR_TITLE",f.BLANK="BLANK"))(u=R.merge_commit_message||={});let _;(p=>(p.PR_TITLE="PR_TITLE",p.MERGE_MESSAGE="MERGE_MESSAGE"))(_=R.merge_commit_title||={});let m;(f=>(f.PR_BODY="PR_BODY",f.COMMIT_MESSAGES="COMMIT_MESSAGES",f.BLANK="BLANK"))(m=R.squash_merge_commit_message||={});let c;(p=>(p.PR_TITLE="PR_TITLE",p.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=R.squash_merge_commit_title||={});let d;(f=>(f.PUBLIC="public",f.PRIVATE="private",f.INTERNAL="internal"))(d=R.visibility||={});let v;(p=>(p.OPEN="open",p.CLOSED="closed"))(v=R.state||={});let h;(f=>(f.OPEN="open",f.CLOSED="closed",f.SECRET="secret"))(h=R.privacy||={})})(no||={});var so;(R=>{let l;(b=>b.REVIEW_REQUESTED="review_requested")(l=R.action||={});let r;(O=>(O.RESOLVED="resolved",O.OFF_TOPIC="off-topic",O.TOO_HEATED="too heated",O.SPAM="spam"))(r=R.active_lock_reason||={});let e;(O=>(O.BOT="Bot",O.USER="User",O.ORGANIZATION="Organization",O.MANNEQUIN="Mannequin"))(e=R.type||={});let n;(D=>(D.COLLABORATOR="COLLABORATOR",D.CONTRIBUTOR="CONTRIBUTOR",D.FIRST_TIMER="FIRST_TIMER",D.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",D.MANNEQUIN="MANNEQUIN",D.MEMBER="MEMBER",D.NONE="NONE",D.OWNER="OWNER"))(n=R.author_association||={});let s;(f=>(f.MERGE="merge",f.SQUASH="squash",f.REBASE="rebase"))(s=R.merge_method||={});let u;(f=>(f.PR_BODY="PR_BODY",f.PR_TITLE="PR_TITLE",f.BLANK="BLANK"))(u=R.merge_commit_message||={});let _;(p=>(p.PR_TITLE="PR_TITLE",p.MERGE_MESSAGE="MERGE_MESSAGE"))(_=R.merge_commit_title||={});let m;(f=>(f.PR_BODY="PR_BODY",f.COMMIT_MESSAGES="COMMIT_MESSAGES",f.BLANK="BLANK"))(m=R.squash_merge_commit_message||={});let c;(p=>(p.PR_TITLE="PR_TITLE",p.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=R.squash_merge_commit_title||={});let d;(f=>(f.PUBLIC="public",f.PRIVATE="private",f.INTERNAL="internal"))(d=R.visibility||={});let v;(p=>(p.OPEN="open",p.CLOSED="closed"))(v=R.state||={});let h;(f=>(f.OPEN="open",f.CLOSED="closed",f.SECRET="secret"))(h=R.privacy||={})})(so||={});var io;(h=>{let l;(k=>k.SUBMITTED="submitted")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization",f.MANNEQUIN="Mannequin"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(io||={});var oo;(m=>{let l;(d=>d.RESOLVED="resolved")(l=m.action||={});let r;(R=>(R.RESOLVED="resolved",R.OFF_TOPIC="off-topic",R.TOO_HEATED="too heated",R.SPAM="spam"))(r=m.active_lock_reason||={});let e;(h=>(h.BOT="Bot",h.USER="User",h.ORGANIZATION="Organization"))(e=m.type||={});let n;(f=>(f.COLLABORATOR="COLLABORATOR",f.CONTRIBUTOR="CONTRIBUTOR",f.FIRST_TIMER="FIRST_TIMER",f.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",f.MANNEQUIN="MANNEQUIN",f.MEMBER="MEMBER",f.NONE="NONE",f.OWNER="OWNER"))(n=m.author_association||={});let s;(h=>(h.MERGE="merge",h.SQUASH="squash",h.REBASE="rebase"))(s=m.merge_method||={});let u;(h=>(h.PUBLIC="public",h.PRIVATE="private",h.INTERNAL="internal"))(u=m.visibility||={});let _;(v=>(v.OPEN="open",v.CLOSED="closed"))(_=m.state||={})})(oo||={});var lo;(m=>{let l;(d=>d.UNRESOLVED="unresolved")(l=m.action||={});let r;(R=>(R.RESOLVED="resolved",R.OFF_TOPIC="off-topic",R.TOO_HEATED="too heated",R.SPAM="spam"))(r=m.active_lock_reason||={});let e;(h=>(h.BOT="Bot",h.USER="User",h.ORGANIZATION="Organization"))(e=m.type||={});let n;(f=>(f.COLLABORATOR="COLLABORATOR",f.CONTRIBUTOR="CONTRIBUTOR",f.FIRST_TIMER="FIRST_TIMER",f.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",f.MANNEQUIN="MANNEQUIN",f.MEMBER="MEMBER",f.NONE="NONE",f.OWNER="OWNER"))(n=m.author_association||={});let s;(h=>(h.MERGE="merge",h.SQUASH="squash",h.REBASE="rebase"))(s=m.merge_method||={});let u;(h=>(h.PUBLIC="public",h.PRIVATE="private",h.INTERNAL="internal"))(u=m.visibility||={});let _;(v=>(v.OPEN="open",v.CLOSED="closed"))(_=m.state||={})})(lo||={});var ao;(h=>{let l;(k=>k.SYNCHRONIZE="synchronize")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization",f.MANNEQUIN="Mannequin"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(ao||={});var uo;(h=>{let l;(k=>k.UNASSIGNED="unassigned")(l=h.action||={});let r;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization",f.MANNEQUIN="Mannequin"))(r=h.type||={});let e;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(e=h.active_lock_reason||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(uo||={});var _o;(h=>{let l;(k=>k.UNLABELED="unlabeled")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(f=>(f.BOT="Bot",f.USER="User",f.ORGANIZATION="Organization",f.MANNEQUIN="Mannequin"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(_o||={});var go;(h=>{let l;(k=>k.UNLOCKED="unlocked")(l=h.action||={});let r;(f=>(f.RESOLVED="resolved",f.OFF_TOPIC="off-topic",f.TOO_HEATED="too heated",f.SPAM="spam"))(r=h.active_lock_reason||={});let e;(p=>(p.BOT="Bot",p.USER="User",p.ORGANIZATION="Organization"))(e=h.type||={});let n;(E=>(E.COLLABORATOR="COLLABORATOR",E.CONTRIBUTOR="CONTRIBUTOR",E.FIRST_TIMER="FIRST_TIMER",E.FIRST_TIME_CONTRIBUTOR="FIRST_TIME_CONTRIBUTOR",E.MANNEQUIN="MANNEQUIN",E.MEMBER="MEMBER",E.NONE="NONE",E.OWNER="OWNER"))(n=h.author_association||={});let s;(p=>(p.MERGE="merge",p.SQUASH="squash",p.REBASE="rebase"))(s=h.merge_method||={});let u;(p=>(p.PR_BODY="PR_BODY",p.PR_TITLE="PR_TITLE",p.BLANK="BLANK"))(u=h.merge_commit_message||={});let _;(b=>(b.PR_TITLE="PR_TITLE",b.MERGE_MESSAGE="MERGE_MESSAGE"))(_=h.merge_commit_title||={});let m;(p=>(p.PR_BODY="PR_BODY",p.COMMIT_MESSAGES="COMMIT_MESSAGES",p.BLANK="BLANK"))(m=h.squash_merge_commit_message||={});let c;(b=>(b.PR_TITLE="PR_TITLE",b.COMMIT_OR_PR_TITLE="COMMIT_OR_PR_TITLE"))(c=h.squash_merge_commit_title||={});let d;(p=>(p.PUBLIC="public",p.PRIVATE="private",p.INTERNAL="internal"))(d=h.visibility||={});let v;(b=>(b.OPEN="open",b.CLOSED="closed"))(v=h.state||={})})(go||={});var mo;(e=>{let l;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(l=e.type||={});let r;(_=>(_.PUBLIC="public",_.PRIVATE="private",_.INTERNAL="internal"))(r=e.visibility||={})})(mo||={});var po;(r=>{let l;(n=>n.PUBLISHED="published")(l=r.action||={})})(po||={});var co;(e=>{let l;(s=>s.CREATED="created")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(co||={});var bo;(e=>{let l;(s=>s.DELETED="deleted")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(bo||={});var ho;(e=>{let l;(s=>s.EDITED="edited")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(ho||={});var yo;(e=>{let l;(s=>s.PRERELEASED="prereleased")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(yo||={});var fo;(e=>{let l;(s=>s.PUBLISHED="published")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(fo||={});var wo;(e=>{let l;(s=>s.RELEASED="released")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(wo||={});var Eo;(e=>{let l;(s=>s.UNPUBLISHED="unpublished")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Eo||={});var vo;(r=>{let l;(n=>n.PUBLISHED="published")(l=r.action||={})})(vo||={});var Ro;(r=>{let l;(n=>n.REPORTED="reported")(l=r.action||={})})(Ro||={});var To;(r=>{let l;(n=>n.ARCHIVED="archived")(l=r.action||={})})(To||={});var Ao;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(Ao||={});var ko;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(ko||={});var xo;(r=>{let l;(n=>n.EDITED="edited")(l=r.action||={})})(xo||={});var Io;(r=>{let l;(u=>(u.SUCCESS="success",u.CANCELLED="cancelled",u.FAILURE="failure"))(l=r.status||={})})(Io||={});var Oo;(r=>{let l;(n=>n.PRIVATIZED="privatized")(l=r.action||={})})(Oo||={});var No;(r=>{let l;(n=>n.PUBLICIZED="publicized")(l=r.action||={})})(No||={});var zo;(r=>{let l;(n=>n.RENAMED="renamed")(l=r.action||={})})(zo||={});var Po;(e=>{let l;(s=>s.TRANSFERRED="transferred")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Po||={});var Co;(r=>{let l;(n=>n.UNARCHIVED="unarchived")(l=r.action||={})})(Co||={});var Do;(n=>{let l;(u=>u.CREATE="create")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(m=>(m.OPEN="open",m.DISMISSED="dismissed",m.FIXED="fixed"))(e=n.state||={})})(Do||={});var qo;(n=>{let l;(u=>u.DISMISS="dismiss")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(m=>(m.OPEN="open",m.DISMISSED="dismissed",m.FIXED="fixed"))(e=n.state||={})})(qo||={});var So;(n=>{let l;(u=>u.REOPEN="reopen")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(m=>(m.OPEN="open",m.DISMISSED="dismissed",m.FIXED="fixed"))(e=n.state||={})})(So||={});var Lo;(n=>{let l;(u=>u.RESOLVE="resolve")(l=n.action||={});let r;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(r=n.type||={});let e;(m=>(m.OPEN="open",m.DISMISSED="dismissed",m.FIXED="fixed"))(e=n.state||={})})(Lo||={});var Uo;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(Uo||={});var Mo;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})(Mo||={});var Go;(r=>{let l;(n=>n.REOPENED="reopened")(l=r.action||={})})(Go||={});var Bo;(r=>{let l;(n=>n.RESOLVED="resolved")(l=r.action||={})})(Bo||={});var Wo;(r=>{let l;(n=>n.REVOKED="revoked")(l=r.action||={})})(Wo||={});var Fo;(r=>{let l;(n=>n.PUBLISHED="published")(l=r.action||={})})(Fo||={});var jo;(r=>{let l;(n=>n.UPDATED="updated")(l=r.action||={})})(jo||={});var Vo;(r=>{let l;(n=>n.WITHDRAWN="withdrawn")(l=r.action||={})})(Vo||={});var Ho;(e=>{let l;(s=>s.CANCELLED="cancelled")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Ho||={});var Qo;(e=>{let l;(s=>s.CREATED="created")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Qo||={});var Ko;(e=>{let l;(s=>s.EDITED="edited")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Ko||={});var Yo;(e=>{let l;(s=>s.PENDING_CANCELLATION="pending_cancellation")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Yo||={});var Zo;(e=>{let l;(s=>s.PENDING_TIER_CHANGE="pending_tier_change")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Zo||={});var Xo;(e=>{let l;(s=>s.TIER_CHANGED="tier_changed")(l=e.action||={});let r;(_=>(_.BOT="Bot",_.USER="User",_.ORGANIZATION="Organization"))(r=e.type||={})})(Xo||={});var $o;(r=>{let l;(n=>n.CREATED="created")(l=r.action||={})})($o||={});var Jo;(r=>{let l;(n=>n.DELETED="deleted")(l=r.action||={})})(Jo||={});var rl;(n=>{let l;(m=>(m.BOT="Bot",m.USER="User",m.ORGANIZATION="Organization"))(l=n.type||={});let r;(P=>(P.EXPIRED_KEY="expired_key",P.NOT_SIGNING_KEY="not_signing_key",P.GPGVERIFY_ERROR="gpgverify_error",P.GPGVERIFY_UNAVAILABLE="gpgverify_unavailable",P.UNSIGNED="unsigned",P.UNKNOWN_SIGNATURE_TYPE="unknown_signature_type",P.NO_USER="no_user",P.UNVERIFIED_EMAIL="unverified_email",P.BAD_EMAIL="bad_email",P.UNKNOWN_KEY="unknown_key",P.MALFORMED_SIGNATURE="malformed_signature",P.INVALID="invalid",P.VALID="valid",P.BAD_CERT="bad_cert",P.OCSP_PENDING="ocsp_pending"))(r=n.reason||={});let e;(c=>(c.PENDING="pending",c.SUCCESS="success",c.FAILURE="failure",c.ERROR="error"))(e=n.state||={})})(rl||={});var el;(e=>{let l;(_=>(_.OPEN="open",_.CLOSED="closed",_.SECRET="secret"))(l=e.privacy||={});let r;(u=>(u.NOTIFICATIONS_ENABLED="notifications_enabled",u.NOTIFICATIONS_DISABLED="notifications_disabled"))(r=e.notification_setting||={})})(el||={});var tl;(u=>{let l;(m=>m.ADDED_TO_REPOSITORY="added_to_repository")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(d=>(d.PUBLIC="public",d.PRIVATE="private",d.INTERNAL="internal"))(e=u.visibility||={});let n;(d=>(d.OPEN="open",d.CLOSED="closed",d.SECRET="secret"))(n=u.privacy||={});let s;(c=>(c.NOTIFICATIONS_ENABLED="notifications_enabled",c.NOTIFICATIONS_DISABLED="notifications_disabled"))(s=u.notification_setting||={})})(tl||={});var nl;(u=>{let l;(m=>m.CREATED="created")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(d=>(d.PUBLIC="public",d.PRIVATE="private",d.INTERNAL="internal"))(e=u.visibility||={});let n;(d=>(d.OPEN="open",d.CLOSED="closed",d.SECRET="secret"))(n=u.privacy||={});let s;(c=>(c.NOTIFICATIONS_ENABLED="notifications_enabled",c.NOTIFICATIONS_DISABLED="notifications_disabled"))(s=u.notification_setting||={})})(nl||={});var sl;(u=>{let l;(m=>m.DELETED="deleted")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(d=>(d.PUBLIC="public",d.PRIVATE="private",d.INTERNAL="internal"))(e=u.visibility||={});let n;(d=>(d.OPEN="open",d.CLOSED="closed",d.SECRET="secret"))(n=u.privacy||={});let s;(c=>(c.NOTIFICATIONS_ENABLED="notifications_enabled",c.NOTIFICATIONS_DISABLED="notifications_disabled"))(s=u.notification_setting||={})})(sl||={});var il;(u=>{let l;(m=>m.EDITED="edited")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(d=>(d.PUBLIC="public",d.PRIVATE="private",d.INTERNAL="internal"))(e=u.visibility||={});let n;(d=>(d.OPEN="open",d.CLOSED="closed",d.SECRET="secret"))(n=u.privacy||={});let s;(c=>(c.NOTIFICATIONS_ENABLED="notifications_enabled",c.NOTIFICATIONS_DISABLED="notifications_disabled"))(s=u.notification_setting||={})})(il||={});var ol;(u=>{let l;(m=>m.REMOVED_FROM_REPOSITORY="removed_from_repository")(l=u.action||={});let r;(d=>(d.BOT="Bot",d.USER="User",d.ORGANIZATION="Organization"))(r=u.type||={});let e;(d=>(d.PUBLIC="public",d.PRIVATE="private",d.INTERNAL="internal"))(e=u.visibility||={});let n;(d=>(d.OPEN="open",d.CLOSED="closed",d.SECRET="secret"))(n=u.privacy||={});let s;(c=>(c.NOTIFICATIONS_ENABLED="notifications_enabled",c.NOTIFICATIONS_DISABLED="notifications_disabled"))(s=u.notification_setting||={})})(ol||={});var ll;(r=>{let l;(n=>n.STARTED="started")(l=r.action||={})})(ll||={});var al;(n=>{let l;(u=>u.COMPLETED="completed")(l=n.action||={});let r;(h=>(h.SUCCESS="success",h.FAILURE="failure",h.SKIPPED="skipped",h.CANCELLED="cancelled",h.ACTION_REQUIRED="action_required",h.NEUTRAL="neutral",h.TIMED_OUT="timed_out"))(r=n.conclusion||={});let e;(c=>(c.QUEUED="queued",c.IN_PROGRESS="in_progress",c.COMPLETED="completed",c.WAITING="waiting"))(e=n.status||={})})(al||={});var ul;(n=>{let l;(u=>u.IN_PROGRESS="in_progress")(l=n.action||={});let r;(c=>(c.SUCCESS="success",c.FAILURE="failure",c.CANCELLED="cancelled",c.NEUTRAL="neutral"))(r=n.conclusion||={});let e;(m=>(m.QUEUED="queued",m.IN_PROGRESS="in_progress",m.COMPLETED="completed"))(e=n.status||={})})(ul||={});var _l;(e=>{let l;(s=>s.QUEUED="queued")(l=e.action||={});let r;(m=>(m.QUEUED="queued",m.IN_PROGRESS="in_progress",m.COMPLETED="completed",m.WAITING="waiting"))(r=e.status||={})})(_l||={});var gl;(e=>{let l;(s=>s.WAITING="waiting")(l=e.action||={});let r;(m=>(m.QUEUED="queued",m.IN_PROGRESS="in_progress",m.COMPLETED="completed",m.WAITING="waiting"))(r=e.status||={})})(gl||={});var ml;(s=>{let l;(_=>_.COMPLETED="completed")(l=s.action||={});let r;(c=>(c.BOT="Bot",c.USER="User",c.ORGANIZATION="Organization"))(r=s.type||={});let e;(k=>(k.SUCCESS="success",k.FAILURE="failure",k.NEUTRAL="neutral",k.CANCELLED="cancelled",k.TIMED_OUT="timed_out",k.ACTION_REQUIRED="action_required",k.STALE="stale",k.SKIPPED="skipped"))(e=s.conclusion||={});let n;(h=>(h.REQUESTED="requested",h.IN_PROGRESS="in_progress",h.COMPLETED="completed",h.QUEUED="queued",h.PENDING="pending",h.WAITING="waiting"))(n=s.status||={})})(ml||={});var pl;(s=>{let l;(_=>_.IN_PROGRESS="in_progress")(l=s.action||={});let r;(c=>(c.BOT="Bot",c.USER="User",c.ORGANIZATION="Organization"))(r=s.type||={});let e;(k=>(k.SUCCESS="success",k.FAILURE="failure",k.NEUTRAL="neutral",k.CANCELLED="cancelled",k.TIMED_OUT="timed_out",k.ACTION_REQUIRED="action_required",k.STALE="stale",k.SKIPPED="skipped"))(e=s.conclusion||={});let n;(v=>(v.REQUESTED="requested",v.IN_PROGRESS="in_progress",v.COMPLETED="completed",v.QUEUED="queued",v.PENDING="pending"))(n=s.status||={})})(pl||={});var dl;(s=>{let l;(_=>_.REQUESTED="requested")(l=s.action||={});let r;(c=>(c.BOT="Bot",c.USER="User",c.ORGANIZATION="Organization"))(r=s.type||={});let e;(b=>(b.SUCCESS="success",b.FAILURE="failure",b.NEUTRAL="neutral",b.CANCELLED="cancelled",b.TIMED_OUT="timed_out",b.ACTION_REQUIRED="action_required",b.STALE="stale",b.SKIPPED="skipped",b.STARTUP_FAILURE="startup_failure"))(e=s.conclusion||={});let n;(h=>(h.REQUESTED="requested",h.IN_PROGRESS="in_progress",h.COMPLETED="completed",h.QUEUED="queued",h.PENDING="pending",h.WAITING="waiting"))(n=s.status||={})})(dl||={});var cl;(r=>{let l;(m=>(m.ACTIVE="active",m.DELETED="deleted",m.DISABLED_FORK="disabled_fork",m.DISABLED_INACTIVITY="disabled_inactivity",m.DISABLED_MANUALLY="disabled_manually"))(l=r.state||={})})(cl||={});var bl=(b=>(b.COMPLETED="completed",b.ACTION_REQUIRED="action_required",b.CANCELLED="cancelled",b.FAILURE="failure",b.NEUTRAL="neutral",b.SKIPPED="skipped",b.STALE="stale",b.SUCCESS="success",b.TIMED_OUT="timed_out",b.IN_PROGRESS="in_progress",b.QUEUED="queued",b.REQUESTED="requested",b.WAITING="waiting",b.PENDING="pending",b))(bl||{});var ir=l=>l!=null,er=l=>typeof l=="string",sr=l=>er(l)&&l!=="",or=l=>typeof l=="object"&&typeof l.type=="string"&&typeof l.stream=="function"&&typeof l.arrayBuffer=="function"&&typeof l.constructor=="function"&&typeof l.constructor.name=="string"&&/^(Blob|File)$/.test(l.constructor.name)&&/^(Blob|File)$/.test(l[Symbol.toStringTag]),hl=l=>l instanceof FormData,yl=l=>{try{return btoa(l)}catch{return Buffer.from(l).toString("base64")}},fl=l=>{let r=[],e=(s,u)=>{r.push(`${encodeURIComponent(s)}=${encodeURIComponent(String(u))}`)},n=(s,u)=>{ir(u)&&(Array.isArray(u)?u.forEach(_=>{n(s,_)}):typeof u=="object"?Object.entries(u).forEach(([_,m])=>{n(`${s}[${_}]`,m)}):e(s,u))};return Object.entries(l).forEach(([s,u])=>{n(s,u)}),r.length>0?`?${r.join("&")}`:""},wl=(l,r)=>{let e=l.ENCODE_PATH||encodeURI,n=r.url.replace("{api-version}",l.VERSION).replace(/{(.*?)}/g,(u,_)=>r.path?.hasOwnProperty(_)?e(String(r.path[_])):u),s=`${l.BASE}${n}`;return r.query?`${s}${fl(r.query)}`:s},El=l=>{if(l.formData){let r=new FormData,e=(n,s)=>{er(s)||or(s)?r.append(n,s):r.append(n,JSON.stringify(s))};return Object.entries(l.formData).filter(([n,s])=>ir(s)).forEach(([n,s])=>{Array.isArray(s)?s.forEach(u=>e(n,u)):e(n,s)}),r}},nr=async(l,r)=>typeof r=="function"?r(l):r,vl=async(l,r)=>{let e=await nr(r,l.TOKEN),n=await nr(r,l.USERNAME),s=await nr(r,l.PASSWORD),u=await nr(r,l.HEADERS),_=Object.entries({Accept:"application/json",...u,...r.headers}).filter(([m,c])=>ir(c)).reduce((m,[c,d])=>({...m,[c]:String(d)}),{});if(sr(e)&&(_.Authorization=`Bearer ${e}`),sr(n)&&sr(s)){let m=yl(`${n}:${s}`);_.Authorization=`Basic ${m}`}return r.body&&(r.mediaType?_["Content-Type"]=r.mediaType:or(r.body)?_["Content-Type"]=r.body.type||"application/octet-stream":er(r.body)?_["Content-Type"]="text/plain":hl(r.body)||(_["Content-Type"]="application/json")),new Headers(_)},Rl=l=>{if(l.body!==void 0)return l.mediaType?.includes("/json")?JSON.stringify(l.body):er(l.body)||or(l.body)||hl(l.body)?l.body:JSON.stringify(l.body)},Tl=async(l,r,e,n,s,u,_)=>{let m=new AbortController,c={headers:u,body:n??s,method:r.method,signal:m.signal};return l.WITH_CREDENTIALS&&(c.credentials=l.CREDENTIALS),_(()=>m.abort()),await fetch(e,c)},Al=(l,r)=>{if(r){let e=l.headers.get(r);if(er(e))return e}},kl=async l=>{if(l.status!==204)try{let r=l.headers.get("Content-Type");if(r)return["application/json","application/problem+json"].some(s=>r.toLowerCase().startsWith(s))?await l.json():await l.text()}catch(r){console.error(r)}},xl=(l,r)=>{let n={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable",...l.errors}[r.status];if(n)throw new J(l,r,n);if(!r.ok){let s=r.status??"unknown",u=r.statusText??"unknown",_=(()=>{try{return JSON.stringify(r.body,null,2)}catch{return}})();throw new J(l,r,`Generic Error: status: ${s}; status text: ${u}; body: ${_}`)}},o=(l,r)=>new rr(async(e,n,s)=>{try{let u=wl(l,r),_=El(r),m=Rl(r),c=await vl(l,r);if(!s.isCancelled){let d=await Tl(l,r,u,m,_,c,s),v=await kl(d),h=Al(d,r.responseHeader),R={url:u,ok:d.ok,status:d.status,statusText:d.statusText,body:h??v};xl(r,R),e(R.body)}}catch(u){n(u)}});var lr=class{static actionsGetActionsCacheUsageForOrg(r){return o(i,{method:"GET",url:"/orgs/{org}/actions/cache/usage",path:{org:r}})}static actionsGetActionsCacheUsageByRepoForOrg(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/actions/cache/usage-by-repository",path:{org:r},query:{per_page:e,page:n}})}static actionsGetGithubActionsPermissionsOrganization(r){return o(i,{method:"GET",url:"/orgs/{org}/actions/permissions",path:{org:r}})}static actionsSetGithubActionsPermissionsOrganization(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/actions/permissions",path:{org:r},body:e,mediaType:"application/json"})}static actionsListSelectedRepositoriesEnabledGithubActionsOrganization(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/actions/permissions/repositories",path:{org:r},query:{per_page:e,page:n}})}static actionsSetSelectedRepositoriesEnabledGithubActionsOrganization(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/actions/permissions/repositories",path:{org:r},body:e,mediaType:"application/json"})}static actionsEnableSelectedRepositoryGithubActionsOrganization(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/actions/permissions/repositories/{repository_id}",path:{org:r,repository_id:e}})}static actionsDisableSelectedRepositoryGithubActionsOrganization(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/actions/permissions/repositories/{repository_id}",path:{org:r,repository_id:e}})}static actionsGetAllowedActionsOrganization(r){return o(i,{method:"GET",url:"/orgs/{org}/actions/permissions/selected-actions",path:{org:r}})}static actionsSetAllowedActionsOrganization(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/actions/permissions/selected-actions",path:{org:r},body:e,mediaType:"application/json"})}static actionsGetGithubActionsDefaultWorkflowPermissionsOrganization(r){return o(i,{method:"GET",url:"/orgs/{org}/actions/permissions/workflow",path:{org:r}})}static actionsSetGithubActionsDefaultWorkflowPermissionsOrganization(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/actions/permissions/workflow",path:{org:r},body:e,mediaType:"application/json"})}static actionsListSelfHostedRunnersForOrg(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/actions/runners",path:{org:r},query:{per_page:e,page:n}})}static actionsListRunnerApplicationsForOrg(r){return o(i,{method:"GET",url:"/orgs/{org}/actions/runners/downloads",path:{org:r}})}static actionsGenerateRunnerJitconfigForOrg(r,e){return o(i,{method:"POST",url:"/orgs/{org}/actions/runners/generate-jitconfig",path:{org:r},body:e,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsCreateRegistrationTokenForOrg(r){return o(i,{method:"POST",url:"/orgs/{org}/actions/runners/registration-token",path:{org:r}})}static actionsCreateRemoveTokenForOrg(r){return o(i,{method:"POST",url:"/orgs/{org}/actions/runners/remove-token",path:{org:r}})}static actionsGetSelfHostedRunnerForOrg(r,e){return o(i,{method:"GET",url:"/orgs/{org}/actions/runners/{runner_id}",path:{org:r,runner_id:e}})}static actionsDeleteSelfHostedRunnerFromOrg(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/actions/runners/{runner_id}",path:{org:r,runner_id:e}})}static actionsListLabelsForSelfHostedRunnerForOrg(r,e){return o(i,{method:"GET",url:"/orgs/{org}/actions/runners/{runner_id}/labels",path:{org:r,runner_id:e},errors:{404:"Resource not found"}})}static actionsAddCustomLabelsToSelfHostedRunnerForOrg(r,e,n){return o(i,{method:"POST",url:"/orgs/{org}/actions/runners/{runner_id}/labels",path:{org:r,runner_id:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsSetCustomLabelsForSelfHostedRunnerForOrg(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/actions/runners/{runner_id}/labels",path:{org:r,runner_id:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsRemoveAllCustomLabelsFromSelfHostedRunnerForOrg(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/actions/runners/{runner_id}/labels",path:{org:r,runner_id:e},errors:{404:"Resource not found"}})}static actionsRemoveCustomLabelFromSelfHostedRunnerForOrg(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/actions/runners/{runner_id}/labels/{name}",path:{org:r,runner_id:e,name:n},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsListOrgSecrets(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/actions/secrets",path:{org:r},query:{per_page:e,page:n}})}static actionsGetOrgPublicKey(r){return o(i,{method:"GET",url:"/orgs/{org}/actions/secrets/public-key",path:{org:r}})}static actionsGetOrgSecret(r,e){return o(i,{method:"GET",url:"/orgs/{org}/actions/secrets/{secret_name}",path:{org:r,secret_name:e}})}static actionsCreateOrUpdateOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/actions/secrets/{secret_name}",path:{org:r,secret_name:e},body:n,mediaType:"application/json"})}static actionsDeleteOrgSecret(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/actions/secrets/{secret_name}",path:{org:r,secret_name:e}})}static actionsListSelectedReposForOrgSecret(r,e,n=1,s=30){return o(i,{method:"GET",url:"/orgs/{org}/actions/secrets/{secret_name}/repositories",path:{org:r,secret_name:e},query:{page:n,per_page:s}})}static actionsSetSelectedReposForOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/actions/secrets/{secret_name}/repositories",path:{org:r,secret_name:e},body:n,mediaType:"application/json"})}static actionsAddSelectedRepoToOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}",path:{org:r,secret_name:e,repository_id:n},errors:{409:"Conflict when visibility type is not set to selected"}})}static actionsRemoveSelectedRepoFromOrgSecret(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}",path:{org:r,secret_name:e,repository_id:n},errors:{409:"Conflict when visibility type not set to selected"}})}static actionsListOrgVariables(r,e=10,n=1){return o(i,{method:"GET",url:"/orgs/{org}/actions/variables",path:{org:r},query:{per_page:e,page:n}})}static actionsCreateOrgVariable(r,e){return o(i,{method:"POST",url:"/orgs/{org}/actions/variables",path:{org:r},body:e,mediaType:"application/json"})}static actionsGetOrgVariable(r,e){return o(i,{method:"GET",url:"/orgs/{org}/actions/variables/{name}",path:{org:r,name:e}})}static actionsUpdateOrgVariable(r,e,n){return o(i,{method:"PATCH",url:"/orgs/{org}/actions/variables/{name}",path:{org:r,name:e},body:n,mediaType:"application/json"})}static actionsDeleteOrgVariable(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/actions/variables/{name}",path:{org:r,name:e}})}static actionsListSelectedReposForOrgVariable(r,e,n=1,s=30){return o(i,{method:"GET",url:"/orgs/{org}/actions/variables/{name}/repositories",path:{org:r,name:e},query:{page:n,per_page:s},errors:{409:"Response when the visibility of the variable is not set to `selected`"}})}static actionsSetSelectedReposForOrgVariable(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/actions/variables/{name}/repositories",path:{org:r,name:e},body:n,mediaType:"application/json",errors:{409:"Response when the visibility of the variable is not set to `selected`"}})}static actionsAddSelectedRepoToOrgVariable(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/actions/variables/{name}/repositories/{repository_id}",path:{org:r,name:e,repository_id:n},errors:{409:"Response when the visibility of the variable is not set to `selected`"}})}static actionsRemoveSelectedRepoFromOrgVariable(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/actions/variables/{name}/repositories/{repository_id}",path:{org:r,name:e,repository_id:n},errors:{409:"Response when the visibility of the variable is not set to `selected`"}})}static actionsListArtifactsForRepo(r,e,n=30,s=1,u){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/artifacts",path:{owner:r,repo:e},query:{per_page:n,page:s,name:u}})}static actionsGetArtifact(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}",path:{owner:r,repo:e,artifact_id:n}})}static actionsDeleteArtifact(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}",path:{owner:r,repo:e,artifact_id:n}})}static actionsDownloadArtifact(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}",path:{owner:r,repo:e,artifact_id:n,archive_format:s},errors:{302:"Response",410:"Gone"}})}static actionsGetActionsCacheUsage(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/cache/usage",path:{owner:r,repo:e}})}static actionsGetActionsCacheList(r,e,n=30,s=1,u,_,m="last_accessed_at",c="desc"){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/caches",path:{owner:r,repo:e},query:{per_page:n,page:s,ref:u,key:_,sort:m,direction:c}})}static actionsDeleteActionsCacheByKey(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/caches",path:{owner:r,repo:e},query:{key:n,ref:s}})}static actionsDeleteActionsCacheById(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/caches/{cache_id}",path:{owner:r,repo:e,cache_id:n}})}static actionsGetJobForWorkflowRun(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/jobs/{job_id}",path:{owner:r,repo:e,job_id:n}})}static actionsDownloadJobLogsForWorkflowRun(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs",path:{owner:r,repo:e,job_id:n},errors:{302:"Response"}})}static actionsReRunJobForWorkflowRun(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun",path:{owner:r,repo:e,job_id:n},body:s,mediaType:"application/json",errors:{403:"Forbidden"}})}static actionsGetCustomOidcSubClaimForRepo(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/oidc/customization/sub",path:{owner:r,repo:e},errors:{400:"Bad Request",404:"Resource not found"}})}static actionsSetCustomOidcSubClaimForRepo(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/oidc/customization/sub",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{400:"Bad Request",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsListRepoOrganizationSecrets(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/organization-secrets",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static actionsListRepoOrganizationVariables(r,e,n=10,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/organization-variables",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static actionsGetGithubActionsPermissionsRepository(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/permissions",path:{owner:r,repo:e}})}static actionsSetGithubActionsPermissionsRepository(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/permissions",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static actionsGetWorkflowAccessToRepository(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/permissions/access",path:{owner:r,repo:e}})}static actionsSetWorkflowAccessToRepository(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/permissions/access",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static actionsGetAllowedActionsRepository(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/permissions/selected-actions",path:{owner:r,repo:e}})}static actionsSetAllowedActionsRepository(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/permissions/selected-actions",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static actionsGetGithubActionsDefaultWorkflowPermissionsRepository(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/permissions/workflow",path:{owner:r,repo:e}})}static actionsSetGithubActionsDefaultWorkflowPermissionsRepository(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/permissions/workflow",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{409:"Conflict response when changing a setting is prevented by the owning organization"}})}static actionsListSelfHostedRunnersForRepo(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runners",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static actionsListRunnerApplicationsForRepo(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runners/downloads",path:{owner:r,repo:e}})}static actionsGenerateRunnerJitconfigForRepo(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runners/generate-jitconfig",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsCreateRegistrationTokenForRepo(r,e){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runners/registration-token",path:{owner:r,repo:e}})}static actionsCreateRemoveTokenForRepo(r,e){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runners/remove-token",path:{owner:r,repo:e}})}static actionsGetSelfHostedRunnerForRepo(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runners/{runner_id}",path:{owner:r,repo:e,runner_id:n}})}static actionsDeleteSelfHostedRunnerFromRepo(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/runners/{runner_id}",path:{owner:r,repo:e,runner_id:n}})}static actionsListLabelsForSelfHostedRunnerForRepo(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels",path:{owner:r,repo:e,runner_id:n},errors:{404:"Resource not found"}})}static actionsAddCustomLabelsToSelfHostedRunnerForRepo(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels",path:{owner:r,repo:e,runner_id:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsSetCustomLabelsForSelfHostedRunnerForRepo(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels",path:{owner:r,repo:e,runner_id:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsRemoveAllCustomLabelsFromSelfHostedRunnerForRepo(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels",path:{owner:r,repo:e,runner_id:n},errors:{404:"Resource not found"}})}static actionsRemoveCustomLabelFromSelfHostedRunnerForRepo(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}",path:{owner:r,repo:e,runner_id:n,name:s},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static actionsListWorkflowRunsForRepo(r,e,n,s,u,_,m=30,c=1,d,v=!1,h,R){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs",path:{owner:r,repo:e},query:{actor:n,branch:s,event:u,status:_,per_page:m,page:c,created:d,exclude_pull_requests:v,check_suite_id:h,head_sha:R}})}static actionsGetWorkflowRun(r,e,n,s=!1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}",path:{owner:r,repo:e,run_id:n},query:{exclude_pull_requests:s}})}static actionsDeleteWorkflowRun(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/runs/{run_id}",path:{owner:r,repo:e,run_id:n}})}static actionsGetReviewsForRun(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals",path:{owner:r,repo:e,run_id:n}})}static actionsApproveWorkflowRun(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/approve",path:{owner:r,repo:e,run_id:n},errors:{403:"Forbidden",404:"Resource not found"}})}static actionsListWorkflowRunArtifacts(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",path:{owner:r,repo:e,run_id:n},query:{per_page:s,page:u}})}static actionsGetWorkflowRunAttempt(r,e,n,s,u=!1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}",path:{owner:r,repo:e,run_id:n,attempt_number:s},query:{exclude_pull_requests:u}})}static actionsListJobsForWorkflowRunAttempt(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs",path:{owner:r,repo:e,run_id:n,attempt_number:s},query:{per_page:u,page:_},errors:{404:"Resource not found"}})}static actionsDownloadWorkflowRunAttemptLogs(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs",path:{owner:r,repo:e,run_id:n,attempt_number:s},errors:{302:"Response"}})}static actionsCancelWorkflowRun(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel",path:{owner:r,repo:e,run_id:n},errors:{409:"Conflict"}})}static actionsReviewCustomGatesForRun(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule",path:{owner:r,repo:e,run_id:n},body:s,mediaType:"application/json"})}static actionsListJobsForWorkflowRun(r,e,n,s="latest",u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs",path:{owner:r,repo:e,run_id:n},query:{filter:s,per_page:u,page:_}})}static actionsDownloadWorkflowRunLogs(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/logs",path:{owner:r,repo:e,run_id:n},errors:{302:"Response"}})}static actionsDeleteWorkflowRunLogs(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/logs",path:{owner:r,repo:e,run_id:n},errors:{403:"Forbidden",500:"Internal Error"}})}static actionsGetPendingDeploymentsForRun(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments",path:{owner:r,repo:e,run_id:n}})}static actionsReviewPendingDeploymentsForRun(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments",path:{owner:r,repo:e,run_id:n},body:s,mediaType:"application/json"})}static actionsReRunWorkflow(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun",path:{owner:r,repo:e,run_id:n},body:s,mediaType:"application/json"})}static actionsReRunWorkflowFailedJobs(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs",path:{owner:r,repo:e,run_id:n},body:s,mediaType:"application/json"})}static actionsGetWorkflowRunUsage(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/runs/{run_id}/timing",path:{owner:r,repo:e,run_id:n}})}static actionsListRepoSecrets(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/secrets",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static actionsGetRepoPublicKey(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/secrets/public-key",path:{owner:r,repo:e}})}static actionsGetRepoSecret(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n}})}static actionsCreateOrUpdateRepoSecret(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n},body:s,mediaType:"application/json"})}static actionsDeleteRepoSecret(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n}})}static actionsListRepoVariables(r,e,n=10,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/variables",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static actionsCreateRepoVariable(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/variables",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static actionsGetRepoVariable(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/variables/{name}",path:{owner:r,repo:e,name:n}})}static actionsUpdateRepoVariable(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/actions/variables/{name}",path:{owner:r,repo:e,name:n},body:s,mediaType:"application/json"})}static actionsDeleteRepoVariable(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/actions/variables/{name}",path:{owner:r,repo:e,name:n}})}static actionsListRepoWorkflows(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/workflows",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static actionsGetWorkflow(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/workflows/{workflow_id}",path:{owner:r,repo:e,workflow_id:n}})}static actionsDisableWorkflow(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable",path:{owner:r,repo:e,workflow_id:n}})}static actionsCreateWorkflowDispatch(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches",path:{owner:r,repo:e,workflow_id:n},body:s,mediaType:"application/json"})}static actionsEnableWorkflow(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable",path:{owner:r,repo:e,workflow_id:n}})}static actionsListWorkflowRuns(r,e,n,s,u,_,m,c=30,d=1,v,h=!1,R,k){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs",path:{owner:r,repo:e,workflow_id:n},query:{actor:s,branch:u,event:_,status:m,per_page:c,page:d,created:v,exclude_pull_requests:h,check_suite_id:R,head_sha:k}})}static actionsGetWorkflowUsage(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing",path:{owner:r,repo:e,workflow_id:n}})}static actionsListEnvironmentSecrets(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repositories/{repository_id}/environments/{environment_name}/secrets",path:{repository_id:r,environment_name:e},query:{per_page:n,page:s}})}static actionsGetEnvironmentPublicKey(r,e){return o(i,{method:"GET",url:"/repositories/{repository_id}/environments/{environment_name}/secrets/public-key",path:{repository_id:r,environment_name:e}})}static actionsGetEnvironmentSecret(r,e,n){return o(i,{method:"GET",url:"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}",path:{repository_id:r,environment_name:e,secret_name:n}})}static actionsCreateOrUpdateEnvironmentSecret(r,e,n,s){return o(i,{method:"PUT",url:"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}",path:{repository_id:r,environment_name:e,secret_name:n},body:s,mediaType:"application/json"})}static actionsDeleteEnvironmentSecret(r,e,n){return o(i,{method:"DELETE",url:"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}",path:{repository_id:r,environment_name:e,secret_name:n}})}static actionsListEnvironmentVariables(r,e,n=10,s=1){return o(i,{method:"GET",url:"/repositories/{repository_id}/environments/{environment_name}/variables",path:{repository_id:r,environment_name:e},query:{per_page:n,page:s}})}static actionsCreateEnvironmentVariable(r,e,n){return o(i,{method:"POST",url:"/repositories/{repository_id}/environments/{environment_name}/variables",path:{repository_id:r,environment_name:e},body:n,mediaType:"application/json"})}static actionsGetEnvironmentVariable(r,e,n){return o(i,{method:"GET",url:"/repositories/{repository_id}/environments/{environment_name}/variables/{name}",path:{repository_id:r,environment_name:e,name:n}})}static actionsUpdateEnvironmentVariable(r,e,n,s){return o(i,{method:"PATCH",url:"/repositories/{repository_id}/environments/{environment_name}/variables/{name}",path:{repository_id:r,name:e,environment_name:n},body:s,mediaType:"application/json"})}static actionsDeleteEnvironmentVariable(r,e,n){return o(i,{method:"DELETE",url:"/repositories/{repository_id}/environments/{environment_name}/variables/{name}",path:{repository_id:r,name:e,environment_name:n}})}};var ar=class{static activityListPublicEvents(r=30,e=1){return o(i,{method:"GET",url:"/events",query:{per_page:r,page:e},errors:{304:"Not modified",403:"Forbidden",503:"Service unavailable"}})}static activityGetFeeds(){return o(i,{method:"GET",url:"/feeds"})}static activityListPublicEventsForRepoNetwork(r,e,n=30,s=1){return o(i,{method:"GET",url:"/networks/{owner}/{repo}/events",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{301:"Moved permanently",304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static activityListNotificationsForAuthenticatedUser(r=!1,e=!1,n,s,u=1,_=50){return o(i,{method:"GET",url:"/notifications",query:{all:r,participating:e,since:n,before:s,page:u,per_page:_},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static activityMarkNotificationsAsRead(r){return o(i,{method:"PUT",url:"/notifications",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static activityGetThread(r){return o(i,{method:"GET",url:"/notifications/threads/{thread_id}",path:{thread_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static activityMarkThreadAsRead(r){return o(i,{method:"PATCH",url:"/notifications/threads/{thread_id}",path:{thread_id:r},errors:{304:"Not modified",403:"Forbidden"}})}static activityGetThreadSubscriptionForAuthenticatedUser(r){return o(i,{method:"GET",url:"/notifications/threads/{thread_id}/subscription",path:{thread_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static activitySetThreadSubscription(r,e){return o(i,{method:"PUT",url:"/notifications/threads/{thread_id}/subscription",path:{thread_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static activityDeleteThreadSubscription(r){return o(i,{method:"DELETE",url:"/notifications/threads/{thread_id}/subscription",path:{thread_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static activityListPublicOrgEvents(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/events",path:{org:r},query:{per_page:e,page:n}})}static activityListRepoEvents(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/events",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static activityListRepoNotificationsForAuthenticatedUser(r,e,n=!1,s=!1,u,_,m=30,c=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/notifications",path:{owner:r,repo:e},query:{all:n,participating:s,since:u,before:_,per_page:m,page:c}})}static activityMarkRepoNotificationsAsRead(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/notifications",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static activityListStargazersForRepo(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/stargazers",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{422:"Validation failed, or the endpoint has been spammed."}})}static activityListWatchersForRepo(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/subscribers",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static activityGetRepoSubscription(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/subscription",path:{owner:r,repo:e},errors:{403:"Forbidden",404:"Not Found if you don't subscribe to the repository"}})}static activitySetRepoSubscription(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/subscription",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static activityDeleteRepoSubscription(r,e){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/subscription",path:{owner:r,repo:e}})}static activityListReposStarredByAuthenticatedUser(r="created",e="desc",n=30,s=1){return o(i,{method:"GET",url:"/user/starred",query:{sort:r,direction:e,per_page:n,page:s},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static activityCheckRepoIsStarredByAuthenticatedUser(r,e){return o(i,{method:"GET",url:"/user/starred/{owner}/{repo}",path:{owner:r,repo:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Not Found if this repository is not starred by you"}})}static activityStarRepoForAuthenticatedUser(r,e){return o(i,{method:"PUT",url:"/user/starred/{owner}/{repo}",path:{owner:r,repo:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static activityUnstarRepoForAuthenticatedUser(r,e){return o(i,{method:"DELETE",url:"/user/starred/{owner}/{repo}",path:{owner:r,repo:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static activityListWatchedReposForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/subscriptions",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static activityListEventsForAuthenticatedUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/events",path:{username:r},query:{per_page:e,page:n}})}static activityListOrgEventsForAuthenticatedUser(r,e,n=30,s=1){return o(i,{method:"GET",url:"/users/{username}/events/orgs/{org}",path:{username:r,org:e},query:{per_page:n,page:s}})}static activityListPublicEventsForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/events/public",path:{username:r},query:{per_page:e,page:n}})}static activityListReceivedEventsForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/received_events",path:{username:r},query:{per_page:e,page:n}})}static activityListReceivedPublicEventsForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/received_events/public",path:{username:r},query:{per_page:e,page:n}})}static activityListReposStarredByUser(r,e="created",n="desc",s=30,u=1){return o(i,{method:"GET",url:"/users/{username}/starred",path:{username:r},query:{sort:e,direction:n,per_page:s,page:u}})}static activityListReposWatchedByUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/subscriptions",path:{username:r},query:{per_page:e,page:n}})}};var ur=class{static appsGetAuthenticated(){return o(i,{method:"GET",url:"/app"})}static appsCreateFromManifest(r){return o(i,{method:"POST",url:"/app-manifests/{code}/conversions",path:{code:r},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static appsGetWebhookConfigForApp(){return o(i,{method:"GET",url:"/app/hook/config"})}static appsUpdateWebhookConfigForApp(r){return o(i,{method:"PATCH",url:"/app/hook/config",body:r,mediaType:"application/json"})}static appsListWebhookDeliveries(r=30,e,n){return o(i,{method:"GET",url:"/app/hook/deliveries",query:{per_page:r,cursor:e,redelivery:n},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static appsGetWebhookDelivery(r){return o(i,{method:"GET",url:"/app/hook/deliveries/{delivery_id}",path:{delivery_id:r},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static appsRedeliverWebhookDelivery(r){return o(i,{method:"POST",url:"/app/hook/deliveries/{delivery_id}/attempts",path:{delivery_id:r},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static appsListInstallationRequestsForAuthenticatedApp(r=30,e=1){return o(i,{method:"GET",url:"/app/installation-requests",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication"}})}static appsListInstallations(r=30,e=1,n,s){return o(i,{method:"GET",url:"/app/installations",query:{per_page:r,page:e,since:n,outdated:s}})}static appsGetInstallation(r){return o(i,{method:"GET",url:"/app/installations/{installation_id}",path:{installation_id:r},errors:{404:"Resource not found"}})}static appsDeleteInstallation(r){return o(i,{method:"DELETE",url:"/app/installations/{installation_id}",path:{installation_id:r},errors:{404:"Resource not found"}})}static appsCreateInstallationAccessToken(r,e){return o(i,{method:"POST",url:"/app/installations/{installation_id}/access_tokens",path:{installation_id:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static appsSuspendInstallation(r){return o(i,{method:"PUT",url:"/app/installations/{installation_id}/suspended",path:{installation_id:r},errors:{404:"Resource not found"}})}static appsUnsuspendInstallation(r){return o(i,{method:"DELETE",url:"/app/installations/{installation_id}/suspended",path:{installation_id:r},errors:{404:"Resource not found"}})}static appsDeleteAuthorization(r,e){return o(i,{method:"DELETE",url:"/applications/{client_id}/grant",path:{client_id:r},body:e,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static appsCheckToken(r,e){return o(i,{method:"POST",url:"/applications/{client_id}/token",path:{client_id:r},body:e,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static appsResetToken(r,e){return o(i,{method:"PATCH",url:"/applications/{client_id}/token",path:{client_id:r},body:e,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static appsDeleteToken(r,e){return o(i,{method:"DELETE",url:"/applications/{client_id}/token",path:{client_id:r},body:e,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static appsScopeToken(r,e){return o(i,{method:"POST",url:"/applications/{client_id}/token/scoped",path:{client_id:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static appsGetBySlug(r){return o(i,{method:"GET",url:"/apps/{app_slug}",path:{app_slug:r},errors:{403:"Forbidden",404:"Resource not found"}})}static appsListReposAccessibleToInstallation(r=30,e=1){return o(i,{method:"GET",url:"/installation/repositories",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static appsRevokeInstallationAccessToken(){return o(i,{method:"DELETE",url:"/installation/token"})}static appsGetSubscriptionPlanForAccount(r){return o(i,{method:"GET",url:"/marketplace_listing/accounts/{account_id}",path:{account_id:r},errors:{401:"Requires authentication",404:"Not Found when the account has not purchased the listing"}})}static appsListPlans(r=30,e=1){return o(i,{method:"GET",url:"/marketplace_listing/plans",query:{per_page:r,page:e},errors:{401:"Requires authentication",404:"Resource not found"}})}static appsListAccountsForPlan(r,e="created",n,s=30,u=1){return o(i,{method:"GET",url:"/marketplace_listing/plans/{plan_id}/accounts",path:{plan_id:r},query:{sort:e,direction:n,per_page:s,page:u},errors:{401:"Requires authentication",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static appsGetSubscriptionPlanForAccountStubbed(r){return o(i,{method:"GET",url:"/marketplace_listing/stubbed/accounts/{account_id}",path:{account_id:r},errors:{401:"Requires authentication",404:"Not Found when the account has not purchased the listing"}})}static appsListPlansStubbed(r=30,e=1){return o(i,{method:"GET",url:"/marketplace_listing/stubbed/plans",query:{per_page:r,page:e},errors:{401:"Requires authentication"}})}static appsListAccountsForPlanStubbed(r,e="created",n,s=30,u=1){return o(i,{method:"GET",url:"/marketplace_listing/stubbed/plans/{plan_id}/accounts",path:{plan_id:r},query:{sort:e,direction:n,per_page:s,page:u},errors:{401:"Requires authentication"}})}static appsGetOrgInstallation(r){return o(i,{method:"GET",url:"/orgs/{org}/installation",path:{org:r}})}static appsGetRepoInstallation(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/installation",path:{owner:r,repo:e},errors:{301:"Moved permanently",404:"Resource not found"}})}static appsListInstallationsForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/installations",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static appsListInstallationReposForAuthenticatedUser(r,e=30,n=1){return o(i,{method:"GET",url:"/user/installations/{installation_id}/repositories",path:{installation_id:r},query:{per_page:e,page:n},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static appsAddRepoToInstallationForAuthenticatedUser(r,e){return o(i,{method:"PUT",url:"/user/installations/{installation_id}/repositories/{repository_id}",path:{installation_id:r,repository_id:e},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static appsRemoveRepoFromInstallationForAuthenticatedUser(r,e){return o(i,{method:"DELETE",url:"/user/installations/{installation_id}/repositories/{repository_id}",path:{installation_id:r,repository_id:e},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found",422:"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."}})}static appsListSubscriptionsForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/marketplace_purchases",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",404:"Resource not found"}})}static appsListSubscriptionsForAuthenticatedUserStubbed(r=30,e=1){return o(i,{method:"GET",url:"/user/marketplace_purchases/stubbed",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication"}})}static appsGetUserInstallation(r){return o(i,{method:"GET",url:"/users/{username}/installation",path:{username:r}})}};var _r=class{static billingGetGithubActionsBillingOrg(r){return o(i,{method:"GET",url:"/orgs/{org}/settings/billing/actions",path:{org:r}})}static billingGetGithubPackagesBillingOrg(r){return o(i,{method:"GET",url:"/orgs/{org}/settings/billing/packages",path:{org:r}})}static billingGetSharedStorageBillingOrg(r){return o(i,{method:"GET",url:"/orgs/{org}/settings/billing/shared-storage",path:{org:r}})}static billingGetGithubActionsBillingUser(r){return o(i,{method:"GET",url:"/users/{username}/settings/billing/actions",path:{username:r}})}static billingGetGithubPackagesBillingUser(r){return o(i,{method:"GET",url:"/users/{username}/settings/billing/packages",path:{username:r}})}static billingGetSharedStorageBillingUser(r){return o(i,{method:"GET",url:"/users/{username}/settings/billing/shared-storage",path:{username:r}})}};var gr=class{static checksCreate(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/check-runs",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static checksGet(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/check-runs/{check_run_id}",path:{owner:r,repo:e,check_run_id:n}})}static checksUpdate(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/check-runs/{check_run_id}",path:{owner:r,repo:e,check_run_id:n},body:s,mediaType:"application/json"})}static checksListAnnotations(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations",path:{owner:r,repo:e,check_run_id:n},query:{per_page:s,page:u}})}static checksRerequestRun(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest",path:{owner:r,repo:e,check_run_id:n},errors:{403:"Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App",404:"Resource not found",422:"Validation error if the check run is not rerequestable"}})}static checksCreateSuite(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/check-suites",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static checksSetSuitesPreferences(r,e,n){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/check-suites/preferences",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static checksGetSuite(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/check-suites/{check_suite_id}",path:{owner:r,repo:e,check_suite_id:n}})}static checksListForSuite(r,e,n,s,u,_="latest",m=30,c=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs",path:{owner:r,repo:e,check_suite_id:n},query:{check_name:s,status:u,filter:_,per_page:m,page:c}})}static checksRerequestSuite(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest",path:{owner:r,repo:e,check_suite_id:n}})}static checksListForRef(r,e,n,s,u,_="latest",m=30,c=1,d){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits/{ref}/check-runs",path:{owner:r,repo:e,ref:n},query:{check_name:s,status:u,filter:_,per_page:m,page:c,app_id:d}})}static checksListSuitesForRef(r,e,n,s,u,_=30,m=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits/{ref}/check-suites",path:{owner:r,repo:e,ref:n},query:{app_id:s,check_name:u,per_page:_,page:m}})}};var mr=class{static codeScanningListAlertsForOrg(r,e,n,s,u,_=1,m=30,c="desc",d,v="created",h){return o(i,{method:"GET",url:"/orgs/{org}/code-scanning/alerts",path:{org:r},query:{tool_name:e,tool_guid:n,before:s,after:u,page:_,per_page:m,direction:c,state:d,sort:v,severity:h},errors:{404:"Resource not found",503:"Service unavailable"}})}static codeScanningListAlertsForRepo(r,e,n,s,u=1,_=30,m,c="desc",d="created",v,h){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/alerts",path:{owner:r,repo:e},query:{tool_name:n,tool_guid:s,page:u,per_page:_,ref:m,direction:c,sort:d,state:v,severity:h},errors:{304:"Not modified",403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningGetAlert(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",path:{owner:r,repo:e,alert_number:n},errors:{304:"Not modified",403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningUpdateAlert(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",path:{owner:r,repo:e,alert_number:n},body:s,mediaType:"application/json",errors:{403:"Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningListAlertInstances(r,e,n,s=1,u=30,_){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",path:{owner:r,repo:e,alert_number:n},query:{page:s,per_page:u,ref:_},errors:{403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningListRecentAnalyses(r,e,n,s,u=1,_=30,m,c,d="desc",v="created"){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/analyses",path:{owner:r,repo:e},query:{tool_name:n,tool_guid:s,page:u,per_page:_,ref:m,sarif_id:c,direction:d,sort:v},errors:{403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningGetAnalysis(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}",path:{owner:r,repo:e,analysis_id:n},errors:{403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningDeleteAnalysis(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}",path:{owner:r,repo:e,analysis_id:n},query:{confirm_delete:s},errors:{400:"Bad Request",403:"Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningListCodeqlDatabases(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/codeql/databases",path:{owner:r,repo:e},errors:{403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningGetCodeqlDatabase(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}",path:{owner:r,repo:e,language:n},errors:{302:"Found",403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningGetDefaultSetup(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/default-setup",path:{owner:r,repo:e},errors:{403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",503:"Service unavailable"}})}static codeScanningUpdateDefaultSetup(r,e,n){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/code-scanning/default-setup",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",409:"Response if there is already a validation run in progress with a different default setup configuration",503:"Service unavailable"}})}static codeScanningUploadSarif(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/code-scanning/sarifs",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{400:"Bad Request if the sarif field is invalid",403:"Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository",404:"Resource not found",413:"Payload Too Large if the sarif field is too large",503:"Service unavailable"}})}static codeScanningGetSarif(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}",path:{owner:r,repo:e,sarif_id:n},errors:{403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Not Found if the sarif id does not match any upload",503:"Service unavailable"}})}};var pr=class{static codesOfConductGetAllCodesOfConduct(){return o(i,{method:"GET",url:"/codes_of_conduct",errors:{304:"Not modified"}})}static codesOfConductGetConductCode(r){return o(i,{method:"GET",url:"/codes_of_conduct/{key}",path:{key:r},errors:{304:"Not modified",404:"Resource not found"}})}};var dr=class{static codespacesListInOrganization(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/codespaces",path:{org:r},query:{per_page:e,page:n},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesSetCodespacesAccess(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/codespaces/access",path:{org:r},body:e,mediaType:"application/json",errors:{304:"Not modified",400:"Users are neither members nor collaborators of this organization.",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static codespacesSetCodespacesAccessUsers(r,e){return o(i,{method:"POST",url:"/orgs/{org}/codespaces/access/selected_users",path:{org:r},body:e,mediaType:"application/json",errors:{304:"Not modified",400:"Users are neither members nor collaborators of this organization.",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static codespacesDeleteCodespacesAccessUsers(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/codespaces/access/selected_users",path:{org:r},body:e,mediaType:"application/json",errors:{304:"Not modified",400:"Users are neither members nor collaborators of this organization.",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static codespacesListOrgSecrets(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/codespaces/secrets",path:{org:r},query:{per_page:e,page:n}})}static codespacesGetOrgPublicKey(r){return o(i,{method:"GET",url:"/orgs/{org}/codespaces/secrets/public-key",path:{org:r}})}static codespacesGetOrgSecret(r,e){return o(i,{method:"GET",url:"/orgs/{org}/codespaces/secrets/{secret_name}",path:{org:r,secret_name:e}})}static codespacesCreateOrUpdateOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/codespaces/secrets/{secret_name}",path:{org:r,secret_name:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static codespacesDeleteOrgSecret(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/codespaces/secrets/{secret_name}",path:{org:r,secret_name:e},errors:{404:"Resource not found"}})}static codespacesListSelectedReposForOrgSecret(r,e,n=1,s=30){return o(i,{method:"GET",url:"/orgs/{org}/codespaces/secrets/{secret_name}/repositories",path:{org:r,secret_name:e},query:{page:n,per_page:s},errors:{404:"Resource not found"}})}static codespacesSetSelectedReposForOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/codespaces/secrets/{secret_name}/repositories",path:{org:r,secret_name:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",409:"Conflict when visibility type not set to selected"}})}static codespacesAddSelectedRepoToOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}",path:{org:r,secret_name:e,repository_id:n},errors:{404:"Resource not found",409:"Conflict when visibility type is not set to selected",422:"Validation failed, or the endpoint has been spammed."}})}static codespacesRemoveSelectedRepoFromOrgSecret(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}",path:{org:r,secret_name:e,repository_id:n},errors:{404:"Resource not found",409:"Conflict when visibility type not set to selected",422:"Validation failed, or the endpoint has been spammed."}})}static codespacesGetCodespacesForUserInOrg(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/members/{username}/codespaces",path:{org:r,username:e},query:{per_page:n,page:s},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesDeleteFromOrganization(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/members/{username}/codespaces/{codespace_name}",path:{org:r,username:e,codespace_name:n},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesStopInOrganization(r,e,n){return o(i,{method:"POST",url:"/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop",path:{org:r,username:e,codespace_name:n},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesListInRepositoryForAuthenticatedUser(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/codespaces",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesCreateWithRepoForAuthenticatedUser(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/codespaces",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{400:"Bad Request",401:"Requires authentication",403:"Forbidden",404:"Resource not found",503:"Service unavailable"}})}static codespacesListDevcontainersInRepositoryForAuthenticatedUser(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/codespaces/devcontainers",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{400:"Bad Request",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesRepoMachinesForAuthenticatedUser(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/codespaces/machines",path:{owner:r,repo:e},query:{location:n,client_ip:s},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesPreFlightWithRepoForAuthenticatedUser(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/codespaces/new",path:{owner:r,repo:e},query:{ref:n,client_ip:s},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static codespacesListRepoSecrets(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/codespaces/secrets",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static codespacesGetRepoPublicKey(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/codespaces/secrets/public-key",path:{owner:r,repo:e}})}static codespacesGetRepoSecret(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n}})}static codespacesCreateOrUpdateRepoSecret(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n},body:s,mediaType:"application/json"})}static codespacesDeleteRepoSecret(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n}})}static codespacesCreateWithPrForAuthenticatedUser(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pulls/{pull_number}/codespaces",path:{owner:r,repo:e,pull_number:n},body:s,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",503:"Service unavailable"}})}static codespacesListForAuthenticatedUser(r=30,e=1,n){return o(i,{method:"GET",url:"/user/codespaces",query:{per_page:r,page:e,repository_id:n},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesCreateForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/codespaces",body:r,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",503:"Service unavailable"}})}static codespacesListSecretsForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/codespaces/secrets",query:{per_page:r,page:e}})}static codespacesGetPublicKeyForAuthenticatedUser(){return o(i,{method:"GET",url:"/user/codespaces/secrets/public-key"})}static codespacesGetSecretForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/codespaces/secrets/{secret_name}",path:{secret_name:r}})}static codespacesCreateOrUpdateSecretForAuthenticatedUser(r,e){return o(i,{method:"PUT",url:"/user/codespaces/secrets/{secret_name}",path:{secret_name:r},body:e,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static codespacesDeleteSecretForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/codespaces/secrets/{secret_name}",path:{secret_name:r}})}static codespacesListRepositoriesForSecretForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/codespaces/secrets/{secret_name}/repositories",path:{secret_name:r},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesSetRepositoriesForSecretForAuthenticatedUser(r,e){return o(i,{method:"PUT",url:"/user/codespaces/secrets/{secret_name}/repositories",path:{secret_name:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesAddRepositoryForSecretForAuthenticatedUser(r,e){return o(i,{method:"PUT",url:"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}",path:{secret_name:r,repository_id:e},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesRemoveRepositoryForSecretForAuthenticatedUser(r,e){return o(i,{method:"DELETE",url:"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}",path:{secret_name:r,repository_id:e},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesGetForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/codespaces/{codespace_name}",path:{codespace_name:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesUpdateForAuthenticatedUser(r,e){return o(i,{method:"PATCH",url:"/user/codespaces/{codespace_name}",path:{codespace_name:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static codespacesDeleteForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/codespaces/{codespace_name}",path:{codespace_name:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesExportForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/codespaces/{codespace_name}/exports",path:{codespace_name:r},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static codespacesGetExportDetailsForAuthenticatedUser(r,e){return o(i,{method:"GET",url:"/user/codespaces/{codespace_name}/exports/{export_id}",path:{codespace_name:r,export_id:e},errors:{404:"Resource not found"}})}static codespacesCodespaceMachinesForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/codespaces/{codespace_name}/machines",path:{codespace_name:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static codespacesPublishForAuthenticatedUser(r,e){return o(i,{method:"POST",url:"/user/codespaces/{codespace_name}/publish",path:{codespace_name:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static codespacesStartForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/codespaces/{codespace_name}/start",path:{codespace_name:r},errors:{304:"Not modified",400:"Bad Request",401:"Requires authentication",402:"Payment required",403:"Forbidden",404:"Resource not found",409:"Conflict",500:"Internal Error"}})}static codespacesStopForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/codespaces/{codespace_name}/stop",path:{codespace_name:r},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}};var cr=class{static copilotGetCopilotOrganizationDetails(r){return o(i,{method:"GET",url:"/orgs/{org}/copilot/billing",path:{org:r},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static copilotListCopilotSeats(r,e=1,n=50){return o(i,{method:"GET",url:"/orgs/{org}/copilot/billing/seats",path:{org:r},query:{page:e,per_page:n},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static copilotAddCopilotForBusinessSeatsForTeams(r,e){return o(i,{method:"POST",url:"/orgs/{org}/copilot/billing/selected_teams",path:{org:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"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.",500:"Internal Error"}})}static copilotCancelCopilotSeatAssignmentForTeams(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/copilot/billing/selected_teams",path:{org:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"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.",500:"Internal Error"}})}static copilotAddCopilotForBusinessSeatsForUsers(r,e){return o(i,{method:"POST",url:"/orgs/{org}/copilot/billing/selected_users",path:{org:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"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.",500:"Internal Error"}})}static copilotCancelCopilotSeatAssignmentForUsers(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/copilot/billing/selected_users",path:{org:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"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.",500:"Internal Error"}})}static copilotGetCopilotSeatAssignmentDetailsForUser(r,e){return o(i,{method:"GET",url:"/orgs/{org}/members/{username}/copilot",path:{org:r,username:e},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Copilot for Business is not enabled for this organization or the user has a pending organization invitation.",500:"Internal Error"}})}};var br=class{static dependabotListAlertsForEnterprise(r,e,n,s,u,_,m="created",c="desc",d,v,h=30,R,k=30){return o(i,{method:"GET",url:"/enterprises/{enterprise}/dependabot/alerts",path:{enterprise:r},query:{state:e,severity:n,ecosystem:s,package:u,scope:_,sort:m,direction:c,before:d,after:v,first:h,last:R,per_page:k},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static dependabotListAlertsForOrg(r,e,n,s,u,_,m="created",c="desc",d,v,h=30,R,k=30){return o(i,{method:"GET",url:"/orgs/{org}/dependabot/alerts",path:{org:r},query:{state:e,severity:n,ecosystem:s,package:u,scope:_,sort:m,direction:c,before:d,after:v,first:h,last:R,per_page:k},errors:{304:"Not modified",400:"Bad Request",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static dependabotListOrgSecrets(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/dependabot/secrets",path:{org:r},query:{per_page:e,page:n}})}static dependabotGetOrgPublicKey(r){return o(i,{method:"GET",url:"/orgs/{org}/dependabot/secrets/public-key",path:{org:r}})}static dependabotGetOrgSecret(r,e){return o(i,{method:"GET",url:"/orgs/{org}/dependabot/secrets/{secret_name}",path:{org:r,secret_name:e}})}static dependabotCreateOrUpdateOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/dependabot/secrets/{secret_name}",path:{org:r,secret_name:e},body:n,mediaType:"application/json"})}static dependabotDeleteOrgSecret(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/dependabot/secrets/{secret_name}",path:{org:r,secret_name:e}})}static dependabotListSelectedReposForOrgSecret(r,e,n=1,s=30){return o(i,{method:"GET",url:"/orgs/{org}/dependabot/secrets/{secret_name}/repositories",path:{org:r,secret_name:e},query:{page:n,per_page:s}})}static dependabotSetSelectedReposForOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/dependabot/secrets/{secret_name}/repositories",path:{org:r,secret_name:e},body:n,mediaType:"application/json"})}static dependabotAddSelectedRepoToOrgSecret(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}",path:{org:r,secret_name:e,repository_id:n},errors:{409:"Conflict when visibility type is not set to selected"}})}static dependabotRemoveSelectedRepoFromOrgSecret(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}",path:{org:r,secret_name:e,repository_id:n},errors:{409:"Conflict when visibility type not set to selected"}})}static dependabotListAlertsForRepo(r,e,n,s,u,_,m,c,d="created",v="desc",h=1,R=30,k,b,p=30,f){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/dependabot/alerts",path:{owner:r,repo:e},query:{state:n,severity:s,ecosystem:u,package:_,manifest:m,scope:c,sort:d,direction:v,page:h,per_page:R,before:k,after:b,first:p,last:f},errors:{304:"Not modified",400:"Bad Request",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static dependabotGetAlert(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}",path:{owner:r,repo:e,alert_number:n},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static dependabotUpdateAlert(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}",path:{owner:r,repo:e,alert_number:n},body:s,mediaType:"application/json",errors:{400:"Bad Request",403:"Forbidden",404:"Resource not found",409:"Conflict",422:"Validation failed, or the endpoint has been spammed."}})}static dependabotListRepoSecrets(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/dependabot/secrets",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static dependabotGetRepoPublicKey(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/dependabot/secrets/public-key",path:{owner:r,repo:e}})}static dependabotGetRepoSecret(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n}})}static dependabotCreateOrUpdateRepoSecret(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n},body:s,mediaType:"application/json"})}static dependabotDeleteRepoSecret(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}",path:{owner:r,repo:e,secret_name:n}})}};var hr=class{static dependencyGraphDiffRange(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}",path:{owner:r,repo:e,basehead:n},query:{name:s},errors:{403:"Response if GitHub Advanced Security is not enabled for this repository",404:"Resource not found"}})}static dependencyGraphExportSbom(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/dependency-graph/sbom",path:{owner:r,repo:e},errors:{403:"Forbidden",404:"Resource not found"}})}static dependencyGraphCreateRepositorySnapshot(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/dependency-graph/snapshots",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}};var yr=class{static emojisGet(){return o(i,{method:"GET",url:"/emojis",errors:{304:"Not modified"}})}};var fr=class{static gistsList(r,e=30,n=1){return o(i,{method:"GET",url:"/gists",query:{since:r,per_page:e,page:n},errors:{304:"Not modified",403:"Forbidden"}})}static gistsCreate(r){return o(i,{method:"POST",url:"/gists",body:r,mediaType:"application/json",errors:{304:"Not modified",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static gistsListPublic(r,e=30,n=1){return o(i,{method:"GET",url:"/gists/public",query:{since:r,per_page:e,page:n},errors:{304:"Not modified",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static gistsListStarred(r,e=30,n=1){return o(i,{method:"GET",url:"/gists/starred",query:{since:r,per_page:e,page:n},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static gistsGet(r){return o(i,{method:"GET",url:"/gists/{gist_id}",path:{gist_id:r},errors:{304:"Not modified",403:"Forbidden Gist",404:"Resource not found"}})}static gistsUpdate(r,e){return o(i,{method:"PATCH",url:"/gists/{gist_id}",path:{gist_id:r},body:e,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static gistsDelete(r){return o(i,{method:"DELETE",url:"/gists/{gist_id}",path:{gist_id:r},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static gistsListComments(r,e=30,n=1){return o(i,{method:"GET",url:"/gists/{gist_id}/comments",path:{gist_id:r},query:{per_page:e,page:n},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static gistsCreateComment(r,e){return o(i,{method:"POST",url:"/gists/{gist_id}/comments",path:{gist_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static gistsGetComment(r,e){return o(i,{method:"GET",url:"/gists/{gist_id}/comments/{comment_id}",path:{gist_id:r,comment_id:e},errors:{304:"Not modified",403:"Forbidden Gist",404:"Resource not found"}})}static gistsUpdateComment(r,e,n){return o(i,{method:"PATCH",url:"/gists/{gist_id}/comments/{comment_id}",path:{gist_id:r,comment_id:e},body:n,mediaType:"application/json",errors:{404:"Resource not found"}})}static gistsDeleteComment(r,e){return o(i,{method:"DELETE",url:"/gists/{gist_id}/comments/{comment_id}",path:{gist_id:r,comment_id:e},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static gistsListCommits(r,e=30,n=1){return o(i,{method:"GET",url:"/gists/{gist_id}/commits",path:{gist_id:r},query:{per_page:e,page:n},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static gistsListForks(r,e=30,n=1){return o(i,{method:"GET",url:"/gists/{gist_id}/forks",path:{gist_id:r},query:{per_page:e,page:n},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static gistsFork(r){return o(i,{method:"POST",url:"/gists/{gist_id}/forks",path:{gist_id:r},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static gistsCheckIsStarred(r){return o(i,{method:"GET",url:"/gists/{gist_id}/star",path:{gist_id:r},errors:{304:"Not modified",403:"Forbidden",404:"Not Found if gist is not starred"}})}static gistsStar(r){return o(i,{method:"PUT",url:"/gists/{gist_id}/star",path:{gist_id:r},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static gistsUnstar(r){return o(i,{method:"DELETE",url:"/gists/{gist_id}/star",path:{gist_id:r},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static gistsGetRevision(r,e){return o(i,{method:"GET",url:"/gists/{gist_id}/{sha}",path:{gist_id:r,sha:e},errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static gistsListForUser(r,e,n=30,s=1){return o(i,{method:"GET",url:"/users/{username}/gists",path:{username:r},query:{since:e,per_page:n,page:s},errors:{422:"Validation failed, or the endpoint has been spammed."}})}};var wr=class{static gitCreateBlob(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/git/blobs",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",409:"Conflict",422:"Validation failed, or the endpoint has been spammed."}})}static gitGetBlob(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/git/blobs/{file_sha}",path:{owner:r,repo:e,file_sha:n},errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static gitCreateCommit(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/git/commits",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static gitGetCommit(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/git/commits/{commit_sha}",path:{owner:r,repo:e,commit_sha:n},errors:{404:"Resource not found"}})}static gitListMatchingRefs(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/git/matching-refs/{ref}",path:{owner:r,repo:e,ref:n}})}static gitGetRef(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/git/ref/{ref}",path:{owner:r,repo:e,ref:n},errors:{404:"Resource not found"}})}static gitCreateRef(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/git/refs",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static gitUpdateRef(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/git/refs/{ref}",path:{owner:r,repo:e,ref:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static gitDeleteRef(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/git/refs/{ref}",path:{owner:r,repo:e,ref:n},errors:{422:"Validation failed, or the endpoint has been spammed."}})}static gitCreateTag(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/git/tags",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static gitGetTag(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/git/tags/{tag_sha}",path:{owner:r,repo:e,tag_sha:n},errors:{404:"Resource not found"}})}static gitCreateTree(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/git/trees",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static gitGetTree(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/git/trees/{tree_sha}",path:{owner:r,repo:e,tree_sha:n},query:{recursive:s},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}};var Er=class{static gitignoreGetAllTemplates(){return o(i,{method:"GET",url:"/gitignore/templates",errors:{304:"Not modified"}})}static gitignoreGetTemplate(r){return o(i,{method:"GET",url:"/gitignore/templates/{name}",path:{name:r},errors:{304:"Not modified"}})}};var vr=class{static interactionsGetRestrictionsForOrg(r){return o(i,{method:"GET",url:"/orgs/{org}/interaction-limits",path:{org:r}})}static interactionsSetRestrictionsForOrg(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/interaction-limits",path:{org:r},body:e,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static interactionsRemoveRestrictionsForOrg(r){return o(i,{method:"DELETE",url:"/orgs/{org}/interaction-limits",path:{org:r}})}static interactionsGetRestrictionsForRepo(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/interaction-limits",path:{owner:r,repo:e}})}static interactionsSetRestrictionsForRepo(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/interaction-limits",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{409:"Response"}})}static interactionsRemoveRestrictionsForRepo(r,e){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/interaction-limits",path:{owner:r,repo:e},errors:{409:"Response"}})}static interactionsGetRestrictionsForAuthenticatedUser(){return o(i,{method:"GET",url:"/user/interaction-limits"})}static interactionsSetRestrictionsForAuthenticatedUser(r){return o(i,{method:"PUT",url:"/user/interaction-limits",body:r,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static interactionsRemoveRestrictionsForAuthenticatedUser(){return o(i,{method:"DELETE",url:"/user/interaction-limits"})}};var Rr=class{static issuesList(r="assigned",e="open",n,s="created",u="desc",_,m,c,d,v,h=30,R=1){return o(i,{method:"GET",url:"/issues",query:{filter:r,state:e,labels:n,sort:s,direction:u,since:_,collab:m,orgs:c,owned:d,pulls:v,per_page:h,page:R},errors:{304:"Not modified",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static issuesListForOrg(r,e="assigned",n="open",s,u="created",_="desc",m,c=30,d=1){return o(i,{method:"GET",url:"/orgs/{org}/issues",path:{org:r},query:{filter:e,state:n,labels:s,sort:u,direction:_,since:m,per_page:c,page:d},errors:{404:"Resource not found"}})}static issuesListAssignees(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/assignees",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{404:"Resource not found"}})}static issuesCheckUserCanBeAssigned(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/assignees/{assignee}",path:{owner:r,repo:e,assignee:n},errors:{404:"Otherwise a `404` status code is returned."}})}static issuesListForRepo(r,e,n,s="open",u,_,m,c,d="created",v="desc",h,R=30,k=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues",path:{owner:r,repo:e},query:{milestone:n,state:s,assignee:u,creator:_,mentioned:m,labels:c,sort:d,direction:v,since:h,per_page:R,page:k},errors:{301:"Moved permanently",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static issuesCreate(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/issues",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{400:"Bad Request",403:"Forbidden",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed.",503:"Service unavailable"}})}static issuesListCommentsForRepo(r,e,n="created",s,u,_=30,m=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/comments",path:{owner:r,repo:e},query:{sort:n,direction:s,since:u,per_page:_,page:m},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static issuesGetComment(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n},errors:{404:"Resource not found"}})}static issuesUpdateComment(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/issues/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static issuesDeleteComment(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/issues/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n}})}static issuesListEventsForRepo(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/events",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{422:"Validation failed, or the endpoint has been spammed."}})}static issuesGetEvent(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/events/{event_id}",path:{owner:r,repo:e,event_id:n},errors:{403:"Forbidden",404:"Resource not found",410:"Gone"}})}static issuesGet(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/{issue_number}",path:{owner:r,repo:e,issue_number:n},errors:{301:"Moved permanently",304:"Not modified",404:"Resource not found",410:"Gone"}})}static issuesUpdate(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/issues/{issue_number}",path:{owner:r,repo:e,issue_number:n},body:s,mediaType:"application/json",errors:{301:"Moved permanently",403:"Forbidden",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed.",503:"Service unavailable"}})}static issuesAddAssignees(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/issues/{issue_number}/assignees",path:{owner:r,repo:e,issue_number:n},body:s,mediaType:"application/json"})}static issuesRemoveAssignees(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/issues/{issue_number}/assignees",path:{owner:r,repo:e,issue_number:n},body:s,mediaType:"application/json"})}static issuesCheckUserCanBeAssignedToIssue(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}",path:{owner:r,repo:e,issue_number:n,assignee:s},errors:{404:"Response if `assignee` can not be assigned to `issue_number`"}})}static issuesListComments(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/{issue_number}/comments",path:{owner:r,repo:e,issue_number:n},query:{since:s,per_page:u,page:_},errors:{404:"Resource not found",410:"Gone"}})}static issuesCreateComment(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/issues/{issue_number}/comments",path:{owner:r,repo:e,issue_number:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed."}})}static issuesListEvents(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/{issue_number}/events",path:{owner:r,repo:e,issue_number:n},query:{per_page:s,page:u},errors:{410:"Gone"}})}static issuesListLabelsOnIssue(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/{issue_number}/labels",path:{owner:r,repo:e,issue_number:n},query:{per_page:s,page:u},errors:{301:"Moved permanently",404:"Resource not found",410:"Gone"}})}static issuesAddLabels(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/issues/{issue_number}/labels",path:{owner:r,repo:e,issue_number:n},body:s,mediaType:"application/json",errors:{301:"Moved permanently",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed."}})}static issuesSetLabels(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/issues/{issue_number}/labels",path:{owner:r,repo:e,issue_number:n},body:s,mediaType:"application/json",errors:{301:"Moved permanently",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed."}})}static issuesRemoveAllLabels(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/issues/{issue_number}/labels",path:{owner:r,repo:e,issue_number:n},errors:{301:"Moved permanently",404:"Resource not found",410:"Gone"}})}static issuesRemoveLabel(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}",path:{owner:r,repo:e,issue_number:n,name:s},errors:{301:"Moved permanently",404:"Resource not found",410:"Gone"}})}static issuesLock(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/issues/{issue_number}/lock",path:{owner:r,repo:e,issue_number:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed."}})}static issuesUnlock(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/issues/{issue_number}/lock",path:{owner:r,repo:e,issue_number:n},errors:{403:"Forbidden",404:"Resource not found"}})}static issuesListEventsForTimeline(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/{issue_number}/timeline",path:{owner:r,repo:e,issue_number:n},query:{per_page:s,page:u},errors:{404:"Resource not found",410:"Gone"}})}static issuesListLabelsForRepo(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/labels",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{404:"Resource not found"}})}static issuesCreateLabel(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/labels",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static issuesGetLabel(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/labels/{name}",path:{owner:r,repo:e,name:n},errors:{404:"Resource not found"}})}static issuesUpdateLabel(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/labels/{name}",path:{owner:r,repo:e,name:n},body:s,mediaType:"application/json"})}static issuesDeleteLabel(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/labels/{name}",path:{owner:r,repo:e,name:n}})}static issuesListMilestones(r,e,n="open",s="due_on",u="asc",_=30,m=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/milestones",path:{owner:r,repo:e},query:{state:n,sort:s,direction:u,per_page:_,page:m},errors:{404:"Resource not found"}})}static issuesCreateMilestone(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/milestones",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static issuesGetMilestone(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/milestones/{milestone_number}",path:{owner:r,repo:e,milestone_number:n},errors:{404:"Resource not found"}})}static issuesUpdateMilestone(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/milestones/{milestone_number}",path:{owner:r,repo:e,milestone_number:n},body:s,mediaType:"application/json"})}static issuesDeleteMilestone(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/milestones/{milestone_number}",path:{owner:r,repo:e,milestone_number:n},errors:{404:"Resource not found"}})}static issuesListLabelsForMilestone(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/milestones/{milestone_number}/labels",path:{owner:r,repo:e,milestone_number:n},query:{per_page:s,page:u}})}static issuesListForAuthenticatedUser(r="assigned",e="open",n,s="created",u="desc",_,m=30,c=1){return o(i,{method:"GET",url:"/user/issues",query:{filter:r,state:e,labels:n,sort:s,direction:u,since:_,per_page:m,page:c},errors:{304:"Not modified",404:"Resource not found"}})}};var Tr=class{static licensesGetAllCommonlyUsed(r,e=30,n=1){return o(i,{method:"GET",url:"/licenses",query:{featured:r,per_page:e,page:n},errors:{304:"Not modified"}})}static licensesGet(r){return o(i,{method:"GET",url:"/licenses/{license}",path:{license:r},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}static licensesGetForRepo(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/license",path:{owner:r,repo:e}})}};var Ar=class{static markdownRender(r){return o(i,{method:"POST",url:"/markdown",body:r,mediaType:"application/json",errors:{304:"Not modified"}})}static markdownRenderRaw(r){return o(i,{method:"POST",url:"/markdown/raw",body:r,mediaType:"text/plain",errors:{304:"Not modified"}})}};var kr=class{static metaRoot(){return o(i,{method:"GET",url:"/"})}static metaGet(){return o(i,{method:"GET",url:"/meta",errors:{304:"Not modified"}})}static metaGetOctocat(r){return o(i,{method:"GET",url:"/octocat",query:{s:r}})}static metaGetAllVersions(){return o(i,{method:"GET",url:"/versions",errors:{404:"Resource not found"}})}static metaGetZen(){return o(i,{method:"GET",url:"/zen"})}};var xr=class{static migrationsListForOrg(r,e=30,n=1,s){return o(i,{method:"GET",url:"/orgs/{org}/migrations",path:{org:r},query:{per_page:e,page:n,exclude:s}})}static migrationsStartForOrg(r,e){return o(i,{method:"POST",url:"/orgs/{org}/migrations",path:{org:r},body:e,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static migrationsGetStatusForOrg(r,e,n){return o(i,{method:"GET",url:"/orgs/{org}/migrations/{migration_id}",path:{org:r,migration_id:e},query:{exclude:n},errors:{404:"Resource not found"}})}static migrationsDownloadArchiveForOrg(r,e){return o(i,{method:"GET",url:"/orgs/{org}/migrations/{migration_id}/archive",path:{org:r,migration_id:e},errors:{302:"Response",404:"Resource not found"}})}static migrationsDeleteArchiveForOrg(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/migrations/{migration_id}/archive",path:{org:r,migration_id:e},errors:{404:"Resource not found"}})}static migrationsUnlockRepoForOrg(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock",path:{org:r,migration_id:e,repo_name:n},errors:{404:"Resource not found"}})}static migrationsListReposForOrg(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/migrations/{migration_id}/repositories",path:{org:r,migration_id:e},query:{per_page:n,page:s},errors:{404:"Resource not found"}})}static migrationsGetImportStatus(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/import",path:{owner:r,repo:e},errors:{404:"Resource not found",503:"Unavailable due to service under maintenance."}})}static migrationsStartImport(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/import",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",503:"Unavailable due to service under maintenance."}})}static migrationsUpdateImport(r,e,n){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/import",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{503:"Unavailable due to service under maintenance."}})}static migrationsCancelImport(r,e){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/import",path:{owner:r,repo:e},errors:{503:"Unavailable due to service under maintenance."}})}static migrationsGetCommitAuthors(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/import/authors",path:{owner:r,repo:e},query:{since:n},errors:{404:"Resource not found",503:"Unavailable due to service under maintenance."}})}static migrationsMapCommitAuthor(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/import/authors/{author_id}",path:{owner:r,repo:e,author_id:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",503:"Unavailable due to service under maintenance."}})}static migrationsGetLargeFiles(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/import/large_files",path:{owner:r,repo:e},errors:{503:"Unavailable due to service under maintenance."}})}static migrationsSetLfsPreference(r,e,n){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/import/lfs",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed.",503:"Unavailable due to service under maintenance."}})}static migrationsListForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/migrations",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static migrationsStartForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/migrations",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static migrationsGetStatusForAuthenticatedUser(r,e){return o(i,{method:"GET",url:"/user/migrations/{migration_id}",path:{migration_id:r},query:{exclude:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static migrationsGetArchiveForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/migrations/{migration_id}/archive",path:{migration_id:r},errors:{302:"Response",304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static migrationsDeleteArchiveForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/migrations/{migration_id}/archive",path:{migration_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static migrationsUnlockRepoForAuthenticatedUser(r,e){return o(i,{method:"DELETE",url:"/user/migrations/{migration_id}/repos/{repo_name}/lock",path:{migration_id:r,repo_name:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static migrationsListReposForAuthenticatedUser(r,e=30,n=1){return o(i,{method:"GET",url:"/user/migrations/{migration_id}/repositories",path:{migration_id:r},query:{per_page:e,page:n},errors:{404:"Resource not found"}})}};var Ir=class{static oidcGetOidcCustomSubTemplateForOrg(r){return o(i,{method:"GET",url:"/orgs/{org}/actions/oidc/customization/sub",path:{org:r}})}static oidcUpdateOidcCustomSubTemplateForOrg(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/actions/oidc/customization/sub",path:{org:r},body:e,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found"}})}};var Or=class{static orgsList(r,e=30){return o(i,{method:"GET",url:"/organizations",query:{since:r,per_page:e},errors:{304:"Not modified"}})}static orgsGet(r){return o(i,{method:"GET",url:"/orgs/{org}",path:{org:r},errors:{404:"Resource not found"}})}static orgsUpdate(r,e){return o(i,{method:"PATCH",url:"/orgs/{org}",path:{org:r},body:e,mediaType:"application/json",errors:{409:"Conflict",422:"Validation failed"}})}static orgsDelete(r){return o(i,{method:"DELETE",url:"/orgs/{org}",path:{org:r},errors:{403:"Forbidden",404:"Resource not found"}})}static orgsListBlockedUsers(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/blocks",path:{org:r},query:{per_page:e,page:n}})}static orgsCheckBlockedUser(r,e){return o(i,{method:"GET",url:"/orgs/{org}/blocks/{username}",path:{org:r,username:e},errors:{404:"If the user is not blocked"}})}static orgsBlockUser(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/blocks/{username}",path:{org:r,username:e},errors:{422:"Validation failed, or the endpoint has been spammed."}})}static orgsUnblockUser(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/blocks/{username}",path:{org:r,username:e}})}static orgsListFailedInvitations(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/failed_invitations",path:{org:r},query:{per_page:e,page:n},errors:{404:"Resource not found"}})}static orgsListWebhooks(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/hooks",path:{org:r},query:{per_page:e,page:n},errors:{404:"Resource not found"}})}static orgsCreateWebhook(r,e){return o(i,{method:"POST",url:"/orgs/{org}/hooks",path:{org:r},body:e,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static orgsGetWebhook(r,e){return o(i,{method:"GET",url:"/orgs/{org}/hooks/{hook_id}",path:{org:r,hook_id:e},errors:{404:"Resource not found"}})}static orgsUpdateWebhook(r,e,n){return o(i,{method:"PATCH",url:"/orgs/{org}/hooks/{hook_id}",path:{org:r,hook_id:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static orgsDeleteWebhook(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/hooks/{hook_id}",path:{org:r,hook_id:e},errors:{404:"Resource not found"}})}static orgsGetWebhookConfigForOrg(r,e){return o(i,{method:"GET",url:"/orgs/{org}/hooks/{hook_id}/config",path:{org:r,hook_id:e}})}static orgsUpdateWebhookConfigForOrg(r,e,n){return o(i,{method:"PATCH",url:"/orgs/{org}/hooks/{hook_id}/config",path:{org:r,hook_id:e},body:n,mediaType:"application/json"})}static orgsListWebhookDeliveries(r,e,n=30,s,u){return o(i,{method:"GET",url:"/orgs/{org}/hooks/{hook_id}/deliveries",path:{org:r,hook_id:e},query:{per_page:n,cursor:s,redelivery:u},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static orgsGetWebhookDelivery(r,e,n){return o(i,{method:"GET",url:"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}",path:{org:r,hook_id:e,delivery_id:n},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static orgsRedeliverWebhookDelivery(r,e,n){return o(i,{method:"POST",url:"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts",path:{org:r,hook_id:e,delivery_id:n},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static orgsPingWebhook(r,e){return o(i,{method:"POST",url:"/orgs/{org}/hooks/{hook_id}/pings",path:{org:r,hook_id:e},errors:{404:"Resource not found"}})}static orgsListAppInstallations(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/installations",path:{org:r},query:{per_page:e,page:n}})}static orgsListPendingInvitations(r,e=30,n=1,s="all",u="all"){return o(i,{method:"GET",url:"/orgs/{org}/invitations",path:{org:r},query:{per_page:e,page:n,role:s,invitation_source:u},errors:{404:"Resource not found"}})}static orgsCreateInvitation(r,e){return o(i,{method:"POST",url:"/orgs/{org}/invitations",path:{org:r},body:e,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static orgsCancelInvitation(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/invitations/{invitation_id}",path:{org:r,invitation_id:e},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static orgsListInvitationTeams(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/invitations/{invitation_id}/teams",path:{org:r,invitation_id:e},query:{per_page:n,page:s},errors:{404:"Resource not found"}})}static orgsListMembers(r,e="all",n="all",s=30,u=1){return o(i,{method:"GET",url:"/orgs/{org}/members",path:{org:r},query:{filter:e,role:n,per_page:s,page:u},errors:{422:"Validation failed, or the endpoint has been spammed."}})}static orgsCheckMembershipForUser(r,e){return o(i,{method:"GET",url:"/orgs/{org}/members/{username}",path:{org:r,username:e},errors:{302:"Response if requester is not an organization member",404:"Not Found if requester is an organization member and user is not a member"}})}static orgsRemoveMember(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/members/{username}",path:{org:r,username:e},errors:{403:"Forbidden"}})}static orgsGetMembershipForUser(r,e){return o(i,{method:"GET",url:"/orgs/{org}/memberships/{username}",path:{org:r,username:e},errors:{403:"Forbidden",404:"Resource not found"}})}static orgsSetMembershipForUser(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/memberships/{username}",path:{org:r,username:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static orgsRemoveMembershipForUser(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/memberships/{username}",path:{org:r,username:e},errors:{403:"Forbidden",404:"Resource not found"}})}static orgsListOutsideCollaborators(r,e="all",n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/outside_collaborators",path:{org:r},query:{filter:e,per_page:n,page:s}})}static orgsConvertMemberToOutsideCollaborator(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/outside_collaborators/{username}",path:{org:r,username:e},body:n,mediaType:"application/json",errors:{403:'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)."',404:"Resource not found"}})}static orgsRemoveOutsideCollaborator(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/outside_collaborators/{username}",path:{org:r,username:e},errors:{422:"Unprocessable Entity if user is a member of the organization"}})}static orgsListPatGrantRequests(r,e=30,n=1,s="created_at",u="desc",_,m,c,d,v){return o(i,{method:"GET",url:"/orgs/{org}/personal-access-token-requests",path:{org:r},query:{per_page:e,page:n,sort:s,direction:u,owner:_,repository:m,permission:c,last_used_before:d,last_used_after:v},errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static orgsReviewPatGrantRequestsInBulk(r,e){return o(i,{method:"POST",url:"/orgs/{org}/personal-access-token-requests",path:{org:r},body:e,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static orgsReviewPatGrantRequest(r,e,n){return o(i,{method:"POST",url:"/orgs/{org}/personal-access-token-requests/{pat_request_id}",path:{org:r,pat_request_id:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static orgsListPatGrantRequestRepositories(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories",path:{org:r,pat_request_id:e},query:{per_page:n,page:s},errors:{403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static orgsListPatGrants(r,e=30,n=1,s="created_at",u="desc",_,m,c,d,v){return o(i,{method:"GET",url:"/orgs/{org}/personal-access-tokens",path:{org:r},query:{per_page:e,page:n,sort:s,direction:u,owner:_,repository:m,permission:c,last_used_before:d,last_used_after:v},errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static orgsUpdatePatAccesses(r,e){return o(i,{method:"POST",url:"/orgs/{org}/personal-access-tokens",path:{org:r},body:e,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static orgsUpdatePatAccess(r,e,n){return o(i,{method:"POST",url:"/orgs/{org}/personal-access-tokens/{pat_id}",path:{org:r,pat_id:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error"}})}static orgsListPatGrantRepositories(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/personal-access-tokens/{pat_id}/repositories",path:{org:r,pat_id:e},query:{per_page:n,page:s},errors:{403:"Forbidden",404:"Resource not found",500:"Internal Error"}})}static orgsListPublicMembers(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/public_members",path:{org:r},query:{per_page:e,page:n}})}static orgsCheckPublicMembershipForUser(r,e){return o(i,{method:"GET",url:"/orgs/{org}/public_members/{username}",path:{org:r,username:e},errors:{404:"Not Found if user is not a public member"}})}static orgsSetPublicMembershipForAuthenticatedUser(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/public_members/{username}",path:{org:r,username:e},errors:{403:"Forbidden"}})}static orgsRemovePublicMembershipForAuthenticatedUser(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/public_members/{username}",path:{org:r,username:e}})}static orgsListSecurityManagerTeams(r){return o(i,{method:"GET",url:"/orgs/{org}/security-managers",path:{org:r}})}static orgsAddSecurityManagerTeam(r,e){return o(i,{method:"PUT",url:"/orgs/{org}/security-managers/teams/{team_slug}",path:{org:r,team_slug:e},errors:{409:"The organization has reached the maximum number of security manager teams."}})}static orgsRemoveSecurityManagerTeam(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/security-managers/teams/{team_slug}",path:{org:r,team_slug:e}})}static orgsEnableOrDisableSecurityProductOnAllOrgRepos(r,e,n,s){return o(i,{method:"POST",url:"/orgs/{org}/{security_product}/{enablement}",path:{org:r,security_product:e,enablement:n},body:s,mediaType:"application/json",errors:{422:"The action could not be taken due to an in progress enablement, or a policy is preventing enablement"}})}static orgsListMembershipsForAuthenticatedUser(r,e=30,n=1){return o(i,{method:"GET",url:"/user/memberships/orgs",query:{state:r,per_page:e,page:n},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static orgsGetMembershipForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/memberships/orgs/{org}",path:{org:r},errors:{403:"Forbidden",404:"Resource not found"}})}static orgsUpdateMembershipForAuthenticatedUser(r,e){return o(i,{method:"PATCH",url:"/user/memberships/orgs/{org}",path:{org:r},body:e,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static orgsListForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/orgs",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static orgsListForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/orgs",path:{username:r},query:{per_page:e,page:n}})}};var Nr=class{static packagesListDockerMigrationConflictingPackagesForOrganization(r){return o(i,{method:"GET",url:"/orgs/{org}/docker/conflicts",path:{org:r},errors:{401:"Requires authentication",403:"Forbidden"}})}static packagesListPackagesForOrganization(r,e,n,s=1,u=30){return o(i,{method:"GET",url:"/orgs/{org}/packages",path:{org:e},query:{package_type:r,visibility:n,page:s,per_page:u},errors:{400:"The value of `per_page` multiplied by `page` cannot be greater than 10000.",401:"Requires authentication",403:"Forbidden"}})}static packagesGetPackageForOrganization(r,e,n){return o(i,{method:"GET",url:"/orgs/{org}/packages/{package_type}/{package_name}",path:{package_type:r,package_name:e,org:n}})}static packagesDeletePackageForOrg(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/packages/{package_type}/{package_name}",path:{package_type:r,package_name:e,org:n},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesRestorePackageForOrg(r,e,n,s){return o(i,{method:"POST",url:"/orgs/{org}/packages/{package_type}/{package_name}/restore",path:{package_type:r,package_name:e,org:n},query:{token:s},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesGetAllPackageVersionsForPackageOwnedByOrg(r,e,n,s=1,u=30,_="active"){return o(i,{method:"GET",url:"/orgs/{org}/packages/{package_type}/{package_name}/versions",path:{package_type:r,package_name:e,org:n},query:{page:s,per_page:u,state:_},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesGetPackageVersionForOrganization(r,e,n,s){return o(i,{method:"GET",url:"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}",path:{package_type:r,package_name:e,org:n,package_version_id:s}})}static packagesDeletePackageVersionForOrg(r,e,n,s){return o(i,{method:"DELETE",url:"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}",path:{package_type:r,package_name:e,org:n,package_version_id:s},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesRestorePackageVersionForOrg(r,e,n,s){return o(i,{method:"POST",url:"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore",path:{package_type:r,package_name:e,org:n,package_version_id:s},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesListDockerMigrationConflictingPackagesForAuthenticatedUser(){return o(i,{method:"GET",url:"/user/docker/conflicts"})}static packagesListPackagesForAuthenticatedUser(r,e,n=1,s=30){return o(i,{method:"GET",url:"/user/packages",query:{package_type:r,visibility:e,page:n,per_page:s},errors:{400:"The value of `per_page` multiplied by `page` cannot be greater than 10000."}})}static packagesGetPackageForAuthenticatedUser(r,e){return o(i,{method:"GET",url:"/user/packages/{package_type}/{package_name}",path:{package_type:r,package_name:e}})}static packagesDeletePackageForAuthenticatedUser(r,e){return o(i,{method:"DELETE",url:"/user/packages/{package_type}/{package_name}",path:{package_type:r,package_name:e},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesRestorePackageForAuthenticatedUser(r,e,n){return o(i,{method:"POST",url:"/user/packages/{package_type}/{package_name}/restore",path:{package_type:r,package_name:e},query:{token:n},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUser(r,e,n=1,s=30,u="active"){return o(i,{method:"GET",url:"/user/packages/{package_type}/{package_name}/versions",path:{package_type:r,package_name:e},query:{page:n,per_page:s,state:u},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesGetPackageVersionForAuthenticatedUser(r,e,n){return o(i,{method:"GET",url:"/user/packages/{package_type}/{package_name}/versions/{package_version_id}",path:{package_type:r,package_name:e,package_version_id:n}})}static packagesDeletePackageVersionForAuthenticatedUser(r,e,n){return o(i,{method:"DELETE",url:"/user/packages/{package_type}/{package_name}/versions/{package_version_id}",path:{package_type:r,package_name:e,package_version_id:n},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesRestorePackageVersionForAuthenticatedUser(r,e,n){return o(i,{method:"POST",url:"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore",path:{package_type:r,package_name:e,package_version_id:n},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesListDockerMigrationConflictingPackagesForUser(r){return o(i,{method:"GET",url:"/users/{username}/docker/conflicts",path:{username:r},errors:{401:"Requires authentication",403:"Forbidden"}})}static packagesListPackagesForUser(r,e,n,s=1,u=30){return o(i,{method:"GET",url:"/users/{username}/packages",path:{username:e},query:{package_type:r,visibility:n,page:s,per_page:u},errors:{400:"The value of `per_page` multiplied by `page` cannot be greater than 10000.",401:"Requires authentication",403:"Forbidden"}})}static packagesGetPackageForUser(r,e,n){return o(i,{method:"GET",url:"/users/{username}/packages/{package_type}/{package_name}",path:{package_type:r,package_name:e,username:n}})}static packagesDeletePackageForUser(r,e,n){return o(i,{method:"DELETE",url:"/users/{username}/packages/{package_type}/{package_name}",path:{package_type:r,package_name:e,username:n},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesRestorePackageForUser(r,e,n,s){return o(i,{method:"POST",url:"/users/{username}/packages/{package_type}/{package_name}/restore",path:{package_type:r,package_name:e,username:n},query:{token:s},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesGetAllPackageVersionsForPackageOwnedByUser(r,e,n){return o(i,{method:"GET",url:"/users/{username}/packages/{package_type}/{package_name}/versions",path:{package_type:r,package_name:e,username:n},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesGetPackageVersionForUser(r,e,n,s){return o(i,{method:"GET",url:"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}",path:{package_type:r,package_name:e,package_version_id:n,username:s}})}static packagesDeletePackageVersionForUser(r,e,n,s){return o(i,{method:"DELETE",url:"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}",path:{package_type:r,package_name:e,username:n,package_version_id:s},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static packagesRestorePackageVersionForUser(r,e,n,s){return o(i,{method:"POST",url:"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore",path:{package_type:r,package_name:e,username:n,package_version_id:s},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}};var zr=class{static projectsListForOrg(r,e="open",n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/projects",path:{org:r},query:{state:e,per_page:n,page:s},errors:{422:"Validation failed, or the endpoint has been spammed."}})}static projectsCreateForOrg(r,e){return o(i,{method:"POST",url:"/orgs/{org}/projects",path:{org:r},body:e,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed."}})}static projectsGetCard(r){return o(i,{method:"GET",url:"/projects/columns/cards/{card_id}",path:{card_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static projectsUpdateCard(r,e){return o(i,{method:"PATCH",url:"/projects/columns/cards/{card_id}",path:{card_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static projectsDeleteCard(r){return o(i,{method:"DELETE",url:"/projects/columns/cards/{card_id}",path:{card_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static projectsMoveCard(r,e){return o(i,{method:"POST",url:"/projects/columns/cards/{card_id}/moves",path:{card_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed.",503:"Response"}})}static projectsGetColumn(r){return o(i,{method:"GET",url:"/projects/columns/{column_id}",path:{column_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static projectsUpdateColumn(r,e){return o(i,{method:"PATCH",url:"/projects/columns/{column_id}",path:{column_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static projectsDeleteColumn(r){return o(i,{method:"DELETE",url:"/projects/columns/{column_id}",path:{column_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static projectsListCards(r,e="not_archived",n=30,s=1){return o(i,{method:"GET",url:"/projects/columns/{column_id}/cards",path:{column_id:r},query:{archived_state:e,per_page:n,page:s},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static projectsCreateCard(r,e){return o(i,{method:"POST",url:"/projects/columns/{column_id}/cards",path:{column_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed",503:"Response"}})}static projectsMoveColumn(r,e){return o(i,{method:"POST",url:"/projects/columns/{column_id}/moves",path:{column_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static projectsGet(r){return o(i,{method:"GET",url:"/projects/{project_id}",path:{project_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static projectsUpdate(r,e){return o(i,{method:"PATCH",url:"/projects/{project_id}",path:{project_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Not Found if the authenticated user does not have access to the project",410:"Gone",422:"Validation failed, or the endpoint has been spammed."}})}static projectsDelete(r){return o(i,{method:"DELETE",url:"/projects/{project_id}",path:{project_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",410:"Gone"}})}static projectsListCollaborators(r,e="all",n=30,s=1){return o(i,{method:"GET",url:"/projects/{project_id}/collaborators",path:{project_id:r},query:{affiliation:e,per_page:n,page:s},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static projectsAddCollaborator(r,e,n){return o(i,{method:"PUT",url:"/projects/{project_id}/collaborators/{username}",path:{project_id:r,username:e},body:n,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static projectsRemoveCollaborator(r,e){return o(i,{method:"DELETE",url:"/projects/{project_id}/collaborators/{username}",path:{project_id:r,username:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static projectsGetPermissionForUser(r,e){return o(i,{method:"GET",url:"/projects/{project_id}/collaborators/{username}/permission",path:{project_id:r,username:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static projectsListColumns(r,e=30,n=1){return o(i,{method:"GET",url:"/projects/{project_id}/columns",path:{project_id:r},query:{per_page:e,page:n},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static projectsCreateColumn(r,e){return o(i,{method:"POST",url:"/projects/{project_id}/columns",path:{project_id:r},body:e,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static projectsListForRepo(r,e,n="open",s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/projects",path:{owner:r,repo:e},query:{state:n,per_page:s,page:u},errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed."}})}static projectsCreateForRepo(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/projects",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{401:"Requires authentication",403:"Forbidden",404:"Resource not found",410:"Gone",422:"Validation failed, or the endpoint has been spammed."}})}static projectsCreateForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/projects",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static projectsListForUser(r,e="open",n=30,s=1){return o(i,{method:"GET",url:"/users/{username}/projects",path:{username:r},query:{state:e,per_page:n,page:s},errors:{422:"Validation failed, or the endpoint has been spammed."}})}};var Pr=class{static pullsList(r,e,n="open",s,u,_="created",m,c=30,d=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls",path:{owner:r,repo:e},query:{state:n,head:s,base:u,sort:_,direction:m,per_page:c,page:d},errors:{304:"Not modified",422:"Validation failed, or the endpoint has been spammed."}})}static pullsCreate(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pulls",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static pullsListReviewCommentsForRepo(r,e,n,s,u,_=30,m=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/comments",path:{owner:r,repo:e},query:{sort:n,direction:s,since:u,per_page:_,page:m}})}static pullsGetReviewComment(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n},errors:{404:"Resource not found"}})}static pullsUpdateReviewComment(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/pulls/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n},body:s,mediaType:"application/json"})}static pullsDeleteReviewComment(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/pulls/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n},errors:{404:"Resource not found"}})}static pullsGet(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}",path:{owner:r,repo:e,pull_number:n},errors:{304:"Not modified",404:"Resource not found",500:"Internal Error",503:"Service unavailable"}})}static pullsUpdate(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/pulls/{pull_number}",path:{owner:r,repo:e,pull_number:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static pullsListReviewComments(r,e,n,s="created",u,_,m=30,c=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}/comments",path:{owner:r,repo:e,pull_number:n},query:{sort:s,direction:u,since:_,per_page:m,page:c}})}static pullsCreateReviewComment(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pulls/{pull_number}/comments",path:{owner:r,repo:e,pull_number:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static pullsCreateReplyForReviewComment(r,e,n,s,u){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies",path:{owner:r,repo:e,pull_number:n,comment_id:s},body:u,mediaType:"application/json",errors:{404:"Resource not found"}})}static pullsListCommits(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}/commits",path:{owner:r,repo:e,pull_number:n},query:{per_page:s,page:u}})}static pullsListFiles(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}/files",path:{owner:r,repo:e,pull_number:n},query:{per_page:s,page:u},errors:{422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error",503:"Service unavailable"}})}static pullsCheckIfMerged(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}/merge",path:{owner:r,repo:e,pull_number:n},errors:{404:"Not Found if pull request has not been merged"}})}static pullsMerge(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/pulls/{pull_number}/merge",path:{owner:r,repo:e,pull_number:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",405:"Method Not Allowed if merge cannot be performed",409:"Conflict if sha was provided and pull request head did not match",422:"Validation failed, or the endpoint has been spammed."}})}static pullsListRequestedReviewers(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers",path:{owner:r,repo:e,pull_number:n}})}static pullsRequestReviewers(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers",path:{owner:r,repo:e,pull_number:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",422:"Unprocessable Entity if user is not a collaborator"}})}static pullsRemoveRequestedReviewers(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers",path:{owner:r,repo:e,pull_number:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static pullsListReviews(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}/reviews",path:{owner:r,repo:e,pull_number:n},query:{per_page:s,page:u}})}static pullsCreateReview(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pulls/{pull_number}/reviews",path:{owner:r,repo:e,pull_number:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static pullsGetReview(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}",path:{owner:r,repo:e,pull_number:n,review_id:s},errors:{404:"Resource not found"}})}static pullsUpdateReview(r,e,n,s,u){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}",path:{owner:r,repo:e,pull_number:n,review_id:s},body:u,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static pullsDeletePendingReview(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}",path:{owner:r,repo:e,pull_number:n,review_id:s},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static pullsListCommentsForReview(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",path:{owner:r,repo:e,pull_number:n,review_id:s},query:{per_page:u,page:_},errors:{404:"Resource not found"}})}static pullsDismissReview(r,e,n,s,u){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals",path:{owner:r,repo:e,pull_number:n,review_id:s},body:u,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static pullsSubmitReview(r,e,n,s,u){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events",path:{owner:r,repo:e,pull_number:n,review_id:s},body:u,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static pullsUpdateBranch(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch",path:{owner:r,repo:e,pull_number:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}};var Cr=class{static rateLimitGet(){return o(i,{method:"GET",url:"/rate_limit",errors:{304:"Not modified",404:"Resource not found"}})}};var Dr=class{static reactionsListForTeamDiscussionCommentInOrg(r,e,n,s,u,_=30,m=1){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",path:{org:r,team_slug:e,discussion_number:n,comment_number:s},query:{content:u,per_page:_,page:m}})}static reactionsCreateForTeamDiscussionCommentInOrg(r,e,n,s,u){return o(i,{method:"POST",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",path:{org:r,team_slug:e,discussion_number:n,comment_number:s},body:u,mediaType:"application/json"})}static reactionsDeleteForTeamDiscussionComment(r,e,n,s,u){return o(i,{method:"DELETE",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}",path:{org:r,team_slug:e,discussion_number:n,comment_number:s,reaction_id:u}})}static reactionsListForTeamDiscussionInOrg(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",path:{org:r,team_slug:e,discussion_number:n},query:{content:s,per_page:u,page:_}})}static reactionsCreateForTeamDiscussionInOrg(r,e,n,s){return o(i,{method:"POST",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",path:{org:r,team_slug:e,discussion_number:n},body:s,mediaType:"application/json"})}static reactionsDeleteForTeamDiscussion(r,e,n,s){return o(i,{method:"DELETE",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}",path:{org:r,team_slug:e,discussion_number:n,reaction_id:s}})}static reactionsListForCommitComment(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/comments/{comment_id}/reactions",path:{owner:r,repo:e,comment_id:n},query:{content:s,per_page:u,page:_},errors:{404:"Resource not found"}})}static reactionsCreateForCommitComment(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/comments/{comment_id}/reactions",path:{owner:r,repo:e,comment_id:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reactionsDeleteForCommitComment(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}",path:{owner:r,repo:e,comment_id:n,reaction_id:s}})}static reactionsListForIssueComment(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",path:{owner:r,repo:e,comment_id:n},query:{content:s,per_page:u,page:_},errors:{404:"Resource not found"}})}static reactionsCreateForIssueComment(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",path:{owner:r,repo:e,comment_id:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reactionsDeleteForIssueComment(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}",path:{owner:r,repo:e,comment_id:n,reaction_id:s}})}static reactionsListForIssue(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/issues/{issue_number}/reactions",path:{owner:r,repo:e,issue_number:n},query:{content:s,per_page:u,page:_},errors:{404:"Resource not found",410:"Gone"}})}static reactionsCreateForIssue(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/issues/{issue_number}/reactions",path:{owner:r,repo:e,issue_number:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reactionsDeleteForIssue(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}",path:{owner:r,repo:e,issue_number:n,reaction_id:s}})}static reactionsListForPullRequestReviewComment(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",path:{owner:r,repo:e,comment_id:n},query:{content:s,per_page:u,page:_},errors:{404:"Resource not found"}})}static reactionsCreateForPullRequestReviewComment(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",path:{owner:r,repo:e,comment_id:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reactionsDeleteForPullRequestComment(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}",path:{owner:r,repo:e,comment_id:n,reaction_id:s}})}static reactionsListForRelease(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/releases/{release_id}/reactions",path:{owner:r,repo:e,release_id:n},query:{content:s,per_page:u,page:_},errors:{404:"Resource not found"}})}static reactionsCreateForRelease(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/releases/{release_id}/reactions",path:{owner:r,repo:e,release_id:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reactionsDeleteForRelease(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}",path:{owner:r,repo:e,release_id:n,reaction_id:s}})}static reactionsListForTeamDiscussionCommentLegacy(r,e,n,s,u=30,_=1){return o(i,{method:"GET",url:"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",path:{team_id:r,discussion_number:e,comment_number:n},query:{content:s,per_page:u,page:_}})}static reactionsCreateForTeamDiscussionCommentLegacy(r,e,n,s){return o(i,{method:"POST",url:"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",path:{team_id:r,discussion_number:e,comment_number:n},body:s,mediaType:"application/json"})}static reactionsListForTeamDiscussionLegacy(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/teams/{team_id}/discussions/{discussion_number}/reactions",path:{team_id:r,discussion_number:e},query:{content:n,per_page:s,page:u}})}static reactionsCreateForTeamDiscussionLegacy(r,e,n){return o(i,{method:"POST",url:"/teams/{team_id}/discussions/{discussion_number}/reactions",path:{team_id:r,discussion_number:e},body:n,mediaType:"application/json"})}};var qr=class{static reposListForOrg(r,e="all",n="created",s,u=30,_=1){return o(i,{method:"GET",url:"/orgs/{org}/repos",path:{org:r},query:{type:e,sort:n,direction:s,per_page:u,page:_}})}static reposCreateInOrg(r,e){return o(i,{method:"POST",url:"/orgs/{org}/repos",path:{org:r},body:e,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetOrgRulesets(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/rulesets",path:{org:r},query:{per_page:e,page:n},errors:{404:"Resource not found",500:"Internal Error"}})}static reposCreateOrgRuleset(r,e){return o(i,{method:"POST",url:"/orgs/{org}/rulesets",path:{org:r},body:e,mediaType:"application/json",errors:{404:"Resource not found",500:"Internal Error"}})}static reposGetOrgRuleset(r,e){return o(i,{method:"GET",url:"/orgs/{org}/rulesets/{ruleset_id}",path:{org:r,ruleset_id:e},errors:{404:"Resource not found",500:"Internal Error"}})}static reposUpdateOrgRuleset(r,e,n){return o(i,{method:"PUT",url:"/orgs/{org}/rulesets/{ruleset_id}",path:{org:r,ruleset_id:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",500:"Internal Error"}})}static reposDeleteOrgRuleset(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/rulesets/{ruleset_id}",path:{org:r,ruleset_id:e},errors:{404:"Resource not found",500:"Internal Error"}})}static reposGet(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}",path:{owner:r,repo:e},errors:{301:"Moved permanently",403:"Forbidden",404:"Resource not found"}})}static reposUpdate(r,e,n){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{307:"Temporary Redirect",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposDelete(r,e){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}",path:{owner:r,repo:e},errors:{307:"Temporary Redirect",403:"If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response:",404:"Resource not found"}})}static reposListActivities(r,e,n="desc",s=30,u,_,m,c,d,v){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/activity",path:{owner:r,repo:e},query:{direction:n,per_page:s,before:u,after:_,ref:m,actor:c,time_period:d,activity_type:v},errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposListAutolinks(r,e,n=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/autolinks",path:{owner:r,repo:e},query:{page:n}})}static reposCreateAutolink(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/autolinks",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposGetAutolink(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/autolinks/{autolink_id}",path:{owner:r,repo:e,autolink_id:n},errors:{404:"Resource not found"}})}static reposDeleteAutolink(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/autolinks/{autolink_id}",path:{owner:r,repo:e,autolink_id:n},errors:{404:"Resource not found"}})}static reposCheckAutomatedSecurityFixes(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/automated-security-fixes",path:{owner:r,repo:e},errors:{404:"Not Found if dependabot is not enabled for the repository"}})}static reposEnableAutomatedSecurityFixes(r,e){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/automated-security-fixes",path:{owner:r,repo:e}})}static reposDisableAutomatedSecurityFixes(r,e){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/automated-security-fixes",path:{owner:r,repo:e}})}static reposListBranches(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches",path:{owner:r,repo:e},query:{protected:n,per_page:s,page:u},errors:{404:"Resource not found"}})}static reposGetBranch(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}",path:{owner:r,repo:e,branch:n},errors:{301:"Moved permanently",404:"Resource not found"}})}static reposGetBranchProtection(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposUpdateBranchProtection(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/branches/{branch}/protection",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposDeleteBranchProtection(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection",path:{owner:r,repo:e,branch:n},errors:{403:"Forbidden"}})}static reposGetAdminBranchProtection(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins",path:{owner:r,repo:e,branch:n}})}static reposSetAdminBranchProtection(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins",path:{owner:r,repo:e,branch:n}})}static reposDeleteAdminBranchProtection(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposGetPullRequestReviewProtection(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews",path:{owner:r,repo:e,branch:n}})}static reposUpdatePullRequestReviewProtection(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposDeletePullRequestReviewProtection(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposGetCommitSignatureProtection(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposCreateCommitSignatureProtection(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposDeleteCommitSignatureProtection(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposGetStatusChecksProtection(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposUpdateStatusCheckProtection(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposRemoveStatusCheckProtection(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",path:{owner:r,repo:e,branch:n}})}static reposGetAllStatusCheckContexts(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposAddStatusCheckContexts(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposSetStatusCheckContexts(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposRemoveStatusCheckContexts(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetAccessRestrictions(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposDeleteAccessRestrictions(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions",path:{owner:r,repo:e,branch:n}})}static reposGetAppsWithAccessToProtectedBranch(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposAddAppAccessRestrictions(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposSetAppAccessRestrictions(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposRemoveAppAccessRestrictions(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposGetTeamsWithAccessToProtectedBranch(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposAddTeamAccessRestrictions(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposSetTeamAccessRestrictions(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposRemoveTeamAccessRestrictions(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposGetUsersWithAccessToProtectedBranch(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",path:{owner:r,repo:e,branch:n},errors:{404:"Resource not found"}})}static reposAddUserAccessRestrictions(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposSetUserAccessRestrictions(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposRemoveUserAccessRestrictions(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposRenameBranch(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/branches/{branch}/rename",path:{owner:r,repo:e,branch:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposCodeownersErrors(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/codeowners/errors",path:{owner:r,repo:e},query:{ref:n},errors:{404:"Resource not found"}})}static reposListCollaborators(r,e,n="all",s,u=30,_=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/collaborators",path:{owner:r,repo:e},query:{affiliation:n,permission:s,per_page:u,page:_},errors:{404:"Resource not found"}})}static reposCheckCollaborator(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/collaborators/{username}",path:{owner:r,repo:e,username:n},errors:{404:"Not Found if user is not a collaborator"}})}static reposAddCollaborator(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/collaborators/{username}",path:{owner:r,repo:e,username:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static reposRemoveCollaborator(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/collaborators/{username}",path:{owner:r,repo:e,username:n},errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetCollaboratorPermissionLevel(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/collaborators/{username}/permission",path:{owner:r,repo:e,username:n},errors:{404:"Resource not found"}})}static reposListCommitCommentsForRepo(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/comments",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static reposGetCommitComment(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n},errors:{404:"Resource not found"}})}static reposUpdateCommitComment(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n},body:s,mediaType:"application/json",errors:{404:"Resource not found"}})}static reposDeleteCommitComment(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/comments/{comment_id}",path:{owner:r,repo:e,comment_id:n},errors:{404:"Resource not found"}})}static reposListCommits(r,e,n,s,u,_,m,c,d=30,v=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits",path:{owner:r,repo:e},query:{sha:n,path:s,author:u,committer:_,since:m,until:c,per_page:d,page:v},errors:{400:"Bad Request",404:"Resource not found",409:"Conflict",500:"Internal Error"}})}static reposListBranchesForHeadCommit(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head",path:{owner:r,repo:e,commit_sha:n},errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposListCommentsForCommit(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits/{commit_sha}/comments",path:{owner:r,repo:e,commit_sha:n},query:{per_page:s,page:u}})}static reposCreateCommitComment(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/commits/{commit_sha}/comments",path:{owner:r,repo:e,commit_sha:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static reposListPullRequestsAssociatedWithCommit(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits/{commit_sha}/pulls",path:{owner:r,repo:e,commit_sha:n},query:{per_page:s,page:u}})}static reposGetCommit(r,e,n,s=1,u=30){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits/{ref}",path:{owner:r,repo:e,ref:n},query:{page:s,per_page:u},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed.",500:"Internal Error",503:"Service unavailable"}})}static reposGetCombinedStatusForRef(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits/{ref}/status",path:{owner:r,repo:e,ref:n},query:{per_page:s,page:u},errors:{404:"Resource not found"}})}static reposListCommitStatusesForRef(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/commits/{ref}/statuses",path:{owner:r,repo:e,ref:n},query:{per_page:s,page:u},errors:{301:"Moved permanently"}})}static reposGetCommunityProfileMetrics(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/community/profile",path:{owner:r,repo:e}})}static reposCompareCommits(r,e,n,s=1,u=30){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/compare/{basehead}",path:{owner:r,repo:e,basehead:n},query:{page:s,per_page:u},errors:{404:"Resource not found",500:"Internal Error",503:"Service unavailable"}})}static reposGetContent(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/contents/{path}",path:{owner:r,repo:e,path:n},query:{ref:s},errors:{302:"Found",403:"Forbidden",404:"Resource not found"}})}static reposCreateOrUpdateFileContents(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/contents/{path}",path:{owner:r,repo:e,path:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",409:"Conflict",422:"Validation failed, or the endpoint has been spammed."}})}static reposDeleteFile(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/contents/{path}",path:{owner:r,repo:e,path:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",409:"Conflict",422:"Validation failed, or the endpoint has been spammed.",503:"Service unavailable"}})}static reposListContributors(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/contributors",path:{owner:r,repo:e},query:{anon:n,per_page:s,page:u},errors:{403:"Forbidden",404:"Resource not found"}})}static reposListDeployments(r,e,n="none",s="none",u="none",_="none",m=30,c=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/deployments",path:{owner:r,repo:e},query:{sha:n,ref:s,task:u,environment:_,per_page:m,page:c}})}static reposCreateDeployment(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/deployments",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{409:"Conflict when there is a merge conflict or the commit's status checks failed",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetDeployment(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/deployments/{deployment_id}",path:{owner:r,repo:e,deployment_id:n},errors:{404:"Resource not found"}})}static reposDeleteDeployment(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/deployments/{deployment_id}",path:{owner:r,repo:e,deployment_id:n},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposListDeploymentStatuses(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses",path:{owner:r,repo:e,deployment_id:n},query:{per_page:s,page:u},errors:{404:"Resource not found"}})}static reposCreateDeploymentStatus(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses",path:{owner:r,repo:e,deployment_id:n},body:s,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposGetDeploymentStatus(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}",path:{owner:r,repo:e,deployment_id:n,status_id:s},errors:{404:"Resource not found"}})}static reposCreateDispatchEvent(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/dispatches",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposGetAllEnvironments(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/environments",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static reposGetEnvironment(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/environments/{environment_name}",path:{owner:r,repo:e,environment_name:n}})}static reposCreateOrUpdateEnvironment(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/environments/{environment_name}",path:{owner:r,repo:e,environment_name:n},body:s,mediaType:"application/json",errors:{422:"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"}})}static reposDeleteAnEnvironment(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/environments/{environment_name}",path:{owner:r,repo:e,environment_name:n}})}static reposListDeploymentBranchPolicies(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",path:{owner:r,repo:e,environment_name:n},query:{per_page:s,page:u}})}static reposCreateDeploymentBranchPolicy(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",path:{owner:r,repo:e,environment_name:n},body:s,mediaType:"application/json",errors:{303:"Response if the same branch name pattern already exists",404:"Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false"}})}static reposGetDeploymentBranchPolicy(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}",path:{owner:r,repo:e,environment_name:n,branch_policy_id:s}})}static reposUpdateDeploymentBranchPolicy(r,e,n,s,u){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}",path:{owner:r,repo:e,environment_name:n,branch_policy_id:s},body:u,mediaType:"application/json"})}static reposDeleteDeploymentBranchPolicy(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}",path:{owner:r,repo:e,environment_name:n,branch_policy_id:s}})}static reposGetAllDeploymentProtectionRules(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules",path:{environment_name:r,repo:e,owner:n}})}static reposCreateDeploymentProtectionRule(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules",path:{environment_name:r,repo:e,owner:n},body:s,mediaType:"application/json"})}static reposListCustomDeploymentRuleIntegrations(r,e,n,s=1,u=30){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps",path:{environment_name:r,repo:e,owner:n},query:{page:s,per_page:u}})}static reposGetCustomDeploymentProtectionRule(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}",path:{owner:r,repo:e,environment_name:n,protection_rule_id:s}})}static reposDisableDeploymentProtectionRule(r,e,n,s){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}",path:{environment_name:r,repo:e,owner:n,protection_rule_id:s}})}static reposListForks(r,e,n="newest",s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/forks",path:{owner:r,repo:e},query:{sort:n,per_page:s,page:u},errors:{400:"Bad Request"}})}static reposCreateFork(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/forks",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{400:"Bad Request",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposListWebhooks(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/hooks",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{404:"Resource not found"}})}static reposCreateWebhook(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/hooks",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetWebhook(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/hooks/{hook_id}",path:{owner:r,repo:e,hook_id:n},errors:{404:"Resource not found"}})}static reposUpdateWebhook(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/hooks/{hook_id}",path:{owner:r,repo:e,hook_id:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposDeleteWebhook(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/hooks/{hook_id}",path:{owner:r,repo:e,hook_id:n},errors:{404:"Resource not found"}})}static reposGetWebhookConfigForRepo(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/hooks/{hook_id}/config",path:{owner:r,repo:e,hook_id:n}})}static reposUpdateWebhookConfigForRepo(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/hooks/{hook_id}/config",path:{owner:r,repo:e,hook_id:n},body:s,mediaType:"application/json"})}static reposListWebhookDeliveries(r,e,n,s=30,u,_){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries",path:{owner:r,repo:e,hook_id:n},query:{per_page:s,cursor:u,redelivery:_},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetWebhookDelivery(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}",path:{owner:r,repo:e,hook_id:n,delivery_id:s},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static reposRedeliverWebhookDelivery(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts",path:{owner:r,repo:e,hook_id:n,delivery_id:s},errors:{400:"Bad Request",422:"Validation failed, or the endpoint has been spammed."}})}static reposPingWebhook(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/hooks/{hook_id}/pings",path:{owner:r,repo:e,hook_id:n},errors:{404:"Resource not found"}})}static reposTestPushWebhook(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/hooks/{hook_id}/tests",path:{owner:r,repo:e,hook_id:n},errors:{404:"Resource not found"}})}static reposListInvitations(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/invitations",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static reposUpdateInvitation(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/invitations/{invitation_id}",path:{owner:r,repo:e,invitation_id:n},body:s,mediaType:"application/json"})}static reposDeleteInvitation(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/invitations/{invitation_id}",path:{owner:r,repo:e,invitation_id:n}})}static reposListDeployKeys(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/keys",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static reposCreateDeployKey(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/keys",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{422:"Validation failed, or the endpoint has been spammed."}})}static reposGetDeployKey(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/keys/{key_id}",path:{owner:r,repo:e,key_id:n},errors:{404:"Resource not found"}})}static reposDeleteDeployKey(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/keys/{key_id}",path:{owner:r,repo:e,key_id:n}})}static reposListLanguages(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/languages",path:{owner:r,repo:e}})}static reposEnableLfsForRepo(r,e){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/lfs",path:{owner:r,repo:e},errors:{403:`We will return a 403 with one of the following messages: - - - Git LFS support not enabled because Git LFS is globally disabled. - - Git LFS support not enabled because Git LFS is disabled for the root repository in the network. - - Git LFS support not enabled because Git LFS is disabled for .`}})}static reposDisableLfsForRepo(r,e){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/lfs",path:{owner:r,repo:e}})}static reposMergeUpstream(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/merge-upstream",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{409:"The branch could not be synced because of a merge conflict",422:"The branch could not be synced for some other reason"}})}static reposMerge(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/merges",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Not Found when the base or head does not exist",409:"Conflict when there is a merge conflict",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetPages(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pages",path:{owner:r,repo:e},errors:{404:"Resource not found"}})}static reposCreatePagesSite(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pages",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{409:"Conflict",422:"Validation failed, or the endpoint has been spammed."}})}static reposUpdateInformationAboutPagesSite(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/pages",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{400:"Bad Request",409:"Conflict",422:"Validation failed, or the endpoint has been spammed."}})}static reposDeletePagesSite(r,e){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/pages",path:{owner:r,repo:e},errors:{404:"Resource not found",409:"Conflict",422:"Validation failed, or the endpoint has been spammed."}})}static reposListPagesBuilds(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pages/builds",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static reposRequestPagesBuild(r,e){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pages/builds",path:{owner:r,repo:e}})}static reposGetLatestPagesBuild(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pages/builds/latest",path:{owner:r,repo:e}})}static reposGetPagesBuild(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pages/builds/{build_id}",path:{owner:r,repo:e,build_id:n}})}static reposCreatePagesDeployment(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/pages/deployment",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{400:"Bad Request",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetPagesHealthCheck(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/pages/health",path:{owner:r,repo:e},errors:{400:"Custom domains are not available for GitHub Pages",404:"Resource not found",422:"There isn't a CNAME for this page"}})}static reposGetReadme(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/readme",path:{owner:r,repo:e},query:{ref:n},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetReadmeInDirectory(r,e,n,s){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/readme/{dir}",path:{owner:r,repo:e,dir:n},query:{ref:s},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposListReleases(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/releases",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{404:"Resource not found"}})}static reposCreateRelease(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/releases",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Not Found if the discussion category name is invalid",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetReleaseAsset(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/releases/assets/{asset_id}",path:{owner:r,repo:e,asset_id:n},errors:{302:"Found",404:"Resource not found"}})}static reposUpdateReleaseAsset(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/releases/assets/{asset_id}",path:{owner:r,repo:e,asset_id:n},body:s,mediaType:"application/json"})}static reposDeleteReleaseAsset(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/releases/assets/{asset_id}",path:{owner:r,repo:e,asset_id:n}})}static reposGenerateReleaseNotes(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/releases/generate-notes",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Resource not found"}})}static reposGetLatestRelease(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/releases/latest",path:{owner:r,repo:e}})}static reposGetReleaseByTag(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/releases/tags/{tag}",path:{owner:r,repo:e,tag:n},errors:{404:"Resource not found"}})}static reposGetRelease(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/releases/{release_id}",path:{owner:r,repo:e,release_id:n},errors:{401:"Unauthorized"}})}static reposUpdateRelease(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/releases/{release_id}",path:{owner:r,repo:e,release_id:n},body:s,mediaType:"application/json",errors:{404:"Not Found if the discussion category name is invalid"}})}static reposDeleteRelease(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/releases/{release_id}",path:{owner:r,repo:e,release_id:n}})}static reposListReleaseAssets(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/releases/{release_id}/assets",path:{owner:r,repo:e,release_id:n},query:{per_page:s,page:u}})}static reposUploadReleaseAsset(r,e,n,s,u,_){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/releases/{release_id}/assets",path:{owner:r,repo:e,release_id:n},query:{name:s,label:u},body:_,mediaType:"application/octet-stream",errors:{422:"Response if you upload an asset with the same filename as another uploaded asset"}})}static reposGetBranchRules(r,e,n,s=30,u=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/rules/branches/{branch}",path:{owner:r,repo:e,branch:n},query:{per_page:s,page:u}})}static reposGetRepoRulesets(r,e,n=30,s=1,u=!0){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/rulesets",path:{owner:r,repo:e},query:{per_page:n,page:s,includes_parents:u},errors:{404:"Resource not found",500:"Internal Error"}})}static reposCreateRepoRuleset(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/rulesets",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",500:"Internal Error"}})}static reposGetRepoRuleset(r,e,n,s=!0){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/rulesets/{ruleset_id}",path:{owner:r,repo:e,ruleset_id:n},query:{includes_parents:s},errors:{404:"Resource not found",500:"Internal Error"}})}static reposUpdateRepoRuleset(r,e,n,s){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/rulesets/{ruleset_id}",path:{owner:r,repo:e,ruleset_id:n},body:s,mediaType:"application/json",errors:{404:"Resource not found",500:"Internal Error"}})}static reposDeleteRepoRuleset(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/rulesets/{ruleset_id}",path:{owner:r,repo:e,ruleset_id:n},errors:{404:"Resource not found",500:"Internal Error"}})}static reposGetCodeFrequencyStats(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/stats/code_frequency",path:{owner:r,repo:e}})}static reposGetCommitActivityStats(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/stats/commit_activity",path:{owner:r,repo:e}})}static reposGetContributorsStats(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/stats/contributors",path:{owner:r,repo:e}})}static reposGetParticipationStats(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/stats/participation",path:{owner:r,repo:e},errors:{404:"Resource not found"}})}static reposGetPunchCardStats(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/stats/punch_card",path:{owner:r,repo:e}})}static reposCreateCommitStatus(r,e,n,s){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/statuses/{sha}",path:{owner:r,repo:e,sha:n},body:s,mediaType:"application/json"})}static reposListTags(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/tags",path:{owner:r,repo:e},query:{per_page:n,page:s}})}static reposListTagProtection(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/tags/protection",path:{owner:r,repo:e},errors:{403:"Forbidden",404:"Resource not found"}})}static reposCreateTagProtection(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/tags/protection",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found"}})}static reposDeleteTagProtection(r,e,n){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}",path:{owner:r,repo:e,tag_protection_id:n},errors:{403:"Forbidden",404:"Resource not found"}})}static reposDownloadTarballArchive(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/tarball/{ref}",path:{owner:r,repo:e,ref:n},errors:{302:"Response"}})}static reposListTeams(r,e,n=30,s=1){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/teams",path:{owner:r,repo:e},query:{per_page:n,page:s},errors:{404:"Resource not found"}})}static reposGetAllTopics(r,e,n=1,s=30){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/topics",path:{owner:r,repo:e},query:{page:n,per_page:s},errors:{404:"Resource not found"}})}static reposReplaceAllTopics(r,e,n){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/topics",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposGetClones(r,e,n="day"){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/traffic/clones",path:{owner:r,repo:e},query:{per:n},errors:{403:"Forbidden"}})}static reposGetTopPaths(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/traffic/popular/paths",path:{owner:r,repo:e},errors:{403:"Forbidden"}})}static reposGetTopReferrers(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/traffic/popular/referrers",path:{owner:r,repo:e},errors:{403:"Forbidden"}})}static reposGetViews(r,e,n="day"){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/traffic/views",path:{owner:r,repo:e},query:{per:n},errors:{403:"Forbidden"}})}static reposTransfer(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/transfer",path:{owner:r,repo:e},body:n,mediaType:"application/json"})}static reposCheckVulnerabilityAlerts(r,e){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/vulnerability-alerts",path:{owner:r,repo:e},errors:{404:"Not Found if repository is not enabled with vulnerability alerts"}})}static reposEnableVulnerabilityAlerts(r,e){return o(i,{method:"PUT",url:"/repos/{owner}/{repo}/vulnerability-alerts",path:{owner:r,repo:e}})}static reposDisableVulnerabilityAlerts(r,e){return o(i,{method:"DELETE",url:"/repos/{owner}/{repo}/vulnerability-alerts",path:{owner:r,repo:e}})}static reposDownloadZipballArchive(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/zipball/{ref}",path:{owner:r,repo:e,ref:n},errors:{302:"Response"}})}static reposCreateUsingTemplate(r,e,n){return o(i,{method:"POST",url:"/repos/{template_owner}/{template_repo}/generate",path:{template_owner:r,template_repo:e},body:n,mediaType:"application/json"})}static reposListPublic(r){return o(i,{method:"GET",url:"/repositories",query:{since:r},errors:{304:"Not modified",422:"Validation failed, or the endpoint has been spammed."}})}static reposListForAuthenticatedUser(r="all",e="owner,collaborator,organization_member",n="all",s="full_name",u,_=30,m=1,c,d){return o(i,{method:"GET",url:"/user/repos",query:{visibility:r,affiliation:e,type:n,sort:s,direction:u,per_page:_,page:m,since:c,before:d},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static reposCreateForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/repos",body:r,mediaType:"application/json",errors:{304:"Not modified",400:"Bad Request",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static reposListInvitationsForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/repository_invitations",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static reposAcceptInvitationForAuthenticatedUser(r){return o(i,{method:"PATCH",url:"/user/repository_invitations/{invitation_id}",path:{invitation_id:r},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found",409:"Conflict"}})}static reposDeclineInvitationForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/repository_invitations/{invitation_id}",path:{invitation_id:r},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found",409:"Conflict"}})}static reposListForUser(r,e="owner",n="full_name",s,u=30,_=1){return o(i,{method:"GET",url:"/users/{username}/repos",path:{username:r},query:{type:e,sort:n,direction:s,per_page:u,page:_}})}};var Sr=class{static searchCode(r,e,n="desc",s=30,u=1){return o(i,{method:"GET",url:"/search/code",query:{q:r,sort:e,order:n,per_page:s,page:u},errors:{304:"Not modified",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed.",503:"Service unavailable"}})}static searchCommits(r,e,n="desc",s=30,u=1){return o(i,{method:"GET",url:"/search/commits",query:{q:r,sort:e,order:n,per_page:s,page:u},errors:{304:"Not modified"}})}static searchIssuesAndPullRequests(r,e,n="desc",s=30,u=1){return o(i,{method:"GET",url:"/search/issues",query:{q:r,sort:e,order:n,per_page:s,page:u},errors:{304:"Not modified",403:"Forbidden",422:"Validation failed, or the endpoint has been spammed.",503:"Service unavailable"}})}static searchLabels(r,e,n,s="desc",u=30,_=1){return o(i,{method:"GET",url:"/search/labels",query:{repository_id:r,q:e,sort:n,order:s,per_page:u,page:_},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static searchRepos(r,e,n="desc",s=30,u=1){return o(i,{method:"GET",url:"/search/repositories",query:{q:r,sort:e,order:n,per_page:s,page:u},errors:{304:"Not modified",422:"Validation failed, or the endpoint has been spammed.",503:"Service unavailable"}})}static searchTopics(r,e=30,n=1){return o(i,{method:"GET",url:"/search/topics",query:{q:r,per_page:e,page:n},errors:{304:"Not modified"}})}static searchUsers(r,e,n="desc",s=30,u=1){return o(i,{method:"GET",url:"/search/users",query:{q:r,sort:e,order:n,per_page:s,page:u},errors:{304:"Not modified",422:"Validation failed, or the endpoint has been spammed.",503:"Service unavailable"}})}};var Lr=class{static secretScanningListAlertsForEnterprise(r,e,n,s,u="created",_="desc",m=30,c,d){return o(i,{method:"GET",url:"/enterprises/{enterprise}/secret-scanning/alerts",path:{enterprise:r},query:{state:e,secret_type:n,resolution:s,sort:u,direction:_,per_page:m,before:c,after:d},errors:{404:"Resource not found",503:"Service unavailable"}})}static secretScanningListAlertsForOrg(r,e,n,s,u="created",_="desc",m=1,c=30,d,v){return o(i,{method:"GET",url:"/orgs/{org}/secret-scanning/alerts",path:{org:r},query:{state:e,secret_type:n,resolution:s,sort:u,direction:_,page:m,per_page:c,before:d,after:v},errors:{404:"Resource not found",503:"Service unavailable"}})}static secretScanningListAlertsForRepo(r,e,n,s,u,_="created",m="desc",c=1,d=30,v,h){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/secret-scanning/alerts",path:{owner:r,repo:e},query:{state:n,secret_type:s,resolution:u,sort:_,direction:m,page:c,per_page:d,before:v,after:h},errors:{404:"Repository is public or secret scanning is disabled for the repository",503:"Service unavailable"}})}static secretScanningGetAlert(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}",path:{owner:r,repo:e,alert_number:n},errors:{304:"Not modified",404:"Repository is public, or secret scanning is disabled for the repository, or the resource is not found",503:"Service unavailable"}})}static secretScanningUpdateAlert(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}",path:{owner:r,repo:e,alert_number:n},body:s,mediaType:"application/json",errors:{400:"Bad request, resolution comment is invalid or the resolution was not changed.",404:"Repository is public, or secret scanning is disabled for the repository, or the resource is not found",422:"State does not match the resolution or resolution comment",503:"Service unavailable"}})}static secretScanningListLocationsForAlert(r,e,n,s=1,u=30){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",path:{owner:r,repo:e,alert_number:n},query:{page:s,per_page:u},errors:{404:"Repository is public, or secret scanning is disabled for the repository, or the resource is not found",503:"Service unavailable"}})}};var Ur=class{static securityAdvisoriesListGlobalAdvisories(r,e="reviewed",n,s,u,_,m,c,d,v,h,R,k,b="desc",p=30,f="published"){return o(i,{method:"GET",url:"/advisories",query:{ghsa_id:r,type:e,cve_id:n,ecosystem:s,severity:u,cwes:_,is_withdrawn:m,affects:c,published:d,updated:v,modified:h,before:R,after:k,direction:b,per_page:p,sort:f},errors:{422:"Validation failed, or the endpoint has been spammed.",429:"Too many requests"}})}static securityAdvisoriesGetGlobalAdvisory(r){return o(i,{method:"GET",url:"/advisories/{ghsa_id}",path:{ghsa_id:r},errors:{404:"Resource not found"}})}static securityAdvisoriesListRepositoryAdvisories(r,e,n="desc",s="created",u,_,m=30,c){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/security-advisories",path:{owner:r,repo:e},query:{direction:n,sort:s,before:u,after:_,per_page:m,state:c},errors:{400:"Bad Request",404:"Resource not found"}})}static securityAdvisoriesCreateRepositoryAdvisory(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/security-advisories",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static securityAdvisoriesCreatePrivateVulnerabilityReport(r,e,n){return o(i,{method:"POST",url:"/repos/{owner}/{repo}/security-advisories/reports",path:{owner:r,repo:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static securityAdvisoriesGetRepositoryAdvisory(r,e,n){return o(i,{method:"GET",url:"/repos/{owner}/{repo}/security-advisories/{ghsa_id}",path:{owner:r,repo:e,ghsa_id:n},errors:{403:"Forbidden",404:"Resource not found"}})}static securityAdvisoriesUpdateRepositoryAdvisory(r,e,n,s){return o(i,{method:"PATCH",url:"/repos/{owner}/{repo}/security-advisories/{ghsa_id}",path:{owner:r,repo:e,ghsa_id:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}};var Mr=class{static teamsList(r,e=30,n=1){return o(i,{method:"GET",url:"/orgs/{org}/teams",path:{org:r},query:{per_page:e,page:n},errors:{403:"Forbidden"}})}static teamsCreate(r,e){return o(i,{method:"POST",url:"/orgs/{org}/teams",path:{org:r},body:e,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static teamsGetByName(r,e){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}",path:{org:r,team_slug:e},errors:{404:"Resource not found"}})}static teamsUpdateInOrg(r,e,n){return o(i,{method:"PATCH",url:"/orgs/{org}/teams/{team_slug}",path:{org:r,team_slug:e},body:n,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static teamsDeleteInOrg(r,e){return o(i,{method:"DELETE",url:"/orgs/{org}/teams/{team_slug}",path:{org:r,team_slug:e}})}static teamsListDiscussionsInOrg(r,e,n="desc",s=30,u=1,_){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/discussions",path:{org:r,team_slug:e},query:{direction:n,per_page:s,page:u,pinned:_}})}static teamsCreateDiscussionInOrg(r,e,n){return o(i,{method:"POST",url:"/orgs/{org}/teams/{team_slug}/discussions",path:{org:r,team_slug:e},body:n,mediaType:"application/json"})}static teamsGetDiscussionInOrg(r,e,n){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}",path:{org:r,team_slug:e,discussion_number:n}})}static teamsUpdateDiscussionInOrg(r,e,n,s){return o(i,{method:"PATCH",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}",path:{org:r,team_slug:e,discussion_number:n},body:s,mediaType:"application/json"})}static teamsDeleteDiscussionInOrg(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}",path:{org:r,team_slug:e,discussion_number:n}})}static teamsListDiscussionCommentsInOrg(r,e,n,s="desc",u=30,_=1){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",path:{org:r,team_slug:e,discussion_number:n},query:{direction:s,per_page:u,page:_}})}static teamsCreateDiscussionCommentInOrg(r,e,n,s){return o(i,{method:"POST",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",path:{org:r,team_slug:e,discussion_number:n},body:s,mediaType:"application/json"})}static teamsGetDiscussionCommentInOrg(r,e,n,s){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}",path:{org:r,team_slug:e,discussion_number:n,comment_number:s}})}static teamsUpdateDiscussionCommentInOrg(r,e,n,s,u){return o(i,{method:"PATCH",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}",path:{org:r,team_slug:e,discussion_number:n,comment_number:s},body:u,mediaType:"application/json"})}static teamsDeleteDiscussionCommentInOrg(r,e,n,s){return o(i,{method:"DELETE",url:"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}",path:{org:r,team_slug:e,discussion_number:n,comment_number:s}})}static teamsListPendingInvitationsInOrg(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/invitations",path:{org:r,team_slug:e},query:{per_page:n,page:s}})}static teamsListMembersInOrg(r,e,n="all",s=30,u=1){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/members",path:{org:r,team_slug:e},query:{role:n,per_page:s,page:u}})}static teamsGetMembershipForUserInOrg(r,e,n){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/memberships/{username}",path:{org:r,team_slug:e,username:n},errors:{404:"if user has no team membership"}})}static teamsAddOrUpdateMembershipForUserInOrg(r,e,n,s){return o(i,{method:"PUT",url:"/orgs/{org}/teams/{team_slug}/memberships/{username}",path:{org:r,team_slug:e,username:n},body:s,mediaType:"application/json",errors:{403:"Forbidden if team synchronization is set up",422:"Unprocessable Entity if you attempt to add an organization to a team"}})}static teamsRemoveMembershipForUserInOrg(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/teams/{team_slug}/memberships/{username}",path:{org:r,team_slug:e,username:n},errors:{403:"Forbidden if team synchronization is set up"}})}static teamsListProjectsInOrg(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/projects",path:{org:r,team_slug:e},query:{per_page:n,page:s}})}static teamsCheckPermissionsForProjectInOrg(r,e,n){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/projects/{project_id}",path:{org:r,team_slug:e,project_id:n},errors:{404:"Not Found if project is not managed by this team"}})}static teamsAddOrUpdateProjectPermissionsInOrg(r,e,n,s){return o(i,{method:"PUT",url:"/orgs/{org}/teams/{team_slug}/projects/{project_id}",path:{org:r,team_slug:e,project_id:n},body:s,mediaType:"application/json",errors:{403:"Forbidden if the project is not owned by the organization"}})}static teamsRemoveProjectInOrg(r,e,n){return o(i,{method:"DELETE",url:"/orgs/{org}/teams/{team_slug}/projects/{project_id}",path:{org:r,team_slug:e,project_id:n}})}static teamsListReposInOrg(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/repos",path:{org:r,team_slug:e},query:{per_page:n,page:s}})}static teamsCheckPermissionsForRepoInOrg(r,e,n,s){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}",path:{org:r,team_slug:e,owner:n,repo:s},errors:{404:"Not Found if team does not have permission for the repository"}})}static teamsAddOrUpdateRepoPermissionsInOrg(r,e,n,s,u){return o(i,{method:"PUT",url:"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}",path:{org:r,team_slug:e,owner:n,repo:s},body:u,mediaType:"application/json"})}static teamsRemoveRepoInOrg(r,e,n,s){return o(i,{method:"DELETE",url:"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}",path:{org:r,team_slug:e,owner:n,repo:s}})}static teamsListChildInOrg(r,e,n=30,s=1){return o(i,{method:"GET",url:"/orgs/{org}/teams/{team_slug}/teams",path:{org:r,team_slug:e},query:{per_page:n,page:s}})}static teamsGetLegacy(r){return o(i,{method:"GET",url:"/teams/{team_id}",path:{team_id:r},errors:{404:"Resource not found"}})}static teamsUpdateLegacy(r,e){return o(i,{method:"PATCH",url:"/teams/{team_id}",path:{team_id:r},body:e,mediaType:"application/json",errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static teamsDeleteLegacy(r){return o(i,{method:"DELETE",url:"/teams/{team_id}",path:{team_id:r},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static teamsListDiscussionsLegacy(r,e="desc",n=30,s=1){return o(i,{method:"GET",url:"/teams/{team_id}/discussions",path:{team_id:r},query:{direction:e,per_page:n,page:s}})}static teamsCreateDiscussionLegacy(r,e){return o(i,{method:"POST",url:"/teams/{team_id}/discussions",path:{team_id:r},body:e,mediaType:"application/json"})}static teamsGetDiscussionLegacy(r,e){return o(i,{method:"GET",url:"/teams/{team_id}/discussions/{discussion_number}",path:{team_id:r,discussion_number:e}})}static teamsUpdateDiscussionLegacy(r,e,n){return o(i,{method:"PATCH",url:"/teams/{team_id}/discussions/{discussion_number}",path:{team_id:r,discussion_number:e},body:n,mediaType:"application/json"})}static teamsDeleteDiscussionLegacy(r,e){return o(i,{method:"DELETE",url:"/teams/{team_id}/discussions/{discussion_number}",path:{team_id:r,discussion_number:e}})}static teamsListDiscussionCommentsLegacy(r,e,n="desc",s=30,u=1){return o(i,{method:"GET",url:"/teams/{team_id}/discussions/{discussion_number}/comments",path:{team_id:r,discussion_number:e},query:{direction:n,per_page:s,page:u}})}static teamsCreateDiscussionCommentLegacy(r,e,n){return o(i,{method:"POST",url:"/teams/{team_id}/discussions/{discussion_number}/comments",path:{team_id:r,discussion_number:e},body:n,mediaType:"application/json"})}static teamsGetDiscussionCommentLegacy(r,e,n){return o(i,{method:"GET",url:"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",path:{team_id:r,discussion_number:e,comment_number:n}})}static teamsUpdateDiscussionCommentLegacy(r,e,n,s){return o(i,{method:"PATCH",url:"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",path:{team_id:r,discussion_number:e,comment_number:n},body:s,mediaType:"application/json"})}static teamsDeleteDiscussionCommentLegacy(r,e,n){return o(i,{method:"DELETE",url:"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",path:{team_id:r,discussion_number:e,comment_number:n}})}static teamsListPendingInvitationsLegacy(r,e=30,n=1){return o(i,{method:"GET",url:"/teams/{team_id}/invitations",path:{team_id:r},query:{per_page:e,page:n}})}static teamsListMembersLegacy(r,e="all",n=30,s=1){return o(i,{method:"GET",url:"/teams/{team_id}/members",path:{team_id:r},query:{role:e,per_page:n,page:s},errors:{404:"Resource not found"}})}static teamsGetMemberLegacy(r,e){return o(i,{method:"GET",url:"/teams/{team_id}/members/{username}",path:{team_id:r,username:e},errors:{404:"if user is not a member"}})}static teamsAddMemberLegacy(r,e){return o(i,{method:"PUT",url:"/teams/{team_id}/members/{username}",path:{team_id:r,username:e},errors:{403:"Forbidden",404:"Not Found if team synchronization is set up",422:"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"}})}static teamsRemoveMemberLegacy(r,e){return o(i,{method:"DELETE",url:"/teams/{team_id}/members/{username}",path:{team_id:r,username:e},errors:{404:"Not Found if team synchronization is setup"}})}static teamsGetMembershipForUserLegacy(r,e){return o(i,{method:"GET",url:"/teams/{team_id}/memberships/{username}",path:{team_id:r,username:e},errors:{404:"Resource not found"}})}static teamsAddOrUpdateMembershipForUserLegacy(r,e,n){return o(i,{method:"PUT",url:"/teams/{team_id}/memberships/{username}",path:{team_id:r,username:e},body:n,mediaType:"application/json",errors:{403:"Forbidden if team synchronization is set up",404:"Resource not found",422:"Unprocessable Entity if you attempt to add an organization to a team"}})}static teamsRemoveMembershipForUserLegacy(r,e){return o(i,{method:"DELETE",url:"/teams/{team_id}/memberships/{username}",path:{team_id:r,username:e},errors:{403:"if team synchronization is set up"}})}static teamsListProjectsLegacy(r,e=30,n=1){return o(i,{method:"GET",url:"/teams/{team_id}/projects",path:{team_id:r},query:{per_page:e,page:n},errors:{404:"Resource not found"}})}static teamsCheckPermissionsForProjectLegacy(r,e){return o(i,{method:"GET",url:"/teams/{team_id}/projects/{project_id}",path:{team_id:r,project_id:e},errors:{404:"Not Found if project is not managed by this team"}})}static teamsAddOrUpdateProjectPermissionsLegacy(r,e,n){return o(i,{method:"PUT",url:"/teams/{team_id}/projects/{project_id}",path:{team_id:r,project_id:e},body:n,mediaType:"application/json",errors:{403:"Forbidden if the project is not owned by the organization",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static teamsRemoveProjectLegacy(r,e){return o(i,{method:"DELETE",url:"/teams/{team_id}/projects/{project_id}",path:{team_id:r,project_id:e},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static teamsListReposLegacy(r,e=30,n=1){return o(i,{method:"GET",url:"/teams/{team_id}/repos",path:{team_id:r},query:{per_page:e,page:n},errors:{404:"Resource not found"}})}static teamsCheckPermissionsForRepoLegacy(r,e,n){return o(i,{method:"GET",url:"/teams/{team_id}/repos/{owner}/{repo}",path:{team_id:r,owner:e,repo:n},errors:{404:"Not Found if repository is not managed by this team"}})}static teamsAddOrUpdateRepoPermissionsLegacy(r,e,n,s){return o(i,{method:"PUT",url:"/teams/{team_id}/repos/{owner}/{repo}",path:{team_id:r,owner:e,repo:n},body:s,mediaType:"application/json",errors:{403:"Forbidden",422:"Validation failed, or the endpoint has been spammed."}})}static teamsRemoveRepoLegacy(r,e,n){return o(i,{method:"DELETE",url:"/teams/{team_id}/repos/{owner}/{repo}",path:{team_id:r,owner:e,repo:n}})}static teamsListChildLegacy(r,e=30,n=1){return o(i,{method:"GET",url:"/teams/{team_id}/teams",path:{team_id:r},query:{per_page:e,page:n},errors:{403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static teamsListForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/teams",query:{per_page:r,page:e},errors:{304:"Not modified",403:"Forbidden",404:"Resource not found"}})}};var Gr=class{static usersGetAuthenticated(){return o(i,{method:"GET",url:"/user",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static usersUpdateAuthenticated(r){return o(i,{method:"PATCH",url:"/user",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersListBlockedByAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/blocks",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersCheckBlocked(r){return o(i,{method:"GET",url:"/user/blocks/{username}",path:{username:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"If the user is not blocked"}})}static usersBlock(r){return o(i,{method:"PUT",url:"/user/blocks/{username}",path:{username:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersUnblock(r){return o(i,{method:"DELETE",url:"/user/blocks/{username}",path:{username:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersSetPrimaryEmailVisibilityForAuthenticatedUser(r){return o(i,{method:"PATCH",url:"/user/email/visibility",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersListEmailsForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/emails",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersAddEmailForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/emails",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersDeleteEmailForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/emails",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersListFollowersForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/followers",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static usersListFollowedByAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/following",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden"}})}static usersCheckPersonIsFollowedByAuthenticated(r){return o(i,{method:"GET",url:"/user/following/{username}",path:{username:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"if the person is not followed by the authenticated user"}})}static usersFollow(r){return o(i,{method:"PUT",url:"/user/following/{username}",path:{username:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersUnfollow(r){return o(i,{method:"DELETE",url:"/user/following/{username}",path:{username:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersListGpgKeysForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/gpg_keys",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersCreateGpgKeyForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/gpg_keys",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersGetGpgKeyForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/gpg_keys/{gpg_key_id}",path:{gpg_key_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersDeleteGpgKeyForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/gpg_keys/{gpg_key_id}",path:{gpg_key_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersListPublicSshKeysForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/keys",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersCreatePublicSshKeyForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/keys",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersGetPublicSshKeyForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/keys/{key_id}",path:{key_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersDeletePublicSshKeyForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/keys/{key_id}",path:{key_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersListPublicEmailsForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/public_emails",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersListSocialAccountsForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/social_accounts",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersAddSocialAccountForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/social_accounts",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersDeleteSocialAccountForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/social_accounts",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersListSshSigningKeysForAuthenticatedUser(r=30,e=1){return o(i,{method:"GET",url:"/user/ssh_signing_keys",query:{per_page:r,page:e},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersCreateSshSigningKeyForAuthenticatedUser(r){return o(i,{method:"POST",url:"/user/ssh_signing_keys",body:r,mediaType:"application/json",errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersGetSshSigningKeyForAuthenticatedUser(r){return o(i,{method:"GET",url:"/user/ssh_signing_keys/{ssh_signing_key_id}",path:{ssh_signing_key_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersDeleteSshSigningKeyForAuthenticatedUser(r){return o(i,{method:"DELETE",url:"/user/ssh_signing_keys/{ssh_signing_key_id}",path:{ssh_signing_key_id:r},errors:{304:"Not modified",401:"Requires authentication",403:"Forbidden",404:"Resource not found"}})}static usersList(r,e=30){return o(i,{method:"GET",url:"/users",query:{since:r,per_page:e},errors:{304:"Not modified"}})}static usersGetByUsername(r){return o(i,{method:"GET",url:"/users/{username}",path:{username:r},errors:{404:"Resource not found"}})}static usersListFollowersForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/followers",path:{username:r},query:{per_page:e,page:n}})}static usersListFollowingForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/following",path:{username:r},query:{per_page:e,page:n}})}static usersCheckFollowingForUser(r,e){return o(i,{method:"GET",url:"/users/{username}/following/{target_user}",path:{username:r,target_user:e},errors:{404:"if the user does not follow the target user"}})}static usersListGpgKeysForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/gpg_keys",path:{username:r},query:{per_page:e,page:n}})}static usersGetContextForUser(r,e,n){return o(i,{method:"GET",url:"/users/{username}/hovercard",path:{username:r},query:{subject_type:e,subject_id:n},errors:{404:"Resource not found",422:"Validation failed, or the endpoint has been spammed."}})}static usersListPublicKeysForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/keys",path:{username:r},query:{per_page:e,page:n}})}static usersListSocialAccountsForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/social_accounts",path:{username:r},query:{per_page:e,page:n}})}static usersListSshSigningKeysForUser(r,e=30,n=1){return o(i,{method:"GET",url:"/users/{username}/ssh_signing_keys",path:{username:r},query:{per_page:e,page:n}})}};export{lr as ActionsService,ar as ActivityService,J as ApiError,ur as AppsService,_r as BillingService,tr as CancelError,rr as CancelablePromise,gr as ChecksService,mr as CodeScanningService,pr as CodesOfConductService,dr as CodespacesService,cr as CopilotService,br as DependabotService,hr as DependencyGraphService,yr as EmojisService,fr as GistsService,wr as GitService,Er as GitignoreService,vr as InteractionsService,Rr as IssuesService,Tr as LicensesService,Ar as MarkdownService,kr as MetaService,xr as MigrationsService,Ir as OidcService,i as OpenAPI,Or as OrgsService,Nr as PackagesService,zr as ProjectsService,Pr as PullsService,Cr as RateLimitService,Dr as ReactionsService,qr as ReposService,Sr as SearchService,Lr as SecretScanningService,Ur as SecurityAdvisoriesService,Mr as TeamsService,Gr as UsersService,Br as _import,Wr as _package,Fr as actions_cache_list_sort,jr as actions_default_workflow_permissions,Vr as actions_workflow_access_to_repository,Hr as activity,Qr as allowed_actions,Kr as app_permissions,Yr as authentication_token,Zr as author_association,Xr as auto_merge,$r as check_run,Jr as check_run_with_simple_check_suite,re as check_suite,ee as code_scanning_alert_classification,te as code_scanning_alert_dismissed_reason,ne as code_scanning_alert_rule,se as code_scanning_alert_rule_summary,ie as code_scanning_alert_set_state,oe as code_scanning_alert_severity,le as code_scanning_alert_state,ae as code_scanning_alert_state_query,ue as code_scanning_default_setup,_e as code_scanning_default_setup_update,ge as code_scanning_sarifs_status,me as codespace,pe as codespace_machine,de as codespace_with_full_repository,ce as codespaces_org_secret,be as codespaces_secret,he as commit_comparison,ye as content_file,fe as content_submodule,we as content_symlink,Ee as dependabot_alert,ve as dependabot_alert_scope,Re as dependabot_alert_security_advisory,Te as dependabot_alert_security_vulnerability,Ae as dependabot_alert_sort,ke as dependabot_alert_with_repository,xe as dependency,Ie as deployment_reviewer_type,Oe as deployment_status,Ne as diff_entry,ze as direction,Pe as discussion,Ce as enabled_repositories,De as environment_approvals,qe as full_repository,Se as global_advisory,Le as installation,Ue as installation_token,Me as interaction_expiry,Ge as interaction_group,Be as issue,We as job,Fe as marketplace_listing_plan,je as merged_upstream,Ve as milestone,He as nullable_codespace_machine,Qe as nullable_issue,Ke as nullable_milestone,Ye as nullable_repository,Ze as nullable_scoped_installation,Xe as order,$e as org_membership,Je as org_security_product_enablement,rt as organization_actions_secret,et as organization_actions_variable,tt as organization_dependabot_secret,nt as organization_programmatic_access_grant,st as organization_programmatic_access_grant_request,it as package_type,ot as package_version,lt as package_visibility,at as pages_https_certificate,ut as per,_t as personal_access_token_request,gt as personal_access_token_sort,mt as private_vulnerability_report_create,pt as project,dt as projects_v2_item_content_type,ct as pull_request,bt as pull_request_review_comment,ht as reaction,yt as release_asset,ft as repository,wt as repository_advisory,Et as repository_advisory_create,vt as repository_advisory_credit,Rt as repository_advisory_update,Tt as repository_invitation,At as repository_rule_branch_name_pattern,kt as repository_rule_commit_author_email_pattern,xt as repository_rule_commit_message_pattern,It as repository_rule_committer_email_pattern,Ot as repository_rule_creation,Nt as repository_rule_deletion,zt as repository_rule_enforcement,Pt as repository_rule_non_fast_forward,Ct as repository_rule_pull_request,Dt as repository_rule_required_deployments,qt as repository_rule_required_linear_history,St as repository_rule_required_signatures,Lt as repository_rule_required_status_checks,Ut as repository_rule_tag_name_pattern,Mt as repository_rule_update,Gt as repository_ruleset,Bt as repository_ruleset_bypass_actor,Wt as review_comment,Ft as review_custom_gates_state_required,jt as runner_label,Vt as secret_scanning_alert_resolution_webhook,Ht as secret_scanning_alert_sort,Qt as secret_scanning_alert_state,Kt as secret_scanning_location,Yt as security_advisory_credit_types,Zt as security_advisory_ecosystems,Xt as security_and_analysis,$t as security_product,Jt as simple_check_suite,rn as sort,en as sort_starred,tn as status,nn as team_full,sn as team_membership,on as webhook_branch_protection_rule_created,ln as webhook_branch_protection_rule_deleted,an as webhook_branch_protection_rule_edited,un as webhook_check_run_completed,_n as webhook_check_run_created,gn as webhook_check_run_requested_action,mn as webhook_check_run_rerequested,pn as webhook_check_suite_completed,dn as webhook_check_suite_requested,cn as webhook_check_suite_rerequested,bn as webhook_code_scanning_alert_appeared_in_branch,hn as webhook_code_scanning_alert_closed_by_user,yn as webhook_code_scanning_alert_created,fn as webhook_code_scanning_alert_fixed,wn as webhook_code_scanning_alert_reopened,En as webhook_code_scanning_alert_reopened_by_user,vn as webhook_commit_comment_created,Rn as webhook_create,Tn as webhook_delete,An as webhook_dependabot_alert_auto_dismissed,kn as webhook_dependabot_alert_auto_reopened,xn as webhook_dependabot_alert_created,In as webhook_dependabot_alert_dismissed,On as webhook_dependabot_alert_fixed,Nn as webhook_dependabot_alert_reintroduced,zn as webhook_dependabot_alert_reopened,Pn as webhook_deploy_key_created,Cn as webhook_deploy_key_deleted,Dn as webhook_deployment_created,qn as webhook_deployment_protection_rule_requested,Sn as webhook_deployment_status_created,Ln as webhook_discussion_answered,Un as webhook_discussion_category_changed,Mn as webhook_discussion_closed,Gn as webhook_discussion_comment_created,Bn as webhook_discussion_comment_deleted,Wn as webhook_discussion_comment_edited,Fn as webhook_discussion_created,jn as webhook_discussion_deleted,Vn as webhook_discussion_edited,Hn as webhook_discussion_labeled,Qn as webhook_discussion_locked,Kn as webhook_discussion_pinned,Yn as webhook_discussion_reopened,Zn as webhook_discussion_transferred,Xn as webhook_discussion_unanswered,$n as webhook_discussion_unlabeled,Jn as webhook_discussion_unlocked,rs as webhook_discussion_unpinned,es as webhook_fork,ts as webhook_github_app_authorization_revoked,ns as webhook_installation_created,ss as webhook_installation_deleted,is as webhook_installation_new_permissions_accepted,os as webhook_installation_repositories_added,ls as webhook_installation_repositories_removed,as as webhook_installation_suspend,us as webhook_installation_unsuspend,_s as webhook_issue_comment_created,gs as webhook_issue_comment_deleted,ms as webhook_issue_comment_edited,ps as webhook_issues_assigned,ds as webhook_issues_closed,cs as webhook_issues_deleted,bs as webhook_issues_demilestoned,hs as webhook_issues_edited,ys as webhook_issues_labeled,fs as webhook_issues_locked,ws as webhook_issues_milestoned,Es as webhook_issues_opened,vs as webhook_issues_pinned,Rs as webhook_issues_reopened,Ts as webhook_issues_transferred,As as webhook_issues_unassigned,ks as webhook_issues_unlabeled,xs as webhook_issues_unlocked,Is as webhook_issues_unpinned,Os as webhook_label_created,Ns as webhook_label_deleted,zs as webhook_label_edited,Ps as webhook_marketplace_purchase_cancelled,Cs as webhook_marketplace_purchase_changed,Ds as webhook_marketplace_purchase_pending_change,qs as webhook_marketplace_purchase_pending_change_cancelled,Ss as webhook_marketplace_purchase_purchased,Ls as webhook_member_added,Us as webhook_member_edited,Ms as webhook_member_removed,Gs as webhook_membership_added,Bs as webhook_membership_removed,Ws as webhook_merge_group_checks_requested,Fs as webhook_merge_group_destroyed,js as webhook_meta_deleted,Vs as webhook_milestone_closed,Hs as webhook_milestone_created,Qs as webhook_milestone_deleted,Ks as webhook_milestone_edited,Ys as webhook_milestone_opened,Zs as webhook_org_block_blocked,Xs as webhook_org_block_unblocked,$s as webhook_organization_deleted,Js as webhook_organization_member_added,ri as webhook_organization_member_invited,ei as webhook_organization_member_removed,ti as webhook_organization_renamed,ni as webhook_package_published,si as webhook_package_updated,ii as webhook_page_build,oi as webhook_personal_access_token_request_approved,li as webhook_personal_access_token_request_cancelled,ai as webhook_personal_access_token_request_created,ui as webhook_personal_access_token_request_denied,_i as webhook_ping,gi as webhook_project_card_converted,mi as webhook_project_card_created,pi as webhook_project_card_deleted,di as webhook_project_card_edited,ci as webhook_project_card_moved,bi as webhook_project_closed,hi as webhook_project_column_created,yi as webhook_project_column_deleted,fi as webhook_project_column_edited,wi as webhook_project_column_moved,Ei as webhook_project_created,vi as webhook_project_deleted,Ri as webhook_project_edited,Ti as webhook_project_reopened,Ai as webhook_projects_v2_item_archived,ki as webhook_projects_v2_item_converted,xi as webhook_projects_v2_item_created,Ii as webhook_projects_v2_item_deleted,Oi as webhook_projects_v2_item_edited,Ni as webhook_projects_v2_item_reordered,zi as webhook_projects_v2_item_restored,Pi as webhook_projects_v2_project_closed,Ci as webhook_projects_v2_project_created,Di as webhook_projects_v2_project_deleted,qi as webhook_projects_v2_project_edited,Si as webhook_projects_v2_project_reopened,Li as webhook_pull_request_assigned,Ui as webhook_pull_request_auto_merge_disabled,Mi as webhook_pull_request_auto_merge_enabled,Gi as webhook_pull_request_closed,Bi as webhook_pull_request_converted_to_draft,Wi as webhook_pull_request_demilestoned,Fi as webhook_pull_request_dequeued,ji as webhook_pull_request_edited,Vi as webhook_pull_request_enqueued,Hi as webhook_pull_request_labeled,Qi as webhook_pull_request_locked,Ki as webhook_pull_request_milestoned,Yi as webhook_pull_request_opened,Zi as webhook_pull_request_ready_for_review,Xi as webhook_pull_request_reopened,$i as webhook_pull_request_review_comment_created,Ji as webhook_pull_request_review_comment_deleted,ro as webhook_pull_request_review_comment_edited,eo as webhook_pull_request_review_dismissed,to as webhook_pull_request_review_edited,no as webhook_pull_request_review_request_removed,so as webhook_pull_request_review_requested,io as webhook_pull_request_review_submitted,oo as webhook_pull_request_review_thread_resolved,lo as webhook_pull_request_review_thread_unresolved,ao as webhook_pull_request_synchronize,uo as webhook_pull_request_unassigned,_o as webhook_pull_request_unlabeled,go as webhook_pull_request_unlocked,mo as webhook_push,po as webhook_registry_package_published,co as webhook_release_created,bo as webhook_release_deleted,ho as webhook_release_edited,yo as webhook_release_prereleased,fo as webhook_release_published,wo as webhook_release_released,Eo as webhook_release_unpublished,vo as webhook_repository_advisory_published,Ro as webhook_repository_advisory_reported,To as webhook_repository_archived,Ao as webhook_repository_created,ko as webhook_repository_deleted,xo as webhook_repository_edited,Io as webhook_repository_import,Oo as webhook_repository_privatized,No as webhook_repository_publicized,zo as webhook_repository_renamed,Po as webhook_repository_transferred,Co as webhook_repository_unarchived,Do as webhook_repository_vulnerability_alert_create,qo as webhook_repository_vulnerability_alert_dismiss,So as webhook_repository_vulnerability_alert_reopen,Lo as webhook_repository_vulnerability_alert_resolve,Uo as webhook_secret_scanning_alert_created,Mo as webhook_secret_scanning_alert_location_created,Go as webhook_secret_scanning_alert_reopened,Bo as webhook_secret_scanning_alert_resolved,Wo as webhook_secret_scanning_alert_revoked,Fo as webhook_security_advisory_published,jo as webhook_security_advisory_updated,Vo as webhook_security_advisory_withdrawn,Ho as webhook_sponsorship_cancelled,Qo as webhook_sponsorship_created,Ko as webhook_sponsorship_edited,Yo as webhook_sponsorship_pending_cancellation,Zo as webhook_sponsorship_pending_tier_change,Xo as webhook_sponsorship_tier_changed,$o as webhook_star_created,Jo as webhook_star_deleted,rl as webhook_status,el as webhook_team_add,tl as webhook_team_added_to_repository,nl as webhook_team_created,sl as webhook_team_deleted,il as webhook_team_edited,ol as webhook_team_removed_from_repository,ll as webhook_watch_started,al as webhook_workflow_job_completed,ul as webhook_workflow_job_in_progress,_l as webhook_workflow_job_queued,gl as webhook_workflow_job_waiting,ml as webhook_workflow_run_completed,pl as webhook_workflow_run_in_progress,dl as webhook_workflow_run_requested,cl as workflow,bl as workflow_run_status}; diff --git a/packages/openapi-fetch/test/helpers.ts b/packages/openapi-fetch/test/helpers.ts new file mode 100644 index 000000000..bece1b17a --- /dev/null +++ b/packages/openapi-fetch/test/helpers.ts @@ -0,0 +1,41 @@ +import type { MediaType } from "openapi-typescript-helpers"; +import createClient from "../src/index.js"; + +/** + * Create a client instance where all requests use a custom fetch implementation. + * This avoids: + * - Test implementation footguns + * - Shared state/leakage between tests (most mocking libraries including msw) + * - Any additional runtime, really—it only processes what you give it + * + * ⚠️ YOU MUST MOCK ALL RESPONSES! + * If you have too much going on in one handler, just make another instance. These are cheap. + */ +// Note: this isn’t called “createMockedClient” because ✨ nothing is mocked 🌈! It’s only calling the handler you pass in. +export function createObservedClient( + options?: Parameters>[0], + onRequest: (input: Request) => Promise = async () => Response.json({ status: 200, message: "OK" }), +) { + return createClient({ + ...options, + baseUrl: options?.baseUrl || "https://fake-api.example", // Node.js requires a domain for Request(). This restriction doesn’t exist in browsers, but we are using `e2e.test.ts` for that.. + fetch: (input) => onRequest(input), + }); +} + +/** + * Convert a Headers object to a plain object for easier comparison + */ +export function headersToObj(headers: Headers | Record): Record { + const iter = + headers instanceof Headers + ? headers + // @ts-expect-error FIXME: this is a missing "lib" in tsconfig.json but dunno what + .entries() + : Object.entries(headers); + const result: Record = {}; + for (const [k, v] of iter) { + result[k] = v; + } + return result; +} diff --git a/packages/openapi-fetch/test/http-methods/delete.test.ts b/packages/openapi-fetch/test/http-methods/delete.test.ts new file mode 100644 index 000000000..8d5beaaa3 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/delete.test.ts @@ -0,0 +1,47 @@ +import { describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { paths } from "./schemas/delete.js"; + +describe("DELETE", () => { + test("returns empty object on 204", async () => { + const client = createObservedClient({}, async () => new Response(null, { status: 204 })); + const { data, error, response } = await client.DELETE("/tags/{name}", { + params: { path: { name: "New Tag" } }, + }); + + // assert correct data was returned + expect(data).toEqual({}); + expect(response.status).toBe(204); + + // assert error is empty + expect(error).toBeUndefined(); + }); + + test("sends the correct method", async () => { + let method = ""; + const client = createObservedClient({}, async (req) => { + method = req.method; + return new Response(null, { status: 204 }); + }); + await client.DELETE("/tags/{name}", { params: { path: { name: "Tag" } } }); + expect(method).toBe("DELETE"); + }); + + test("returns empty object on Content-Length: 0", async () => { + const client = createObservedClient( + {}, + async () => new Response(null, { status: 200, headers: { "Content-Length": "0" } }), + ); + const { data, error } = await client.DELETE("/tags/{name}", { + params: { + path: { name: "Tag" }, + }, + }); + + // assert correct data was returned + expect(data).toEqual({}); + + // assert error is empty + expect(error).toBeUndefined(); + }); +}); diff --git a/packages/openapi-fetch/test/http-methods/get.test.ts b/packages/openapi-fetch/test/http-methods/get.test.ts new file mode 100644 index 000000000..991f72453 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/get.test.ts @@ -0,0 +1,94 @@ +import { describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { components, paths } from "./schemas/get.js"; + +describe("GET", () => { + test("sends correct method", async () => { + let method = ""; + const client = createObservedClient({}, async (req) => { + method = req.method; + return Response.json({}); + }); + await client.GET("/posts"); + expect(method).toBe("GET"); + }); + + test("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(), + }; + + let actualPathname = ""; + const client = createObservedClient({}, async (req) => { + actualPathname = new URL(req.url).pathname; + return Response.json(mockData); + }); + + const { data, error, response } = await client.GET("/posts/{id}", { + params: { path: { id: 123 } }, + }); + + // assert correct URL was called + expect(actualPathname).toBe("/posts/123"); + + // assert correct data was returned + expect(data).toEqual(mockData); + expect(response.status).toBe(200); + + // assert error is empty + expect(error).toBeUndefined(); + }); + + test("sends correct options, returns error", async () => { + const mockError = { code: 404, message: "Post not found" }; + + let method = ""; + let actualPathname = ""; + const client = createObservedClient({}, async (req) => { + method = req.method; + actualPathname = new URL(req.url).pathname; + return Response.json(mockError, { status: 404 }); + }); + + const { data, error, response } = await client.GET("/posts/{id}", { + params: { path: { id: 123 } }, + }); + + // assert correct URL was called + expect(actualPathname).toBe("/posts/123"); + + // assert correct method was called + expect(method).toBe("GET"); + + // assert correct error was returned + expect(error).toEqual(mockError); + expect(response.status).toBe(404); + + // assert data is empty + expect(data).toBeUndefined(); + }); + + // note: this was a previous bug in the type inference + test("handles array-type responses", async () => { + const client = createObservedClient({}, async () => Response.json([])); + + const { data } = await client.GET("/posts", { params: {} }); + if (!data) { + throw new Error("data empty"); + } + + // assert array type (and only array type) was inferred + expect(data.length).toBe(0); + }); + + test("gracefully handles invalid JSON for errors", async () => { + const client = createObservedClient({}, async () => new Response("Unauthorized", { status: 401 })); + + const { data, error } = await client.GET("/posts"); + + expect(data).toBeUndefined(); + expect(error).toBe("Unauthorized"); + }); +}); diff --git a/packages/openapi-fetch/test/http-methods/head.test.ts b/packages/openapi-fetch/test/http-methods/head.test.ts new file mode 100644 index 000000000..56dcd3abd --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/head.test.ts @@ -0,0 +1,16 @@ +import { describe } from "node:test"; +import { expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { paths } from "./schemas/head.js"; + +describe("HEAD", () => { + test("sends the correct method", async () => { + let method = ""; + const client = createObservedClient({}, async (req) => { + method = req.method; + return new Response(null, { headers: { "Content-Length": "0" } }); + }); + await client.HEAD("/resources/{id}", { params: { path: { id: 123 } } }); + expect(method).toBe("HEAD"); + }); +}); diff --git a/packages/openapi-fetch/test/http-methods/options.test.ts b/packages/openapi-fetch/test/http-methods/options.test.ts new file mode 100644 index 000000000..41931ddcb --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/options.test.ts @@ -0,0 +1,15 @@ +import { describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { paths } from "./schemas/options.js"; + +describe("OPTIONS", () => { + test("sends the correct method", async () => { + let method = ""; + const client = createObservedClient({}, async (req) => { + method = req.method; + return new Response("", { headers: { Allow: "OPTIONS, GET, HEAD, POST" }, status: 200 }); + }); + await client.OPTIONS("/resources", { parseAs: "text" }); + expect(method).toBe("OPTIONS"); + }); +}); diff --git a/packages/openapi-fetch/test/http-methods/patch.test.ts b/packages/openapi-fetch/test/http-methods/patch.test.ts new file mode 100644 index 000000000..8166042ac --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/patch.test.ts @@ -0,0 +1,18 @@ +import { describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { paths } from "./schemas/patch.js"; + +describe("PATCH", () => { + test("sends the correct method", async () => { + let method = ""; + const client = createObservedClient({}, async (req) => { + method = req.method; + return Response.json({}); + }); + await client.PATCH("/resources/{id}", { + params: { path: { id: 123 } }, + body: { name: "New name" }, + }); + expect(method).toBe("PATCH"); + }); +}); diff --git a/packages/openapi-fetch/test/http-methods/post.test.ts b/packages/openapi-fetch/test/http-methods/post.test.ts new file mode 100644 index 000000000..f06114f5a --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/post.test.ts @@ -0,0 +1,179 @@ +import { describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { paths } from "./schemas/post.js"; + +describe("POST", () => { + test("sends the correct method", async () => { + let method = ""; + const client = createObservedClient({}, async (req) => { + method = req.method; + return Response.json({}); + }); + await client.POST("/posts", { + body: { title: "My Post", body: "Post body", publish_date: new Date("2024-06-06T12:00:00Z").getTime() }, + }); + expect(method).toBe("POST"); + }); + + describe("request body", () => { + test("requires necessary requestBodies", async () => { + const client = createObservedClient({}); + + // expect error on missing `body` + // @ts-expect-error + await client.POST( + "/posts", // this isn’t the error + // missing 2nd param is the error + ); + + // expect error on missing fields + await client.POST("/posts", { + // @ts-expect-error + body: { + title: "Foo", + }, + }); + + // expect present body to be good enough (all fields optional) + // (no error) + await client.POST("/posts", { + body: { + title: "Foo", + body: "Bar", + publish_date: new Date("2023-04-01T12:00:00Z").getTime(), + }, + }); + }); + + test("requestBody (inline)", async () => { + const client = createObservedClient({}); + + // expect error on wrong body type + await client.POST("/posts-optional-inline", { + // @ts-expect-error + body: { error: true }, + }); + + // (no error) + await client.POST("/posts-optional-inline", { + body: { + title: "", + publish_date: 3, + body: "", + }, + }); + }); + + test("requestBody with required: false", async () => { + const client = createObservedClient({}); + + // assert missing `body` doesn’t raise a TS error + await client.POST("/posts-optional"); + + // assert error on type mismatch + await client.POST("/posts-optional", { + body: { + // @ts-expect-error + error: true, + }, + }); + + // assert error on type mismatch + await client.POST("/posts-optional", { + body: { + // @ts-expect-error + title: 42, + body: "", + }, + }); + + // (no error) + await client.POST("/posts-optional", { + body: { + title: "", + publish_date: 3, + body: "", + }, + }); + }); + }); + + test("sends correct options, returns success", async () => { + const mockData = { status: "success" }; + let actualPathname = ""; + const client = createObservedClient({}, async (rqq) => { + actualPathname = new URL(rqq.url).pathname; + return Response.json(mockData, { status: 201 }); + }); + + const { data, error, response } = await client.POST("/posts", { + body: { + title: "New Post", + body: "

Best post yet

", + publish_date: new Date("2023-03-31T12:00:00Z").getTime(), + }, + }); + + // assert correct URL was called + expect(actualPathname).toBe("/posts"); + + // assert correct data was returned + expect(data).toEqual(mockData); + expect(response.status).toBe(201); + + // assert error is empty + expect(error).toBeUndefined(); + }); + + describe("multipart/form-data", () => { + test("simple", async () => { + let actualRequest = new Request("https://fakeurl.example"); + const client = createObservedClient({}, async (req) => { + actualRequest = req.clone(); + return Response.json({}); + }); + const reqBody = { + title: "My Post", + body: "Post body", + publish_date: new Date("2024-06-06T12:00:00Z").getTime(), + }; + await client.POST("/posts", { + body: reqBody, + bodySerializer(body) { + const fd = new FormData(); + for (const name in body) { + fd.append(name, body[name as keyof typeof body] as string); + } + return fd; + }, + }); + + // expect request to contain correct headers and body + expect(actualRequest.body).toBeInstanceOf(ReadableStream); + const body = await actualRequest.formData(); + expect(body.get("title")).toBe(reqBody.title); + expect(actualRequest.headers.get("Content-Type")).toMatch(/multipart\/form-data;/); + }); + + test("file", async () => { + const TEST_STRING = "Hello this is text file string"; + + const file = new Blob([TEST_STRING], { type: "text/plain" }); + const formData = new FormData(); + formData.append("file", file); + + const client = createObservedClient({}, async (req) => { + const formData = await req.formData(); + const text = await (formData.get("file") as File).text(); + return Response.json({ text }); + }); + + const { data } = await client.POST("/multipart-form-data-file-upload", { + // TODO: how to get this to accept FormData? + body: formData as unknown as string, + }); + + expect(data?.text).toBe(TEST_STRING); + }); + }); +}); diff --git a/packages/openapi-fetch/test/http-methods/put.test.ts b/packages/openapi-fetch/test/http-methods/put.test.ts new file mode 100644 index 000000000..d76261cce --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/put.test.ts @@ -0,0 +1,17 @@ +import { describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { paths } from "./schemas/put.js"; + +describe("PUT", () => { + test("sends the correct method", async () => { + let method = ""; + const client = createObservedClient({}, async (req) => { + method = req.method; + return Response.json({}); + }); + await client.PUT("/resources", { + body: { name: "New name" }, + }); + expect(method).toBe("PUT"); + }); +}); diff --git a/packages/openapi-fetch/test/http-methods/schemas/delete.d.ts b/packages/openapi-fetch/test/http-methods/schemas/delete.d.ts new file mode 100644 index 000000000..b3e67aedd --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/delete.d.ts @@ -0,0 +1,66 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/tags/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + 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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Error: { + code: number; + message: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/openapi-fetch/test/http-methods/schemas/delete.yaml b/packages/openapi-fetch/test/http-methods/schemas/delete.yaml new file mode 100644 index 000000000..166d561a2 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/delete.yaml @@ -0,0 +1,33 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /tags/{name}: + delete: + parameters: + - name: name + in: path + required: true + schema: + type: string + responses: + 204: + description: No Content + 500: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" +components: + schemas: + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + message: + type: string diff --git a/packages/openapi-fetch/test/http-methods/schemas/get.d.ts b/packages/openapi-fetch/test/http-methods/schemas/get.d.ts new file mode 100644 index 000000000..6be062858 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/get.d.ts @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/posts": { + 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"]["Post"][]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/posts/{id}": { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Post"]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Error: { + code: number; + message: string; + }; + Post: { + id: number; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/openapi-fetch/test/http-methods/schemas/get.yaml b/packages/openapi-fetch/test/http-methods/schemas/get.yaml new file mode 100644 index 000000000..f13404a00 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/get.yaml @@ -0,0 +1,64 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /posts: + get: + responses: + 200: + description: OK + operationId: getPosts + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/Post" + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /posts/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: integer + get: + responses: + 200: + description: OK + operationId: getPost + content: + application/json: + schema: + $ref: "#/components/schemas/Post" + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" +components: + schemas: + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + message: + type: string + Post: + type: object + required: + - id + properties: + id: + type: integer diff --git a/packages/openapi-fetch/test/http-methods/schemas/head.d.ts b/packages/openapi-fetch/test/http-methods/schemas/head.d.ts new file mode 100644 index 000000000..6d7afab81 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/head.d.ts @@ -0,0 +1,74 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/resources/{id}": { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Resource"]; + }; + }; + /** @description Error */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Error: { + code: number; + message: string; + }; + Resource: { + id: number; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/openapi-fetch/test/http-methods/schemas/head.yaml b/packages/openapi-fetch/test/http-methods/schemas/head.yaml new file mode 100644 index 000000000..484381d31 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/head.yaml @@ -0,0 +1,45 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /resources/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: integer + head: + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/Resource" + 404: + description: Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" +components: + schemas: + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + message: + type: string + Resource: + type: object + required: + - id + properties: + id: + type: integer diff --git a/packages/openapi-fetch/test/http-methods/schemas/options.d.ts b/packages/openapi-fetch/test/http-methods/schemas/options.d.ts new file mode 100644 index 000000000..273dfcb10 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/options.d.ts @@ -0,0 +1,62 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + /** @description Error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + }; + }; + 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; diff --git a/packages/openapi-fetch/test/http-methods/schemas/options.yaml b/packages/openapi-fetch/test/http-methods/schemas/options.yaml new file mode 100644 index 000000000..9f23e2de5 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/options.yaml @@ -0,0 +1,21 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /resources: + options: + responses: + 200: + description: OK + operationId: getResources + content: + text/html: + schema: + type: string + default: + description: Error + content: + text/html: + schema: + type: string diff --git a/packages/openapi-fetch/test/http-methods/schemas/patch.d.ts b/packages/openapi-fetch/test/http-methods/schemas/patch.d.ts new file mode 100644 index 000000000..d4ccc4aa9 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/patch.d.ts @@ -0,0 +1,81 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/resources/{id}": { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + name?: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Resource"]; + }; + }; + /** @description Error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Error: { + code: number; + message: string; + }; + Resource: { + id: number; + name: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/openapi-fetch/test/http-methods/schemas/patch.yaml b/packages/openapi-fetch/test/http-methods/schemas/patch.yaml new file mode 100644 index 000000000..f7c9e11f1 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/patch.yaml @@ -0,0 +1,57 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /resources/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: integer + patch: + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/Resource" + default: + description: Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" +components: + schemas: + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + message: + type: string + Resource: + type: object + required: + - id + - name + properties: + id: + type: integer + name: + type: string diff --git a/packages/openapi-fetch/test/http-methods/schemas/post.d.ts b/packages/openapi-fetch/test/http-methods/schemas/post.d.ts new file mode 100644 index 000000000..c065e3632 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/post.d.ts @@ -0,0 +1,197 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/posts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["CreatePost"]; + responses: { + 201: components["responses"]["CreatePost"]; + 500: components["responses"]["Error"]; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/posts-optional": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: components["requestBodies"]["CreatePostOptional"]; + responses: { + 201: components["responses"]["CreatePost"]; + 500: components["responses"]["Error"]; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/posts-optional-inline": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + 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"]; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/multipart-form-data-file-upload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": string; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + text: string; + }; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Error: { + code: number; + message: string; + }; + Post: { + title: string; + body: string; + publish_date?: number; + }; + }; + responses: { + CreatePost: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + Error: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code: number; + message: string; + }; + }; + }; + }; + 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; + }; + }; + }; + }; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/openapi-fetch/test/http-methods/schemas/post.yaml b/packages/openapi-fetch/test/http-methods/schemas/post.yaml new file mode 100644 index 000000000..45f8eb55d --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/post.yaml @@ -0,0 +1,140 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /posts: + post: + requestBody: + $ref: "#/components/requestBodies/CreatePost" + responses: + 201: + $ref: "#/components/responses/CreatePost" + 500: + $ref: "#/components/responses/Error" + /posts-optional: + post: + requestBody: + $ref: "#/components/requestBodies/CreatePostOptional" + responses: + 201: + $ref: "#/components/responses/CreatePost" + 500: + $ref: "#/components/responses/Error" + /posts-optional-inline: + post: + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Post" + responses: + 201: + $ref: "#/components/responses/CreatePost" + 500: + $ref: "#/components/responses/Error" + /multipart-form-data-file-upload: + post: + requestBody: + content: + multipart/form-data: + schema: + type: string + format: binary + required: true + responses: + 200: + content: + application/json: + schema: + type: object + properties: + text: + type: string + required: + - text +components: + schemas: + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + message: + type: string + Post: + type: object + properties: + title: + type: string + body: + type: string + publish_date: + type: number + required: + - title + - body + + requestBodies: + CreatePost: + required: true + content: + application/json: + schema: + type: object + properties: + title: + type: string + body: + type: string + publish_date: + type: number + required: + - title + - body + - publish_date + CreatePostOptional: + required: false + content: + application/json: + schema: + type: object + properties: + title: + type: string + body: + type: string + publish_date: + type: number + required: + - title + - body + - publish_date + + responses: + CreatePost: + content: + application/json: + schema: + type: object + properties: + status: + type: string + required: + - status + Error: + content: + application/json: + schema: + type: object + properties: + code: + type: number + message: + type: string + required: + - code + - message diff --git a/packages/openapi-fetch/test/http-methods/schemas/put.d.ts b/packages/openapi-fetch/test/http-methods/schemas/put.d.ts new file mode 100644 index 000000000..cccbd1842 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/put.d.ts @@ -0,0 +1,66 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/resources": { + 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": { + name: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Resource"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Resource: { + id: number; + name: string; + created_at: string; + updated_at: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/openapi-fetch/test/http-methods/schemas/put.yaml b/packages/openapi-fetch/test/http-methods/schemas/put.yaml new file mode 100644 index 000000000..acc3df747 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/put.yaml @@ -0,0 +1,44 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /resources: + put: + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - name + properties: + name: + type: string + responses: + "200": + description: OK + operationId: createResource + content: + application/json: + schema: + $ref: "#/components/schemas/Resource" +components: + schemas: + Resource: + type: object + required: + - id + - name + - created_at + - updated_at + properties: + id: + type: integer + name: + type: string + created_at: + type: string + updated_at: + type: string diff --git a/packages/openapi-fetch/test/http-methods/schemas/trace.d.ts b/packages/openapi-fetch/test/http-methods/schemas/trace.d.ts new file mode 100644 index 000000000..c195a7a77 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/trace.d.ts @@ -0,0 +1,66 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/resources/{id}": { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "message/http": string; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "message/http": string; + }; + }; + }; + }; + }; +} +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; diff --git a/packages/openapi-fetch/test/http-methods/schemas/trace.yaml b/packages/openapi-fetch/test/http-methods/schemas/trace.yaml new file mode 100644 index 000000000..3b1d2a8ef --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/schemas/trace.yaml @@ -0,0 +1,27 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /resources/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: integer + trace: + responses: + 200: + description: OK + operationId: getResources + content: + message/http: + schema: + type: string + 404: + description: Not Found + content: + message/http: + schema: + type: string diff --git a/packages/openapi-fetch/test/http-methods/trace.test.ts b/packages/openapi-fetch/test/http-methods/trace.test.ts new file mode 100644 index 000000000..700d5a680 --- /dev/null +++ b/packages/openapi-fetch/test/http-methods/trace.test.ts @@ -0,0 +1,12 @@ +import { describe, expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { paths } from "./schemas/trace.js"; + +describe("TRACE()", () => { + // Note: this isn’t an actual tests; just used to assert current behavior. + // Node.js does not support TRACE with new Request(). + test("(not supported in Node.js)", async () => { + const client = createObservedClient(); + expect(() => client.TRACE("/resources/{id}", { params: { path: { id: 123 } } })).rejects.toThrow(); + }); +}); diff --git a/packages/openapi-fetch/test/index.bench.js b/packages/openapi-fetch/test/index.bench.js index e8c3e3308..ed89e45de 100644 --- a/packages/openapi-fetch/test/index.bench.js +++ b/packages/openapi-fetch/test/index.bench.js @@ -1,42 +1,26 @@ import axios from "axios"; -import { http, HttpResponse } from "msw"; -import { setupServer } from "msw/node"; import { Fetcher } from "openapi-typescript-fetch"; +import { createApiFetchClient } from "feature-fetch"; import superagent from "superagent"; -import { afterAll, bench, describe } from "vitest"; +import { afterAll, beforeAll, bench, describe, vi } from "vitest"; +import createFetchMock from "vitest-fetch-mock"; import createClient, { createPathBasedClient } from "../dist/index.js"; import * as openapiTSCodegen from "./fixtures/openapi-typescript-codegen.min.js"; -import { createApiFetchClient } from "feature-fetch"; const BASE_URL = "https://api.test.local"; -const server = setupServer( - http.get(`${BASE_URL}/url`, () => - HttpResponse.json({ - message: "success", - }), - ), - - // Used by openapi-typescript-codegen - http.get("https://api.github.com/repos/test1/test2/pulls/test3", () => - HttpResponse.json({ - message: "success", - }), - ), -); - -// Ensure we are listening early enough so all the requests are intercepted -server.listen({ - onUnhandledRequest: (request) => { - throw new Error(`No request handler found for ${request.method} ${request.url}`); - }, -}); - -afterAll(() => { - server.close(); -}); +const fetchMocker = createFetchMock(vi); describe("setup", () => { + beforeAll(() => { + // mock global fetch in this benchmark, without any delaly, shared state or resources + fetchMocker.enableMocks(); + }); + + afterAll(() => { + fetchMocker.disableMocks(); + }); + bench("openapi-fetch", async () => { createClient({ baseUrl: BASE_URL }); }); diff --git a/packages/openapi-fetch/test/index.test.ts b/packages/openapi-fetch/test/index.test.ts deleted file mode 100644 index b484d4fdb..000000000 --- a/packages/openapi-fetch/test/index.test.ts +++ /dev/null @@ -1,2395 +0,0 @@ -import { HttpResponse, type StrictResponse } from "msw"; -import { afterAll, beforeAll, describe, expect, expectTypeOf, it } from "vitest"; -import createClient, { - type BodySerializer, - type FetchOptions, - type MethodResponse, - type HeadersOptions, - type Middleware, - type MiddlewareCallbackParams, - type QuerySerializerOptions, - type Client, - type PathBasedClient, - createPathBasedClient, -} from "../src/index.js"; -import { baseUrl, server, toAbsoluteURL, useMockRequestHandler } from "./fixtures/mock-server.js"; -import type { paths } from "./fixtures/api.js"; - -beforeAll(() => { - server.listen({ - onUnhandledRequest: (request) => { - throw new Error(`No request handler found for ${request.method} ${request.url}`); - }, - }); -}); - -afterEach(() => server.resetHandlers()); - -afterAll(() => server.close()); - -describe("client", () => { - it("generates all proper functions", () => { - const client = createClient(); - - expect(client).toHaveProperty("GET"); - expect(client).toHaveProperty("PUT"); - expect(client).toHaveProperty("POST"); - expect(client).toHaveProperty("DELETE"); - expect(client).toHaveProperty("OPTIONS"); - expect(client).toHaveProperty("HEAD"); - expect(client).toHaveProperty("PATCH"); - expect(client).toHaveProperty("TRACE"); - }); - - describe("TypeScript checks", () => { - it("marks data or error as undefined, but never both", async () => { - const client = createClient({ - baseUrl, - }); - - // data - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/string-array", - status: 200, - body: ["one", "two", "three"], - }); - - const dataRes = await client.GET("/string-array"); - - // … is initially possibly undefined - // @ts-expect-error - expect(dataRes.data[0]).toBe("one"); - - // … is present if error is undefined - if (!dataRes.error) { - expect(dataRes.data[0]).toBe("one"); - } else { - expect(() => dataRes.error.code).toThrow(); // type test: assert inverse of above infers type correctly - } - - // … means data is undefined - if (dataRes.data) { - // @ts-expect-error - expect(() => dataRes.error.message).toThrow(); - } else { - // @ts-expect-error - expect(() => dataRes.data[0]).toThrow(); // type test: assert inverse of above infers type correctly - } - - // error - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/string-array", - status: 500, - body: { code: 500, message: "Something went wrong" }, - }); - const errorRes = await client.GET("/string-array"); - - // … is initially possibly undefined - // @ts-expect-error - expect(errorRes.error.message).toBe("Something went wrong"); - - // … is present if error is undefined - if (!errorRes.data) { - expect(errorRes.error.message).toBe("Something went wrong"); - } - - // … means data is undefined - if (errorRes.error) { - // @ts-expect-error - expect(() => errorRes.data[0]).toThrow(); - } - }); - - test("infers correct data type on mismatched media", async () => { - const client = createClient({ baseUrl }); - const result = await client.GET("/mismatched-data"); - if (result.data) { - expectTypeOf(result.data).toEqualTypeOf< - | { - email: string; - age?: number; - avatar?: string; - created_at: number; - updated_at: number; - } - | { - title: string; - body: string; - publish_date?: number; - } - >(); - } else { - expectTypeOf(result.error).extract<{ code: number }>().toEqualTypeOf<{ code: number; message: string }>(); - expectTypeOf(result.error).exclude<{ code: number }>().toEqualTypeOf(); - } - }); - - test("infers correct error type on mismatched media", async () => { - const client = createClient({ baseUrl }); - const result = await client.GET("/mismatched-errors"); - if (result.data) { - expectTypeOf(result.data).toEqualTypeOf<{ - email: string; - age?: number; - avatar?: string; - created_at: number; - updated_at: number; - }>(); - expectTypeOf(result.data).toEqualTypeOf>(); - } else { - expectTypeOf(result.data).toBeUndefined(); - expectTypeOf(result.error).extract<{ code: number }>().toEqualTypeOf<{ code: number; message: string }>(); - expectTypeOf(result.error).exclude<{ code: number }>().toEqualTypeOf(); - } - }); - - it("provides a Client type", () => { - const client = createClient({ baseUrl }); - expectTypeOf(client).toEqualTypeOf>(); - }); - - describe("params", () => { - describe("path", () => { - it("typechecks", async () => { - const client = createClient({ - baseUrl, - }); - - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - status: 200, - body: { message: "OK" }, - }); - - // expect error on missing 'params' - // @ts-expect-error - await client.GET("/blogposts/{post_id}"); - - // expect error on empty params - // @ts-expect-error - await client.GET("/blogposts/{post_id}", { params: {} }); - - // expect error on empty params.path - // @ts-expect-error - await client.GET("/blogposts/{post_id}", { params: { path: {} } }); - - // expect error on mismatched type (number v string) - await client.GET("/blogposts/{post_id}", { - // @ts-expect-error - params: { path: { post_id: 1234 } }, - }); - - // expect error on unknown property in 'params' - await client.GET("/blogposts/{post_id}", { - params: { - // @ts-expect-error - TODO: "this should be an error", - }, - }); - - // (no error) - let calledPostId = ""; - useMockRequestHandler<{ post_id: string }>({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - handler: ({ params }) => { - calledPostId = params.post_id; - return HttpResponse.json({ message: "OK" }, { status: 200 }); - }, - }); - - await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: "1234" } }, - }); - - // expect param passed correctly - expect(calledPostId).toBe("1234"); - }); - - it("serializes", async () => { - const client = createClient({ - baseUrl, - }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/path-params/*", - }); - - await client.GET( - "/path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}", - { - params: { - path: { - simple_primitive: "simple", - simple_obj_flat: { a: "b", c: "d" }, - simple_arr_flat: [1, 2, 3], - simple_obj_explode: { e: "f", g: "h" }, - simple_arr_explode: [4, 5, 6], - label_primitive: "label", - label_obj_flat: { a: "b", c: "d" }, - label_arr_flat: [1, 2, 3], - label_obj_explode: { e: "f", g: "h" }, - label_arr_explode: [4, 5, 6], - matrix_primitive: "matrix", - matrix_obj_flat: { a: "b", c: "d" }, - matrix_arr_flat: [1, 2, 3], - matrix_obj_explode: { e: "f", g: "h" }, - matrix_arr_explode: [4, 5, 6], - }, - }, - }, - ); - - expect(getRequestUrl().pathname).toBe( - `/path-params/${[ - // simple - "simple", - "a,b,c,d", - "1,2,3", - "e=f,g=h", - "4,5,6", - // label - ".label", - ".a,b,c,d", - ".1,2,3", - ".e=f.g=h", - ".4.5.6", - // matrix - ";matrix_primitive=matrix", - ";matrix_obj_flat=a,b,c,d", - ";matrix_arr_flat=1,2,3", - ";e=f;g=h", - ";matrix_arr_explode=4;matrix_arr_explode=5;matrix_arr_explode=6", - ].join("/")}`, - ); - }); - - it("escapes reserved characters in path segment", async () => { - const client = createClient({ baseUrl }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/*", - }); - - await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: ";/?:@&=+$,# " } }, - }); - - // expect post_id to be encoded properly - const url = getRequestUrl(); - expect(url.pathname).toBe("/blogposts/%3B%2F%3F%3A%40%26%3D%2B%24%2C%23%20"); - }); - - it("does not escape allowed characters in path segment", async () => { - const client = createClient({ baseUrl }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/*", - }); - - const postId = "aAzZ09-_.!~*'()"; - - await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: postId } }, - }); - - // expect post_id to stay unchanged - const url = getRequestUrl(); - expect(url.pathname).toBe(`/blogposts/${postId}`); - }); - - it("allows UTF-8 characters", async () => { - const client = createClient({ baseUrl }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/*", - }); - - await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: "🥴" } }, - }); - - // expect post_id to be encoded properly - const url = getRequestUrl(); - expect(url.pathname).toBe("/blogposts/%F0%9F%A5%B4"); - }); - }); - - it("header", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/header-params", - handler: ({ request }) => { - const header = request.headers.get("x-required-header"); - if (header !== "correct") { - return HttpResponse.json( - { code: 500, message: "missing correct header" }, - { status: 500 }, - ) as StrictResponse; - } - return HttpResponse.json({ status: header }, { status: 200, headers: request.headers }); - }, - }); - - // expect error on missing header - // @ts-expect-error - await client.GET("/header-params"); - - // expect error on incorrect header - await client.GET("/header-params", { - // @ts-expect-error - params: { header: { foo: "bar" } }, - }); - - // expect error on mismatched type - await client.GET("/header-params", { - // @ts-expect-error - params: { header: { "x-required-header": true } }, - }); - - // (no error) - const response = await client.GET("/header-params", { - params: { header: { "x-required-header": "correct" } }, - }); - - // expect param passed correctly - expect(response.response.headers.get("x-required-header")).toBe("correct"); - }); - - describe("query", () => { - describe("querySerializer", () => { - it("primitives", async () => { - const client = createClient({ baseUrl }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/query-params*", - }); - - await client.GET("/query-params", { - params: { - query: { string: "string", number: 0, boolean: false }, - }, - }); - - expect(getRequestUrl().search).toBe("?string=string&number=0&boolean=false"); - }); - - it("array params (empty)", async () => { - const client = createClient({ baseUrl }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/query-params*", - }); - - await client.GET("/query-params", { - params: { - query: { array: [] }, - }, - }); - - const url = getRequestUrl(); - expect(url.pathname).toBe("/query-params"); - expect(url.search).toBe(""); - }); - - it("empty/null params", async () => { - const client = createClient({ baseUrl }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/query-params*", - }); - - await client.GET("/query-params", { - params: { - query: { string: undefined, number: null as any }, - }, - }); - - const url = getRequestUrl(); - expect(url.pathname).toBe("/query-params"); - expect(url.search).toBe(""); - }); - - describe("array", () => { - it.each([ - [ - "form", - { - given: { style: "form", explode: false }, - want: "array=1,2,3&boolean=true", - }, - ], - [ - "form (explode)", - { - given: { style: "form", explode: true }, - want: "array=1&array=2&array=3&boolean=true", - }, - ], - [ - "spaceDelimited", - { - given: { style: "spaceDelimited", explode: false }, - want: "array=1%202%203&boolean=true", - }, - ], - [ - "spaceDelimited (explode)", - { - given: { style: "spaceDelimited", explode: true }, - want: "array=1&array=2&array=3&boolean=true", - }, - ], - [ - "pipeDelimited", - { - given: { style: "pipeDelimited", explode: false }, - want: "array=1|2|3&boolean=true", - }, - ], - [ - "pipeDelimited (explode)", - { - given: { style: "pipeDelimited", explode: true }, - want: "array=1&array=2&array=3&boolean=true", - }, - ], - ] as [ - string, - { - given: NonNullable; - want: string; - }, - ][])("%s", async (_, { given, want }) => { - const client = createClient({ - baseUrl, - querySerializer: { array: given }, - }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/query-params*", - }); - - await client.GET("/query-params", { - params: { - query: { array: ["1", "2", "3"], boolean: true }, - }, - }); - - const url = getRequestUrl(); - // skip leading '?' - expect(url.search.substring(1)).toBe(want); - }); - }); - - describe("object", () => { - it.each([ - [ - "form", - { - given: { style: "form", explode: false }, - want: "object=foo,bar,bar,baz&boolean=true", - }, - ], - [ - "form (explode)", - { - given: { style: "form", explode: true }, - want: "foo=bar&bar=baz&boolean=true", - }, - ], - [ - "deepObject", - { - given: { style: "deepObject", explode: false }, // note: `false` not supported; same as `true` - want: "object[foo]=bar&object[bar]=baz&boolean=true", - }, - ], - [ - "deepObject (explode)", - { - given: { style: "deepObject", explode: true }, - want: "object[foo]=bar&object[bar]=baz&boolean=true", - }, - ], - ] as [ - string, - { - given: NonNullable; - want: string; - }, - ][])("%s", async (_, { given, want }) => { - const client = createClient({ - baseUrl, - querySerializer: { object: given }, - }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/query-params*", - }); - - await client.GET("/query-params", { - params: { - query: { object: { foo: "bar", bar: "baz" }, boolean: true }, - }, - }); - - const url = getRequestUrl(); - // skip leading '?' - expect(url.search.substring(1)).toBe(want); - }); - }); - - it("allowReserved", async () => { - const client = createClient({ - baseUrl, - querySerializer: { allowReserved: true }, - }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/query-params*", - }); - await client.GET("/query-params", { - params: { - query: { - string: "bad/character🐶", - }, - }, - }); - - expect(getRequestUrl().search).toBe("?string=bad/character%F0%9F%90%B6"); - expect(getRequestUrl().searchParams.get("string")).toBe("bad/character🐶"); - - await client.GET("/query-params", { - params: { - query: { - string: "bad/character🐶", - }, - }, - querySerializer: { - allowReserved: false, - }, - }); - - expect(getRequestUrl().search).toBe("?string=bad%2Fcharacter%F0%9F%90%B6"); - expect(getRequestUrl().searchParams.get("string")).toBe("bad/character🐶"); - }); - - describe("function", () => { - it("global default", async () => { - const client = createClient({ - baseUrl, - querySerializer: (q) => `alpha=${q.version}&beta=${q.format}`, - }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - }); - - await client.GET("/blogposts/{post_id}", { - params: { - path: { post_id: "my-post" }, - query: { version: 2, format: "json" }, - }, - }); - - const url = getRequestUrl(); - expect(url.pathname + url.search).toBe("/blogposts/my-post?alpha=2&beta=json"); - }); - - it("per-request", async () => { - const client = createClient({ - baseUrl, - querySerializer: () => "query", - }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - }); - - await client.GET("/blogposts/{post_id}", { - params: { - path: { post_id: "my-post" }, - query: { version: 2, format: "json" }, - }, - querySerializer: (q) => `alpha=${q.version}&beta=${q.format}`, - }); - - const url = getRequestUrl(); - expect(url.pathname + url.search).toBe("/blogposts/my-post?alpha=2&beta=json"); - }); - }); - - it("ignores leading ? characters", async () => { - const client = createClient({ - baseUrl, - querySerializer: () => "?query", - }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - }); - await client.GET("/blogposts/{post_id}", { - params: { - path: { post_id: "my-post" }, - query: { version: 2, format: "json" }, - }, - }); - const url = getRequestUrl(); - expect(url.pathname + url.search).toBe("/blogposts/my-post?query"); - }); - }); - }); - }); - - describe("body", () => { - // these are pure type tests; no runtime assertions needed - it("requires necessary requestBodies", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "put", - path: "/blogposts", - }); - - // expect error on missing `body` - // @ts-expect-error - await client.PUT("/blogposts"); - - // expect error on missing fields - // @ts-expect-error - await client.PUT("/blogposts", { body: { title: "Foo" } }); - - // 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(), - }, - }); - }); - - it("requestBody (inline)", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "put", - path: "/blogposts-optional-inline", - status: 201, - }); - - // expect error on wrong body type - await client.PUT("/blogposts-optional-inline", { - // @ts-expect-error - body: { error: true }, - }); - - // (no error) - await client.PUT("/blogposts-optional-inline", { - body: { - title: "", - publish_date: 3, - body: "", - }, - }); - }); - - it("requestBody with required: false", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "put", - path: "/blogposts-optional", - status: 201, - }); - - // assert missing `body` doesn’t raise a TS error - await client.PUT("/blogposts-optional"); - - // assert error on type mismatch - // @ts-expect-error - await client.PUT("/blogposts-optional", { body: { error: true } }); - - // (no error) - await client.PUT("/blogposts-optional", { - body: { - title: "", - publish_date: 3, - body: "", - }, - }); - }); - }); - }); - - describe("options", () => { - it("baseUrl", async () => { - let client = createClient({ baseUrl }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: { message: "OK" }, - }); - - await client.GET("/self"); - - // assert baseUrl and path mesh as expected - expect(getRequestUrl().href).toBe(toAbsoluteURL("/self")); - - client = createClient({ baseUrl }); - await client.GET("/self"); - // assert trailing '/' was removed - expect(getRequestUrl().href).toBe(toAbsoluteURL("/self")); - }); - - it("baseUrl per request", async () => { - const localBaseUrl = "https://api.foo.bar/v1"; - let client = createClient({ baseUrl }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl: localBaseUrl, - method: "get", - path: "/self", - status: 200, - body: { message: "OK" }, - }); - - await client.GET("/self", { baseUrl: localBaseUrl }); - - // assert baseUrl and path mesh as expected - expect(getRequestUrl().href).toBe(toAbsoluteURL("/self", localBaseUrl)); - - client = createClient({ baseUrl }); - await client.GET("/self", { baseUrl: localBaseUrl }); - // assert trailing '/' was removed - expect(getRequestUrl().href).toBe(toAbsoluteURL("/self", localBaseUrl)); - }); - - describe("headers", () => { - it("persist", async () => { - const headers: HeadersInit = { Authorization: "Bearer secrettoken" }; - - const client = createClient({ headers, baseUrl }); - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: { email: "user@user.com" }, - }); - - await client.GET("/self"); - - // assert default headers were passed - expect(getRequest().headers).toEqual(new Headers(headers)); - }); - - it("can be overridden", async () => { - const client = createClient({ - baseUrl, - headers: { "Cache-Control": "max-age=10000000" }, - }); - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: { email: "user@user.com" }, - }); - - await client.GET("/self", { - params: {}, - headers: { "Cache-Control": "no-cache" }, - }); - - // assert default headers were passed - expect(getRequest().headers).toEqual( - new Headers({ - "Cache-Control": "no-cache", - }), - ); - }); - - it("can be unset", async () => { - const client = createClient({ - baseUrl, - headers: { "Content-Type": null }, - }); - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: { email: "user@user.com" }, - }); - - await client.GET("/self", { params: {} }); - - // assert default headers were passed - expect(getRequest().headers).toEqual(new Headers()); - }); - - it("supports arrays", async () => { - const client = createClient({ baseUrl }); - - const list = ["one", "two", "three"]; - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: {}, - }); - - await client.GET("/self", { headers: { list } }); - - expect(getRequest().headers.get("list")).toEqual(list.join(", ")); - }); - }); - - describe("content-type", () => { - const BODY_ACCEPTING_METHODS = [["PUT"], ["POST"], ["DELETE"], ["OPTIONS"], ["PATCH"]] as const; - const ALL_METHODS = [...BODY_ACCEPTING_METHODS, ["GET"], ["HEAD"]] as const; - - const fireRequestAndGetContentType = async (options: { - defaultHeaders?: HeadersOptions; - method: (typeof ALL_METHODS)[number][number]; - fetchOptions: FetchOptions; - }) => { - const client = createClient({ baseUrl, headers: options.defaultHeaders }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "all", - path: "/blogposts-optional", - status: 200, - }); - await client[options.method]("/blogposts-optional", options.fetchOptions as any); - - const request = getRequest(); - return request.headers.get("content-type"); - }; - - it.each(ALL_METHODS)("no content-type for body-less requests - %s", async (method) => { - const contentType = await fireRequestAndGetContentType({ - method, - fetchOptions: {}, - }); - - expect(contentType).toBe(null); - }); - - it.each(ALL_METHODS)("no content-type for `undefined` body requests - %s", async (method) => { - const contentType = await fireRequestAndGetContentType({ - method, - fetchOptions: { - body: undefined, - }, - }); - - expect(contentType).toBe(null); - }); - - const BODIES = [{ prop: "a" }, {}, "", "str", null, false, 0, 1, new Date("2024-08-07T09:52:00.836Z")] as const; - const METHOD_BODY_COMBINATIONS = BODY_ACCEPTING_METHODS.flatMap(([method]) => - BODIES.map((body) => [method, body] as const), - ); - - it.each(METHOD_BODY_COMBINATIONS)( - "implicit default content-type for body-full requests - %s, %j", - async (method, body) => { - const contentType = await fireRequestAndGetContentType({ - method, - fetchOptions: { - body, - }, - }); - - expect(contentType).toBe("application/json"); - }, - ); - - it.each(METHOD_BODY_COMBINATIONS)( - "provided default content-type for body-full requests - %s, %j", - async (method, body) => { - const contentType = await fireRequestAndGetContentType({ - defaultHeaders: { - "content-type": "application/my-json", - }, - method, - fetchOptions: { - body, - }, - }); - - expect(contentType).toBe("application/my-json"); - }, - ); - - it.each(METHOD_BODY_COMBINATIONS)( - "native-fetch default content-type for body-full requests, when default is suppressed - %s, %j", - async (method, body) => { - const contentType = await fireRequestAndGetContentType({ - defaultHeaders: { - "content-type": null, - }, - method, - fetchOptions: { - body, - }, - }); - // the fetch implementation won't allow sending a body without content-type, - // and it defaults to `text/plain;charset=UTF-8`, however the actual default value - // is irrelevant and might be flaky across different fetch implementations - // for us, it's important that it's not `application/json` - expect(contentType).not.toBe("application/json"); - }, - ); - - it.each(METHOD_BODY_COMBINATIONS)( - "specified content-type for body-full requests - %s, %j", - async (method, body) => { - const contentType = await fireRequestAndGetContentType({ - method, - fetchOptions: { - body, - headers: { - "content-type": "application/my-json", - }, - }, - }); - - expect(contentType).toBe("application/my-json"); - }, - ); - - it.each(METHOD_BODY_COMBINATIONS)( - "specified content-type for body-full requests, even when default is suppressed - %s, %j", - async (method, body) => { - const contentType = await fireRequestAndGetContentType({ - method, - fetchOptions: { - body, - headers: { - "content-type": "application/my-json", - }, - }, - }); - - expect(contentType).toBe("application/my-json"); - }, - ); - }); - - describe("fetch", () => { - it("createClient", async () => { - function createCustomFetch(data: any) { - const response = { - clone: () => ({ ...response }), - headers: new Headers(), - json: async () => data, - status: 200, - ok: true, - } as Response; - return async () => Promise.resolve(response); - } - - const customFetch = createCustomFetch({ works: true }); - - const client = createClient({ fetch: customFetch, baseUrl }); - const { data } = await client.GET("/self"); - - // assert data was returned from custom fetcher - expect(data).toEqual({ works: true }); - - // TODO: do we need to assert nothing was called? - // msw should throw an error if there was an unused handler - }); - - it("per-request", async () => { - function createCustomFetch(data: any) { - const response = { - clone: () => ({ ...response }), - headers: new Headers(), - json: async () => data, - status: 200, - ok: true, - } as Response; - return async () => Promise.resolve(response); - } - - const fallbackFetch = createCustomFetch({ fetcher: "fallback" }); - const overrideFetch = createCustomFetch({ fetcher: "override" }); - - const client = createClient({ fetch: fallbackFetch, baseUrl }); - - // assert override function was called - const fetch1 = await client.GET("/self", { fetch: overrideFetch }); - expect(fetch1.data).toEqual({ fetcher: "override" }); - - // assert fallback function still persisted (and wasn’t overridden) - const fetch2 = await client.GET("/self"); - expect(fetch2.data).toEqual({ fetcher: "fallback" }); - - // TODO: do we need to assert nothing was called? - // msw should throw an error if there was an unused handler - }); - }); - - describe("middleware", () => { - it("receives a UUID per-request", async () => { - const client = createClient({ baseUrl }); - - const requestIDs: string[] = []; - const responseIDs: string[] = []; - - client.use({ - async onRequest({ id }) { - requestIDs.push(id); - }, - async onResponse({ id }) { - responseIDs.push(id); - }, - }); - - await client.GET("/self"); - await client.GET("/self"); - await client.GET("/self"); - - // assert IDs matched between requests and responses - expect(requestIDs[0]).toBe(responseIDs[0]); - expect(requestIDs[1]).toBe(responseIDs[1]); - expect(requestIDs[2]).toBe(responseIDs[2]); - - // assert IDs were unique - expect(requestIDs[0] !== requestIDs[1] && requestIDs[1] !== requestIDs[2]).toBe(true); - }); - - it("can modify request", async () => { - const client = createClient({ baseUrl }); - client.use({ - async onRequest({ request }) { - return new Request("https://foo.bar/api/v1", { - ...request, - method: "OPTIONS", - headers: { foo: "bar" }, - }); - }, - }); - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "options", - path: "https://foo.bar/api/v1", - status: 200, - body: {}, - }); - - await client.GET("/self"); - - const req = getRequest(); - expect(req.url).toBe("https://foo.bar/api/v1"); - expect(req.method).toBe("OPTIONS"); - expect(req.headers.get("foo")).toBe("bar"); - }); - - it("can modify response", async () => { - const toUnix = (date: string) => new Date(date).getTime(); - - const rawBody = { - email: "user123@gmail.com", - created_at: "2024-01-01T00:00:00Z", - updated_at: "2024-01-20T00:00:00Z", - }; - - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: rawBody, - headers: { foo: "bar" }, - }); - - const client = createClient({ baseUrl }); - client.use({ - // convert date string to unix time - async onResponse({ response }) { - const body = await response.json(); - body.created_at = toUnix(body.created_at); - body.updated_at = toUnix(body.updated_at); - const headers = new Headers(response.headers); - headers.set("middleware", "value"); - return new Response(JSON.stringify(body), { - ...response, - status: 201, - headers, - }); - }, - }); - - const { data, response } = await client.GET("/self"); - - // assert body was modified - expect(data?.created_at).toBe(toUnix(rawBody.created_at)); - expect(data?.updated_at).toBe(toUnix(rawBody.updated_at)); - // assert rest of body was preserved - expect(data?.email).toBe(rawBody.email); - // assert status changed - expect(response.status).toBe(201); - // assert server headers were preserved - expect(response.headers.get("foo")).toBe("bar"); - // assert middleware heaers were added - expect(response.headers.get("middleware")).toBe("value"); - }); - - it("executes in expected order", async () => { - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: {}, - }); - - const client = createClient({ baseUrl }); - // this middleware passes along the “step” header - // for both requests and responses, but first checks if - // it received the end result of the previous middleware step - client.use( - { - async onRequest({ request }) { - request.headers.set("step", "A"); - return request; - }, - async onResponse({ response }) { - if (response.headers.get("step") === "B") { - const headers = new Headers(response.headers); - headers.set("step", "A"); - return new Response(response.body, { ...response, headers }); - } - }, - }, - { - async onRequest({ request }) { - request.headers.set("step", "B"); - return request; - }, - async onResponse({ response }) { - const headers = new Headers(response.headers); - headers.set("step", "B"); - if (response.headers.get("step") === "C") { - return new Response(response.body, { ...response, headers }); - } - }, - }, - { - onRequest({ request }) { - request.headers.set("step", "C"); - return request; - }, - onResponse({ response }) { - response.headers.set("step", "C"); - return response; - }, - }, - ); - - const { response } = await client.GET("/self"); - - // assert requests ended up on step C (array order) - expect(getRequest().headers.get("step")).toBe("C"); - - // assert responses ended up on step A (reverse order) - expect(response.headers.get("step")).toBe("A"); - }); - - it("receives correct options", async () => { - useMockRequestHandler({ - baseUrl: "https://api.foo.bar/v1/", - method: "get", - path: "/self", - status: 200, - body: {}, - }); - - let requestBaseUrl = ""; - - const client = createClient({ - baseUrl: "https://api.foo.bar/v1/", - }); - client.use({ - onRequest({ options }) { - requestBaseUrl = options.baseUrl; - return undefined; - }, - }); - - await client.GET("/self"); - expect(requestBaseUrl).toBe("https://api.foo.bar/v1"); - }); - - it("receives the original request", async () => { - useMockRequestHandler({ - baseUrl: "https://api.foo.bar/v1/", - method: "get", - path: "/self", - status: 200, - body: {}, - }); - - const client = createClient({ - baseUrl: "https://api.foo.bar/v1/", - }); - client.use({ - onResponse({ request }) { - expect(request).toBeInstanceOf(Request); - return undefined; - }, - }); - - await client.GET("/self"); - }); - - it("receives OpenAPI options passed in from parent", async () => { - useMockRequestHandler({ - method: "put", - path: "https://api.foo.bar/v1/tag*", - status: 200, - body: {}, - }); - - const pathname = "/tag/{name}"; - const tagData = { - params: { - path: { - name: "New Tag", - }, - }, - body: { - description: "Tag Description", - }, - query: { - foo: "bar", - }, - }; - - let receivedPath = ""; - let receivedParams: MiddlewareCallbackParams["params"] = {}; - - const client = createClient({ - baseUrl: "https://api.foo.bar/v1/", - }); - client.use({ - onRequest({ schemaPath, params }) { - receivedPath = schemaPath; - receivedParams = params; - return undefined; - }, - }); - await client.PUT(pathname, tagData); - - expect(receivedPath).toBe(pathname); - expect(receivedParams).toEqual(tagData.params); - }); - - it("can be skipped without interrupting request", async () => { - useMockRequestHandler({ - baseUrl: "https://api.foo.bar/v1/", - method: "get", - path: "/blogposts", - status: 200, - body: { success: true }, - }); - - const client = createClient({ - baseUrl: "https://api.foo.bar/v1/", - }); - client.use({ - onRequest() { - return undefined; - }, - }); - const { data } = await client.GET("/blogposts"); - - expect(data).toEqual({ success: true }); - }); - - it("can be ejected", async () => { - useMockRequestHandler({ - baseUrl: "https://api.foo.bar/v1", - method: "get", - path: "/blogposts", - status: 200, - body: { success: true }, - }); - - let called = false; - const errorMiddleware = { - onRequest() { - called = true; - throw new Error("oops"); - }, - }; - - const client = createClient({ - baseUrl: "https://api.foo.bar/v1", - }); - client.use(errorMiddleware); - client.eject(errorMiddleware); - - expect(() => client.GET("/blogposts")).not.toThrow(); - expect(called).toBe(false); - }); - - it("preserves (and can safely add) headers", async () => { - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts", - status: 200, - body: { success: true }, - }); - - const client = createClient({ - baseUrl, - headers: { - createClient: "exists", - }, - }); - - client.use( - { - onRequest({ request }) { - // assert headers are kept in middleware onRequest - expect(request.headers.get("createClient")).toBe("exists"); - expect(request.headers.get("onFetch")).toBe("exists"); - request.headers.set("onRequest", "exists"); - return request; - }, - onResponse({ request }) { - // assert headers are (still) kept in onResponse - expect(request.headers.get("createClient")).toBe("exists"); - expect(request.headers.get("onFetch")).toBe("exists"); - expect(request.headers.get("onRequest")).toBe("exists"); - }, - }, - { - onRequest({ request }) { - // also assert a 2nd middleware (that doesn’t modify request) still sees headers - expect(request.headers.get("createClient")).toBe("exists"); - expect(request.headers.get("onFetch")).toBe("exists"); - expect(request.headers.get("onRequest")).toBe("exists"); - }, - }, - ); - - await client.GET("/blogposts", { - headers: { onFetch: "exists" }, - }); - - // assert server received them in final request - const req = getRequest(); - expect(req.headers.get("createClient")).toBe("exists"); - expect(req.headers.get("onFetch")).toBe("exists"); - expect(req.headers.get("onRequest")).toBe("exists"); - }); - - it("baseUrl can be overridden", async () => { - useMockRequestHandler({ - baseUrl: "https://api.foo.bar/v1/", - method: "get", - path: "/self", - status: 200, - body: {}, - }); - - let requestBaseUrl = ""; - - const client = createClient({ - baseUrl, - }); - client.use({ - onRequest({ options }) { - requestBaseUrl = options.baseUrl; - return undefined; - }, - }); - - await client.GET("/self", { - baseUrl: "https://api.foo.bar/v1/", - }); - expect(requestBaseUrl).toBe("https://api.foo.bar/v1"); - }); - }); - }); - - describe("body serialization", () => { - const BODY_ACCEPTING_METHODS = [["PUT"], ["POST"], ["DELETE"], ["OPTIONS"], ["PATCH"]] as const; - const ALL_METHODS = [...BODY_ACCEPTING_METHODS, ["GET"], ["HEAD"]] as const; - - const fireRequestAndGetBodyInformation = async (options: { - bodySerializer?: BodySerializer; - method: (typeof ALL_METHODS)[number][number]; - fetchOptions: FetchOptions; - }) => { - const client = createClient({ baseUrl, bodySerializer: options.bodySerializer }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "all", - path: "/blogposts-optional", - status: 200, - }); - await client[options.method]("/blogposts-optional", options.fetchOptions as any); - - const request = getRequest(); - const bodyText = await request.text(); - - return { bodyUsed: request.bodyUsed, bodyText }; - }; - - it.each(ALL_METHODS)("missing body (with body serializer) - %s", async (method) => { - const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - bodySerializer, - method, - fetchOptions: {}, - }); - - expect(bodyUsed).toBe(false); - expect(bodyText).toBe(""); - expect(bodySerializer).not.toBeCalled(); - }); - - it.each(ALL_METHODS)("missing body (without body serializer) - %s", async (method) => { - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ method, fetchOptions: {} }); - - expect(bodyUsed).toBe(false); - expect(bodyText).toBe(""); - }); - - it.each(ALL_METHODS)("`undefined` body (with body serializer) - %s", async (method) => { - const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - bodySerializer, - method, - fetchOptions: { - body: undefined, - }, - }); - - expect(bodyUsed).toBe(false); - expect(bodyText).toBe(""); - expect(bodySerializer).not.toBeCalled(); - }); - - it.each(ALL_METHODS)("`undefined` body (without body serializer) - %s", async (method) => { - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - method, - fetchOptions: { - body: undefined, - }, - }); - - expect(bodyUsed).toBe(false); - expect(bodyText).toBe(""); - }); - - it.each(BODY_ACCEPTING_METHODS)("`null` body (with body serializer) - %s", async (method) => { - const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - bodySerializer, - method, - fetchOptions: { - body: null, - }, - }); - - expect(bodyUsed).toBe(true); - expect(bodyText).toBe("Serialized: null"); - expect(bodySerializer).toBeCalled(); - }); - - it.each(BODY_ACCEPTING_METHODS)("`null` body (without body serializer) - %s", async (method) => { - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - method, - fetchOptions: { - body: null, - }, - }); - - expect(bodyUsed).toBe(true); - expect(bodyText).toBe("null"); - }); - - it.each(BODY_ACCEPTING_METHODS)("`false` body (with body serializer) - %s", async (method) => { - const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - bodySerializer, - method, - fetchOptions: { - body: false, - }, - }); - - expect(bodyUsed).toBe(true); - expect(bodyText).toBe("Serialized: false"); - expect(bodySerializer).toBeCalled(); - }); - - it.each(BODY_ACCEPTING_METHODS)("`false` body (without body serializer) - %s", async (method) => { - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - method, - fetchOptions: { - body: false, - }, - }); - - expect(bodyUsed).toBe(true); - expect(bodyText).toBe("false"); - }); - - it.each(BODY_ACCEPTING_METHODS)("`''` body (with body serializer) - %s", async (method) => { - const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - bodySerializer, - method, - fetchOptions: { - body: "", - }, - }); - - expect(bodyUsed).toBe(true); - expect(bodyText).toBe('Serialized: ""'); - expect(bodySerializer).toBeCalled(); - }); - - it.each(BODY_ACCEPTING_METHODS)("`''` body (without body serializer) - %s", async (method) => { - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - method, - fetchOptions: { - body: "", - }, - }); - - expect(bodyUsed).toBe(true); - expect(bodyText).toBe('""'); - }); - - it.each(BODY_ACCEPTING_METHODS)("`0` body (with body serializer) - %s", async (method) => { - const bodySerializer = vi.fn((body) => `Serialized: ${JSON.stringify(body)}`); - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - bodySerializer, - method, - fetchOptions: { - body: 0, - }, - }); - - expect(bodyUsed).toBe(true); - expect(bodyText).toBe("Serialized: 0"); - expect(bodySerializer).toBeCalled(); - }); - - it.each(BODY_ACCEPTING_METHODS)("`0` body (without body serializer) - %s", async (method) => { - const { bodyUsed, bodyText } = await fireRequestAndGetBodyInformation({ - method, - fetchOptions: { - body: 0, - }, - }); - - expect(bodyUsed).toBe(true); - expect(bodyText).toBe("0"); - }); - }); - - describe("requests", () => { - it("multipart/form-data", async () => { - const client = createClient({ baseUrl }); - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "put", - path: "/contact", - }); - - const reqBody = { - name: "John Doe", - email: "test@email.email", - subject: "Test Message", - message: "This is a test message", - }; - await client.PUT("/contact", { - body: reqBody, - bodySerializer(body) { - const fd = new FormData(); - for (const name in body) { - fd.append(name, body[name as keyof typeof body]); - } - return fd; - }, - }); - - // expect request to contain correct headers and body - const req = getRequest(); - expect(req.body).toBeInstanceOf(ReadableStream); - const body = await req.formData(); - expect(body.get("name")).toBe("John Doe"); - expect(req.headers.get("Content-Type")).toMatch(/multipart\/form-data;/); - }); - - it("respects cookie", async () => { - const client = createClient({ baseUrl }); - - const { getRequestCookies } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts", - }); - - await client.GET("/blogposts", { - credentials: "include", - headers: { - Cookie: "session=1234", - }, - }); - - const cookies = getRequestCookies(); - expect(cookies).toEqual({ session: "1234" }); - }); - - it("can attach custom properties to request", async () => { - function createCustomFetch(data: any) { - const response = { - clone: () => ({ ...response }), - headers: new Headers(), - json: async () => data, - status: 200, - ok: true, - } as Response; - return async (input: Request) => { - expect(input).toHaveProperty("customProperty", "value"); - return Promise.resolve(response); - }; - } - - const customFetch = createCustomFetch({}); - const client = createClient({ fetch: customFetch, baseUrl }); - - client.GET("/self", { - customProperty: "value", - }); - }); - - it("multipart/form-data with a file", async () => { - const TEST_STRING = "Hello this is text file string"; - - const file = new Blob([TEST_STRING], { type: "text/plain" }); - const formData = new FormData(); - formData.append("file", file); - - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "post", - path: "/multipart-form-data-file-upload", - handler: async (data) => { - // Get text from file and send it back - const formData = await data.request.formData(); - const text = await (formData.get("file") as File).text(); - return new HttpResponse(JSON.stringify({ text })); - }, - }); - const { data } = await client.POST("/multipart-form-data-file-upload", { - // TODO: how to get this to accept FormData? - body: formData as unknown as string, - }); - - expect(data?.text).toBe(TEST_STRING); - }); - }); - - describe("responses", () => { - it("returns empty object on 204", async () => { - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "delete", - path: "/tag/*", - handler: () => new HttpResponse(null, { status: 204 }), - }); - - const { data, error, response } = await client.DELETE("/tag/{name}", { - params: { path: { name: "New Tag" } }, - }); - - // assert correct data was returned - expect(data).toEqual({}); - expect(response.status).toBe(204); - - // assert error is empty - expect(error).toBeUndefined(); - }); - - it("treats `default` as an error", async () => { - const client = createClient({ - baseUrl, - headers: { "Cache-Control": "max-age=10000000" }, - }); - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/default-as-error", - status: 500, - body: { - 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"); - } - - // assert `error.message` doesn’t throw TS error - expect(error.message).toBe("An unexpected error occurred"); - }); - - describe("parseAs", () => { - it("text", async () => { - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/anyMethod", - body: {}, - }); - const { data, error } = (await client.GET("/anyMethod", { - parseAs: "text", - })) satisfies { data?: string }; - if (error) { - throw new Error("parseAs text: error"); - } - expect(data).toBe("{}"); - }); - - it("arrayBuffer", async () => { - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/anyMethod", - body: {}, - }); - const { data, error } = (await client.GET("/anyMethod", { - parseAs: "arrayBuffer", - })) satisfies { data?: ArrayBuffer }; - if (error) { - throw new Error("parseAs arrayBuffer: error"); - } - expect(data.byteLength).toBe(2); - }); - - it("blob", async () => { - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/anyMethod", - body: {}, - }); - const { data, error } = (await client.GET("/anyMethod", { - parseAs: "blob", - })) satisfies { data?: Blob }; - if (error) { - throw new Error("parseAs blob: error"); - } - - expect(data.constructor.name).toBe("Blob"); - }); - - it("stream", async () => { - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/anyMethod", - body: {}, - }); - const { data } = (await client.GET("/anyMethod", { - parseAs: "stream", - })) satisfies { data?: ReadableStream | null }; - if (!data) { - throw new Error("parseAs stream: error"); - } - - expect(data).toBeInstanceOf(ReadableStream); - const reader = data.getReader(); - const result = await reader.read(); - expect(result.value?.length).toBe(2); - }); - - it("use the selected content", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/multiple-response-content", - status: 200, - headers: { "Content-Type": "application/ld+json" }, - body: { - "@id": "some-resource-identifier", - email: "foo@bar.fr", - name: null, - }, - }); - - const { data } = await client.GET("/multiple-response-content", { - headers: { - Accept: "application/ld+json", - }, - }); - - data satisfies - | { - "@id": string; - email: string; - name?: string; - } - | undefined; - - if (!data) { - throw new Error("Missing response"); - } - - expect(data).toEqual({ - "@id": "some-resource-identifier", - email: "foo@bar.fr", - name: null, - }); - }); - }); - }); - - describe("GET()", () => { - it("sends the correct method", async () => { - const client = createClient({ baseUrl }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/anyMethod", - }); - await client.GET("/anyMethod"); - expect(getRequest().method).toBe("GET"); - }); - - 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 client = createClient({ baseUrl }); - - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - status: 200, - body: mockData, - }); - const { data, error, response } = await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: "my-post" } }, - }); - - // assert correct URL was called - expect(getRequestUrl().pathname).toBe("/blogposts/my-post"); - - // assert correct data was returned - expect(data).toEqual(mockData); - expect(response.status).toBe(200); - - // assert error is empty - expect(error).toBeUndefined(); - }); - - it("sends correct options, returns error", async () => { - const mockError = { code: 404, message: "Post not found" }; - const client = createClient({ baseUrl }); - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - status: 404, - body: mockError, - }); - - const { data, error, response } = await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: "my-post" } }, - }); - - // assert correct URL was called - expect(getRequest().url).toBe(`${baseUrl}/blogposts/my-post`); - - // assert correct method was called - expect(getRequest().method).toBe("GET"); - - // assert correct error was returned - expect(error).toEqual(mockError); - expect(response.status).toBe(404); - - // assert data is empty - expect(data).toBeUndefined(); - }); - - // note: this was a previous bug in the type inference - it("handles array-type responses", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts", - status: 200, - body: [], - }); - - const { data } = await client.GET("/blogposts", { params: {} }); - if (!data) { - throw new Error("data empty"); - } - - // assert array type (and only array type) was inferred - expect(data.length).toBe(0); - }); - - it("handles literal 2XX and 4XX codes", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "put", - path: "/media", - status: 201, - body: { status: "success" }, - }); - - const { data, error } = await client.PUT("/media", { - body: { media: "base64", name: "myImage" }, - }); - - if (data) { - // assert 2XX type inferred correctly - expect(data.status).toBe("success"); - } else { - // assert 4XX type inferred correctly - // (this should be a dead code path but tests TS types) - expect(error.message).toBe("Error"); - } - }); - - it("gracefully handles invalid JSON for errors", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts", - status: 401, - body: "Unauthorized", - }); - - const { data, error } = await client.GET("/blogposts"); - - expect(data).toBeUndefined(); - expect(error).toBe("Unauthorized"); - }); - }); - - describe("POST()", () => { - it("sends the correct method", async () => { - const client = createClient({ baseUrl }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "post", - path: "/anyMethod", - }); - await client.POST("/anyMethod"); - expect(getRequest().method).toBe("POST"); - }); - - it("sends correct options, returns success", async () => { - const mockData = { status: "success" }; - - const client = createClient({ baseUrl }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "put", - path: "/blogposts", - status: 201, - body: mockData, - }); - - const { data, error, response } = await client.PUT("/blogposts", { - body: { - title: "New Post", - body: "

Best post yet

", - publish_date: new Date("2023-03-31T12:00:00Z").getTime(), - }, - }); - - // assert correct URL was called - expect(getRequestUrl().pathname).toBe("/blogposts"); - - // assert correct data was returned - expect(data).toEqual(mockData); - expect(response.status).toBe(201); - - // assert error is empty - expect(error).toBeUndefined(); - }); - - it("supports sepecifying utf-8 encoding", async () => { - const mockData = { message: "My reply" }; - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "put", - path: "/comment", - status: 201, - body: mockData, - }); - - const { data, error, response } = await client.PUT("/comment", { - params: {}, - body: { - message: "My reply", - replied_at: new Date("2023-03-31T12:00:00Z").getTime(), - }, - }); - - // assert correct data was returned - expect(data).toEqual(mockData); - expect(response.status).toBe(201); - - // assert error is empty - expect(error).toBeUndefined(); - }); - }); - - describe("DELETE()", () => { - it("sends the correct method", async () => { - const client = createClient({ baseUrl }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "delete", - path: "/anyMethod", - }); - await client.DELETE("/anyMethod"); - expect(getRequest().method).toBe("DELETE"); - }); - - it("returns empty object on 204", async () => { - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "delete", - path: "/blogposts/:post_id", - handler: () => new HttpResponse(null, { status: 204 }), - }); - const { data, error } = await client.DELETE("/blogposts/{post_id}", { - params: { - path: { post_id: "123" }, - }, - }); - - // assert correct data was returned - expect(data).toEqual({}); - - // assert error is empty - expect(error).toBeUndefined(); - }); - - it("returns empty object on Content-Length: 0", async () => { - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "delete", - path: "/blogposts/:post_id", - handler: () => - new HttpResponse(null, { - status: 200, - headers: { - "Content-Length": "0", - }, - }), - }); - - const { data, error } = await client.DELETE("/blogposts/{post_id}", { - params: { - path: { post_id: "123" }, - }, - }); - - // assert correct data was returned - expect(data).toEqual({}); - - // assert error is empty - expect(error).toBeUndefined(); - }); - }); - - describe("OPTIONS()", () => { - it("sends the correct method", async () => { - const client = createClient({ baseUrl }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "options", - path: "/anyMethod", - }); - await client.OPTIONS("/anyMethod"); - expect(getRequest().method).toBe("OPTIONS"); - }); - }); - - describe("HEAD()", () => { - it("sends the correct method", async () => { - const client = createClient({ baseUrl }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "head", - path: "/anyMethod", - }); - await client.HEAD("/anyMethod"); - expect(getRequest().method).toBe("HEAD"); - }); - }); - - describe("PATCH()", () => { - it("sends the correct method", async () => { - const client = createClient({ baseUrl }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "patch", - path: "/anyMethod", - }); - await client.PATCH("/anyMethod"); - expect(getRequest().method).toBe("PATCH"); - }); - }); - - // NOTE: msw does not support TRACE method - // so instead we verify that calling TRACE() with msw throws an error - describe("TRACE()", () => { - it("sends the correct method", async () => { - const client = createClient({ baseUrl }); - useMockRequestHandler({ - baseUrl, - method: "all", // note: msw doesn’t support TRACE method - path: "/anyMethod", - }); - - await expect(async () => await client.TRACE("/anyMethod")).rejects.toThrowError( - "'TRACE' HTTP method is unsupported", - ); - }); - }); - - describe("path based client", () => { - it("provides a PathBasedClient type", () => { - const client = createPathBasedClient({ baseUrl }); - expectTypeOf(client).toEqualTypeOf>(); - }); - - it("performs a call without params", async () => { - const client = createPathBasedClient({ baseUrl }); - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/anyMethod", - }); - await client["/anyMethod"].GET(); - expect(getRequest().method).toBe("GET"); - }); - - it("performs a call with params", async () => { - const client = createPathBasedClient({ baseUrl }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - status: 200, - body: { title: "Blog post title" }, - }); - - // Wrong method - // @ts-expect-error - await client["/blogposts/{post_id}"].POST({ - params: { - // Unknown property `path`. - // @ts-expect-error - path: { post_id: "1234" }, - }, - }); - - await client["/blogposts/{post_id}"].GET({ - // expect error on number instead of string. - // @ts-expect-error - params: { path: { post_id: 1234 } }, - }); - - const { data, error } = await client["/blogposts/{post_id}"].GET({ - params: { path: { post_id: "1234" } }, - }); - - expect(getRequestUrl().pathname).toBe("/blogposts/1234"); - - // Check typing of data. - if (error) { - // Fail, but we need the if above for type inference. - expect(error).toBeUndefined(); - } else { - // @ts-expect-error - data.not_a_blogpost_property; - // Check typing of result value. - expect(data.title).toBe("Blog post title"); - } - }); - - it("performs a POST call", async () => { - const client = createPathBasedClient({ baseUrl }); - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "post", - path: "/anyMethod", - }); - await client["/anyMethod"].POST(); - expect(getRequest().method).toBe("POST"); - }); - - it("performs a PUT call with a request body", async () => { - const mockData = { status: "success" }; - - const client = createPathBasedClient({ baseUrl }); - const { getRequestUrl } = useMockRequestHandler({ - baseUrl, - method: "put", - path: "/blogposts", - status: 201, - body: mockData, - }); - - await client["/blogposts"].PUT({ - body: { - title: "New Post", - body: "

Best post yet

", - // Should be a number, not a Date. - // @ts-expect-error - publish_date: new Date("2023-03-31T12:00:00Z"), - }, - }); - - const { data, error, response } = await client["/blogposts"].PUT({ - body: { - title: "New Post", - body: "

Best post yet

", - publish_date: new Date("2023-03-31T12:00:00Z").getTime(), - }, - }); - - // assert correct URL was called - expect(getRequestUrl().pathname).toBe("/blogposts"); - - // assert correct data was returned - expect(data).toEqual(mockData); - expect(response.status).toBe(201); - - // assert error is empty - expect(error).toBeUndefined(); - }); - }); -}); - -// test that the library behaves as expected inside commonly-used patterns -describe("examples", () => { - it("auth middleware", async () => { - let accessToken: string | undefined = undefined; - const authMiddleware: Middleware = { - async onRequest({ request }) { - if (accessToken) { - request.headers.set("Authorization", `Bearer ${accessToken}`); - return request; - } - }, - }; - - const client = createClient({ baseUrl }); - client.use(authMiddleware); - - const { getRequest } = useMockRequestHandler({ - baseUrl, - method: "get", - path: "/blogposts/:post_id", - }); - - // assert initial call is unauthenticated - await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: "1234" } }, - }); - expect(getRequest().headers.get("authorization")).toBeNull(); - - // assert after setting token, client is authenticated - accessToken = "real_token"; - await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: "1234" } }, - }); - expect(getRequest().headers.get("authorization")).toBe(`Bearer ${accessToken}`); - }); -}); diff --git a/packages/openapi-fetch/test/middleware/middleware.test.ts b/packages/openapi-fetch/test/middleware/middleware.test.ts new file mode 100644 index 000000000..1ac49e751 --- /dev/null +++ b/packages/openapi-fetch/test/middleware/middleware.test.ts @@ -0,0 +1,356 @@ +import { expect, test } from "vitest"; +import { createObservedClient } from "../helpers.js"; +import type { Middleware, MiddlewareCallbackParams } from "../../src/index.js"; +import type { paths } from "./schemas/middleware.js"; + +test("receives a UUID per-request", async () => { + const client = createObservedClient(); + + const requestIDs: string[] = []; + const responseIDs: string[] = []; + + client.use({ + async onRequest({ id }) { + requestIDs.push(id); + }, + async onResponse({ id }) { + responseIDs.push(id); + }, + }); + + await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + + // assert IDs matched between requests and responses + expect(requestIDs[0]).toBe(responseIDs[0]); + expect(requestIDs[1]).toBe(responseIDs[1]); + expect(requestIDs[2]).toBe(responseIDs[2]); + + // assert IDs were unique + expect(requestIDs[0] !== requestIDs[1] && requestIDs[1] !== requestIDs[2]).toBe(true); +}); + +test("can modify request", async () => { + let actualRequest = new Request("https://nottherealurl.fake"); + const client = createObservedClient({}, async (req) => { + actualRequest = new Request(req); + return Response.json({}); + }); + client.use({ + async onRequest({ request }) { + return new Request("https://foo.bar/api/v1", { + ...request, + method: "OPTIONS", + headers: { foo: "bar" }, + }); + }, + }); + + await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + + expect(actualRequest.url).toBe("https://foo.bar/api/v1"); + expect(actualRequest.method).toBe("OPTIONS"); + expect(actualRequest.headers.get("foo")).toBe("bar"); +}); + +test("can modify response", async () => { + const toUnix = (date: string) => new Date(date).getTime(); + + const rawBody = { + email: "user123@gmail.com", + created_at: "2024-01-01T00:00:00Z", + updated_at: "2024-01-20T00:00:00Z", + }; + + const client = createObservedClient({}, async () => Response.json(rawBody, { headers: { foo: "bar" } })); + + client.use({ + // convert date string to unix time + async onResponse({ response }) { + const body = await response.json(); + body.created_at = toUnix(body.created_at); + body.updated_at = toUnix(body.updated_at); + const headers = new Headers(response.headers); + headers.set("middleware", "value"); + return new Response(JSON.stringify(body), { + status: 201, + headers, + }); + }, + }); + + const { data, response } = await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + + // assert body was modified + expect((data as any).created_at).toBe(toUnix(rawBody.created_at)); + expect((data as any).updated_at).toBe(toUnix(rawBody.updated_at)); + // assert rest of body was preserved + expect((data as any).email).toBe(rawBody.email); + // assert status changed + expect(response.status).toBe(201); + // assert server headers were preserved + expect(response.headers.get("foo")).toBe("bar"); + // assert middleware heaers were added + expect(response.headers.get("middleware")).toBe("value"); +}); + +test("executes in expected order", async () => { + let actualRequest = new Request("https://nottherealurl.fake"); + const client = createObservedClient({}, async (req) => { + actualRequest = new Request(req); + return Response.json({}); + }); + // this middleware passes along the “step” header + // for both requests and responses, but first checks if + // it received the end result of the previous middleware step + client.use( + { + async onRequest({ request }) { + request.headers.set("step", "A"); + return request; + }, + async onResponse({ response }) { + if (response.headers.get("step") === "B") { + const headers = new Headers(response.headers); + headers.set("step", "A"); + return new Response(response.body, { ...response, headers }); + } + }, + }, + { + async onRequest({ request }) { + request.headers.set("step", "B"); + return request; + }, + async onResponse({ response }) { + const headers = new Headers(response.headers); + headers.set("step", "B"); + if (response.headers.get("step") === "C") { + return new Response(response.body, { ...response, headers }); + } + }, + }, + { + onRequest({ request }) { + request.headers.set("step", "C"); + return request; + }, + onResponse({ response }) { + response.headers.set("step", "C"); + return response; + }, + }, + ); + + const { response } = await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + + // assert requests ended up on step C (array order) + expect(actualRequest.headers.get("step")).toBe("C"); + + // assert responses ended up on step A (reverse order) + expect(response.headers.get("step")).toBe("A"); +}); + +test("receives correct options", async () => { + let requestBaseUrl = ""; + + const client = createObservedClient({ + baseUrl: "https://api.foo.bar/v1/", + }); + client.use({ + onRequest({ options }) { + requestBaseUrl = options.baseUrl; + return undefined; + }, + }); + + await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + expect(requestBaseUrl).toBe("https://api.foo.bar/v1"); +}); + +test("receives the original request", async () => { + const client = createObservedClient(); + client.use({ + onResponse({ request }) { + expect(request).toBeInstanceOf(Request); + return undefined; + }, + }); + + await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); +}); + +test("receives OpenAPI options passed in from parent", async () => { + const pathname = "/tag/{name}"; + const tagData = { + params: { + path: { + name: "New Tag", + }, + }, + body: { + description: "Tag Description", + }, + query: { + foo: "bar", + }, + }; + + let receivedPath = ""; + let receivedParams: MiddlewareCallbackParams["params"] = {}; + + const client = createObservedClient(); + client.use({ + onRequest({ schemaPath, params }) { + receivedPath = schemaPath; + receivedParams = params; + return undefined; + }, + }); + await client.PUT(pathname, tagData); + + expect(receivedPath).toBe(pathname); + expect(receivedParams).toEqual(tagData.params); +}); + +test("can be skipped without interrupting request", async () => { + const client = createObservedClient({}, async (req) => { + if (!req) { + return Response.json(null, { status: 500 }); + } + return Response.json({ id: 123 }); + }); + client.use({ + onRequest() { + return undefined; + }, + }); + const { data } = await client.GET("/posts/{id}", { params: { path: { id: 123 } } }); + + expect(data).toEqual({ id: 123 }); +}); + +test("can be ejected", async () => { + let called = false; + const errorMiddleware = { + onRequest() { + called = true; + throw new Error("oops"); + }, + }; + + const client = createObservedClient({}, async (req) => Response.json({ id: 123 })); + client.use(errorMiddleware); + client.eject(errorMiddleware); + + expect(() => client.GET("/posts/{id}", { params: { path: { id: 123 } } })).not.toThrow(); + expect(called).toBe(false); +}); + +test("preserves (and can safely add) headers", async () => { + let actualRequest = new Request("https://nottherealurl.fake"); + const client = createObservedClient( + { + headers: { + createClient: "exists", + }, + }, + async (req) => { + actualRequest = new Request(req); + return Response.json({ id: 123 }); + }, + ); + + client.use( + { + onRequest({ request }) { + // assert headers are kept in middleware onRequest + expect(request.headers.get("createClient")).toBe("exists"); + expect(request.headers.get("onFetch")).toBe("exists"); + request.headers.set("onRequest", "exists"); + return request; + }, + onResponse({ request }) { + // assert headers are (still) kept in onResponse + expect(request.headers.get("createClient")).toBe("exists"); + expect(request.headers.get("onFetch")).toBe("exists"); + expect(request.headers.get("onRequest")).toBe("exists"); + }, + }, + { + onRequest({ request }) { + // also assert a 2nd middleware (that doesn’t modify request) still sees headers + expect(request.headers.get("createClient")).toBe("exists"); + expect(request.headers.get("onFetch")).toBe("exists"); + expect(request.headers.get("onRequest")).toBe("exists"); + }, + }, + ); + + await client.GET("/posts/{id}", { + params: { path: { id: 123 } }, + headers: { onFetch: "exists" }, + }); + + // assert server received them in final request + expect(actualRequest.headers.get("createClient")).toBe("exists"); + expect(actualRequest.headers.get("onFetch")).toBe("exists"); + expect(actualRequest.headers.get("onRequest")).toBe("exists"); +}); + +test("baseUrl can be overridden", async () => { + let reqUrl = ""; + + const client = createObservedClient( + { + baseUrl: "https://nottherealurl.fake", + }, + async () => Response.json({ id: 123 }), + ); + client.use({ + onRequest({ options }) { + reqUrl = options.baseUrl; + return undefined; + }, + }); + + await client.GET("/posts/{id}", { + baseUrl: "https://api.foo.bar/v1/", + params: { path: { id: 123 } }, + }); + expect(reqUrl).toBe("https://api.foo.bar/v1"); +}); + +test("auth header", async () => { + let accessToken: string | undefined = undefined; + const authMiddleware: Middleware = { + async onRequest({ request }) { + if (accessToken) { + request.headers.set("Authorization", `Bearer ${accessToken}`); + return request; + } + }, + }; + + let headers = new Headers(); + const client = createObservedClient({}, async (req) => { + headers = req.headers; + return Response.json({}); + }); + client.use(authMiddleware); + + // assert initial call is unauthenticated + await client.GET("/posts/{id}", { + params: { path: { id: 123 } }, + }); + expect(headers.get("authorization")).toBeNull(); + + // assert after setting token, client is authenticated + accessToken = "real_token"; + await client.GET("/posts/{id}", { + params: { path: { id: 123 } }, + }); + expect(headers.get("authorization")).toBe(`Bearer ${accessToken}`); +}); diff --git a/packages/openapi-fetch/test/middleware/schemas/middleware.d.ts b/packages/openapi-fetch/test/middleware/schemas/middleware.d.ts new file mode 100644 index 000000000..cf91f3dfd --- /dev/null +++ b/packages/openapi-fetch/test/middleware/schemas/middleware.d.ts @@ -0,0 +1,132 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/posts/{id}": { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Post"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["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?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + name?: string; + description?: string; + }; + }; + }; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Tag"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Error: { + code: number; + message: string; + }; + Post: { + id: number; + }; + Tag: { + name: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/openapi-fetch/test/middleware/schemas/middleware.yaml b/packages/openapi-fetch/test/middleware/schemas/middleware.yaml new file mode 100644 index 000000000..5f91e5dd7 --- /dev/null +++ b/packages/openapi-fetch/test/middleware/schemas/middleware.yaml @@ -0,0 +1,84 @@ +openapi: "3.1" +info: + title: openapi-fetch + version: "1.0" +paths: + /posts/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: integer + get: + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/Post" + 404: + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /tag/{name}: + parameters: + - name: name + in: path + required: true + schema: + type: string + put: + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: + type: string + responses: + 201: + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/Tag" + 404: + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/Error" +components: + schemas: + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + message: + type: string + Post: + type: object + required: + - id + properties: + id: + type: integer + Tag: + type: object + required: + - name + properties: + name: + type: string diff --git a/packages/openapi-fetch/test/no-strict-null-checks/no-strict-null-checks.test.ts b/packages/openapi-fetch/test/no-strict-null-checks/no-strict-null-checks.test.ts new file mode 100644 index 000000000..32b2b532a --- /dev/null +++ b/packages/openapi-fetch/test/no-strict-null-checks/no-strict-null-checks.test.ts @@ -0,0 +1,95 @@ +import { assertType, describe, expect, test } from "vitest"; +import type { components, paths } from "../common/schemas/common.js"; +import { createObservedClient } from "../helpers.js"; + +// Perform some basic type tests +// but with `strictNullChecks` disabled in tsconfig.json + +type Resource = components["schemas"]["Resource"]; + +const resource1: Resource = { id: 123 }; +const resource2: Resource = { id: 456 }; +const resource3: Resource = { id: 789 }; + +describe("params", () => { + describe("path", () => { + test("typechecks", async () => { + const client = createObservedClient({}, async (req) => { + const found = [resource1, resource2, resource3].find( + (post) => String(post.id) === req.url.split("/resources/")[1], + ); + return found ? Response.json(found) : Response.json({ code: 404, message: "Not found" }, { status: 404 }); + }); + + // assert missing options throws error + await client + // @ts-expect-error + .GET("/resources/{id}"); + + // assert missing options.params throws error + await client + // @ts-expect-error + .GET("/resources/{id}", {}); + + // assert missing path params throws error + await client.GET("/resources/{id}", { + // @ts-expect-error + params: {}, + }); + + // assert empty paths object throws error + await client.GET("/resources/{id}", { + params: { + // @ts-expect-error + path: {}, + }, + }); + + // assert right name, mismatched type throws error + await client.GET("/resources/{id}", { + params: { + path: { + // @ts-expect-error + id: "123", + }, + }, + }); + + // assert right name, right type passes + const result = await client.GET("/resources/{id}", { params: { path: { id: 456 } } }); + expect(result.data).toEqual(resource2); + }); + + test("typechecks (empty path params)", async () => { + const client = createObservedClient({}, async () => Response.json([resource1, resource2, resource3])); + + // assert unneeded path params throws type error + await client.GET("/resources", { + params: { + // @ts-expect-error + path: { id: 123 }, + }, + }); + + // assert even empty objects throw type error + await client.GET("/resources", { + params: { + // @ts-expect-error + path: {}, + }, + }); + + const { data } = await client.GET("/resources"); + + // assert data matches expected type + if (data) { + assertType(data); + expect(data).toEqual([resource1, resource2, resource3]); // also test runtime, too + } else { + // note: even though this is not a reachable code path, type tests still work! + // @ts-expect-error: FIXME: data is undefined for strictNullChecks: false + assertType(data); + } + }); + }); +}); diff --git a/packages/openapi-fetch/test/no-strict-null-checks/noStrictNullChecks.test.ts b/packages/openapi-fetch/test/no-strict-null-checks/noStrictNullChecks.test.ts deleted file mode 100644 index d61ff6615..000000000 --- a/packages/openapi-fetch/test/no-strict-null-checks/noStrictNullChecks.test.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { afterAll, beforeAll, describe, it } from "vitest"; -import createClient from "../../src/index.js"; -import { server, baseUrl, useMockRequestHandler } from "../fixtures/mock-server.js"; -import type { paths } from "../fixtures/api.js"; - -beforeAll(() => { - server.listen({ - onUnhandledRequest: (request) => { - throw new Error(`No request handler found for ${request.method} ${request.url}`); - }, - }); -}); - -afterEach(() => server.resetHandlers()); - -afterAll(() => server.close()); - -describe("client", () => { - describe("TypeScript checks", () => { - describe("params", () => { - it("is optional if no parameters are defined", async () => { - const client = createClient({ - baseUrl, - }); - - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: { message: "OK" }, - }); - - // assert no type error - await client.GET("/self"); - - // assert no type error with empty params - await client.GET("/self", { params: {} }); - }); - - it("checks types of optional params", async () => { - const client = createClient({ - baseUrl, - }); - - useMockRequestHandler({ - baseUrl, - method: "get", - path: "/self", - status: 200, - body: { message: "OK" }, - }); - - // assert no type error with no params - await client.GET("/blogposts"); - - // assert no type error with empty params - await client.GET("/blogposts", { params: {} }); - - // expect error on incorrect param type - // @ts-expect-error - await client.GET("/blogposts", { params: { query: { published: "yes" } } }); - - // expect error on extra params - // @ts-expect-error - await client.GET("/blogposts", { params: { query: { fake: true } } }); - }); - }); - - describe("body", () => { - it("requires necessary requestBodies", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "put", - path: "/blogposts", - }); - - // expect error on missing `body` - // @ts-expect-error - await client.PUT("/blogposts"); - - // expect error on missing fields - // @ts-expect-error - await client.PUT("/blogposts", { body: { title: "Foo" } }); - - // (no error) - await client.PUT("/blogposts", { - body: { - title: "Foo", - body: "Bar", - publish_date: new Date("2023-04-01T12:00:00Z").getTime(), - }, - }); - }); - - it("requestBody with required: false", async () => { - const client = createClient({ baseUrl }); - - useMockRequestHandler({ - baseUrl, - method: "put", - path: "/blogposts-optional", - status: 201, - }); - - // assert missing `body` doesn’t raise a TS error - await client.PUT("/blogposts-optional"); - - // assert error on type mismatch - // @ts-expect-error - await client.PUT("/blogposts-optional", { body: { error: true } }); - - // (no error) - await client.PUT("/blogposts-optional", { - body: { - title: "", - publish_date: 3, - body: "", - }, - }); - }); - }); - }); -}); diff --git a/packages/openapi-fetch/test/path-based-client/path-based-client.test.ts b/packages/openapi-fetch/test/path-based-client/path-based-client.test.ts new file mode 100644 index 000000000..25148b300 --- /dev/null +++ b/packages/openapi-fetch/test/path-based-client/path-based-client.test.ts @@ -0,0 +1,82 @@ +import type { MediaType } from "openapi-typescript-helpers"; +import { createExpect, describe, expect, expectTypeOf, test } from "vitest"; +import { createPathBasedClient, type PathBasedClient } from "../../src/index.js"; +import type { paths } from "./schemas/path-based-client.js"; + +// identical to helper, but for createObservedPathBasedClient +function createObservedPathBasedClient( + options?: Parameters>[0], + onRequest: (input: Request) => Promise = async () => Response.json({ status: 200, message: "OK" }), +) { + return createPathBasedClient({ + ...options, + baseUrl: options?.baseUrl || "https://fake-api.example", // Node.js requires a domain for Request(). This restriction doesn’t exist in browsers, but we are using `e2e.test.ts` for that.. + fetch: (input) => onRequest(input), + }); +} + +describe("createPathBasedClient", () => { + describe("path based client", () => { + test("provides a PathBasedClient type", () => { + const client = createObservedPathBasedClient(); + expectTypeOf(client).toEqualTypeOf>(); + }); + + test("GET (no params)", async () => { + let method = ""; + const client = createObservedPathBasedClient({}, async (req) => { + method = req.method; + return Response.json({}); + }); + await client["/posts"].GET(); + expect(method).toBe("GET"); + }); + + test("GET (params)", async () => { + let actualPathname = ""; + const client = createObservedPathBasedClient({}, async (req) => { + actualPathname = new URL(req.url).pathname; + return Response.json({ title: "Blog post title" }); + }); + + // Wrong method + // @ts-expect-error + await client["/posts/{id}"].POST({ + params: { + // Unknown property `path`. + // @ts-expect-error + path: { + id: 123, + }, + }, + }); + + await client["/posts/{id}"].GET({ + params: { + path: { + // expect error on string instead of number. + // @ts-expect-error + id: "1234", + }, + }, + }); + + const { data, error } = await client["/posts/{id}"].GET({ + params: { path: { id: 123 } }, + }); + + expect(actualPathname).toBe("/posts/123"); + + // Check typing of data. + if (error) { + // Fail, but we need the if above for type inference. + expect(error).toBeUndefined(); + } else { + // @ts-expect-error + data.not_a_blogpost_property; + // Check typing of result value. + expect(data.title).toBe("Blog post title"); + } + }); + }); +}); diff --git a/packages/openapi-fetch/test/path-based-client/schemas/path-based-client.d.ts b/packages/openapi-fetch/test/path-based-client/schemas/path-based-client.d.ts new file mode 100644 index 000000000..5eeb19b3c --- /dev/null +++ b/packages/openapi-fetch/test/path-based-client/schemas/path-based-client.d.ts @@ -0,0 +1,119 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/posts": { + 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"]["Post"][]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/posts/{id}": { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Post"]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Error: { + code: number; + message: string; + }; + Post: { + id: number; + title: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/openapi-fetch/test/path-based-client/schemas/path-based-client.yaml b/packages/openapi-fetch/test/path-based-client/schemas/path-based-client.yaml new file mode 100644 index 000000000..471ff77d0 --- /dev/null +++ b/packages/openapi-fetch/test/path-based-client/schemas/path-based-client.yaml @@ -0,0 +1,67 @@ +openapi: 3.1.0 +info: + title: openapi-fetch + version: "1.0" +paths: + /posts: + get: + responses: + 200: + description: OK + operationId: getPosts + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/Post" + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /posts/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: integer + get: + responses: + 200: + description: OK + operationId: getPost + content: + application/json: + schema: + $ref: "#/components/schemas/Post" + default: + description: Unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" +components: + schemas: + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + message: + type: string + Post: + type: object + required: + - id + - title + properties: + id: + type: integer + title: + type: string diff --git a/packages/openapi-fetch/test/redocly.yaml b/packages/openapi-fetch/test/redocly.yaml index f181f9992..6030cfa41 100644 --- a/packages/openapi-fetch/test/redocly.yaml +++ b/packages/openapi-fetch/test/redocly.yaml @@ -1,9 +1,55 @@ +# Note: add more schemas here! +# each test folder can test multiple schemas if needed apis: - unit: - root: ./fixtures/api.yaml + common: + root: ./common/schemas/common.yaml x-openapi-ts: - output: ./fixtures/api.d.ts - e2e: - root: ./fixtures/e2e/e2e.yaml + output: ./common/schemas/common.d.ts + http-get: + root: ./http-methods/schemas/get.yaml x-openapi-ts: - output: ./fixtures/e2e/e2e.d.ts + output: ./http-methods/schemas/get.d.ts + http-put: + root: ./http-methods/schemas/put.yaml + x-openapi-ts: + output: ./http-methods/schemas/put.d.ts + http-post: + root: ./http-methods/schemas/post.yaml + x-openapi-ts: + output: ./http-methods/schemas/post.d.ts + http-delete: + root: ./http-methods/schemas/delete.yaml + x-openapi-ts: + output: ./http-methods/schemas/delete.d.ts + http-options: + root: ./http-methods/schemas/options.yaml + x-openapi-ts: + output: ./http-methods/schemas/options.d.ts + http-head: + root: ./http-methods/schemas/head.yaml + x-openapi-ts: + output: ./http-methods/schemas/head.d.ts + http-patch: + root: ./http-methods/schemas/patch.yaml + x-openapi-ts: + output: ./http-methods/schemas/patch.d.ts + http-trace: + root: ./http-methods/schemas/trace.yaml + x-openapi-ts: + output: ./http-methods/schemas/trace.d.ts + middleware: + root: ./middleware/schemas/middleware.yaml + x-openapi-ts: + output: ./middleware/schemas/middleware.d.ts + path-based-client: + root: ./path-based-client/schemas/path-based-client.yaml + x-openapi-ts: + output: ./path-based-client/schemas/path-based-client.d.ts + github: + root: ../../openapi-typescript/examples/github-api.yaml + x-openapi-ts: + output: ./examples/schemas/github.d.ts + stripe: + root: ../../openapi-typescript/examples/stripe-api.yaml + x-openapi-ts: + output: ./examples/schemas/stripe.d.ts diff --git a/packages/openapi-fetch/tsconfig.json b/packages/openapi-fetch/tsconfig.json index c944b4a37..e17318259 100644 --- a/packages/openapi-fetch/tsconfig.json +++ b/packages/openapi-fetch/tsconfig.json @@ -5,14 +5,13 @@ "downlevelIteration": false, "esModuleInterop": true, "lib": ["ESNext", "DOM"], - "module": "ESNext", - "moduleResolution": "Bundler", + "module": "NodeNext", + "moduleResolution": "NodeNext", "noUncheckedIndexedAccess": true, "outDir": "dist", "skipLibCheck": false, "strict": true, - "target": "ESNext", - "types": ["vitest/globals"] + "target": "ESNext" }, "include": ["src", "test"], "exclude": ["examples", "node_modules", "test/no-strict-null-checks"] diff --git a/packages/openapi-fetch/vitest.config.ts b/packages/openapi-fetch/vitest.config.ts index e2ec33294..412b39e51 100644 --- a/packages/openapi-fetch/vitest.config.ts +++ b/packages/openapi-fetch/vitest.config.ts @@ -3,5 +3,9 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { globals: true, + typecheck: { + enabled: true, + tsconfig: "./tsconfig.json", + }, }, }); diff --git a/packages/openapi-react-query/package.json b/packages/openapi-react-query/package.json index 4aa967f1f..ae2ddc12b 100644 --- a/packages/openapi-react-query/package.json +++ b/packages/openapi-react-query/package.json @@ -65,13 +65,13 @@ "openapi-typescript-helpers": "workspace:^" }, "devDependencies": { - "@testing-library/react": "^16.0.0", + "@testing-library/react": "^16.0.1", "@types/react": "18.3.1", "@vitejs/plugin-react": "^4.3.1", "del-cli": "^5.1.0", "esbuild": "^0.20.2", "execa": "^8.0.1", - "msw": "^2.3.1", + "msw": "^2.4.1", "openapi-typescript": "workspace:^", "react": "^18.3.1", "react-error-boundary": "^4.0.13" diff --git a/packages/openapi-react-query/vitest.config.ts b/packages/openapi-react-query/vitest.config.ts index ed6088b3f..20d86d1e2 100644 --- a/packages/openapi-react-query/vitest.config.ts +++ b/packages/openapi-react-query/vitest.config.ts @@ -1,5 +1,5 @@ -import { defineConfig } from "vitest/config"; import react from "@vitejs/plugin-react"; +import { defineConfig } from "vitest/config"; export default defineConfig({ plugins: [react()], diff --git a/packages/openapi-typescript-helpers/package.json b/packages/openapi-typescript-helpers/package.json index 60292d002..88c408fe8 100644 --- a/packages/openapi-typescript-helpers/package.json +++ b/packages/openapi-typescript-helpers/package.json @@ -45,6 +45,6 @@ "test": "tsc --noEmit" }, "devDependencies": { - "typescript": "^5.4.5" + "typescript": "^5.5.4" } } diff --git a/packages/openapi-typescript/CONTRIBUTING.md b/packages/openapi-typescript/CONTRIBUTING.md index 81b9f699e..fa2d76367 100644 --- a/packages/openapi-typescript/CONTRIBUTING.md +++ b/packages/openapi-typescript/CONTRIBUTING.md @@ -32,7 +32,7 @@ While best practices for commit messages are encouraged (e.g. start with an impe When working locally, run: -```bash +```sh pnpm run dev ``` @@ -101,19 +101,19 @@ This library uses [Vitest](https://vitest.dev/) for testing. There’s a great [ To run the entire test suite once, run: -```bash +```sh pnpm test ``` To run an individual test: -```bash +```sh pnpm test -- [partial filename] ``` To start the entire test suite in watch mode: -```bash +```sh npx vitest ``` @@ -121,7 +121,7 @@ npx vitest Linting is handled via [Biome](https://biomejs.dev), a faster ESLint replacement. It was installed with `pnpm i` and can be run with: -```bash +```sh pnpm run lint ``` @@ -129,7 +129,7 @@ pnpm run lint ⚠️ This may break tests if schemas have been updated -```bash +```sh pnpm run update:examples ``` diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 8dea1a975..88baa9c5f 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -74,7 +74,7 @@ "esbuild": "^0.20.2", "execa": "^8.0.1", "strip-ansi": "^7.1.0", - "typescript": "^5.4.5", + "typescript": "^5.5.4", "vite-node": "^2.0.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2fd8b6ed6..4d59c061c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,69 +9,69 @@ importers: .: devDependencies: '@biomejs/biome': - specifier: ^1.8.1 - version: 1.8.1 + specifier: ^1.8.3 + version: 1.8.3 '@changesets/changelog-github': specifier: ^0.5.0 version: 0.5.0 '@changesets/cli': - specifier: ^2.27.5 - version: 2.27.5 + specifier: ^2.27.7 + version: 2.27.7 '@playwright/test': - specifier: ^1.44.1 - version: 1.44.1 + specifier: ^1.46.1 + version: 1.46.1 '@size-limit/preset-small-lib': specifier: ^11.1.4 version: 11.1.4(size-limit@11.1.4) '@types/node': - specifier: ^20.14.7 - version: 20.14.7 + specifier: ^22.5.2 + version: 22.5.2 del-cli: specifier: ^5.1.0 version: 5.1.0 prettier: - specifier: ^3.3.2 - version: 3.3.2 + specifier: ^3.3.3 + version: 3.3.3 size-limit: specifier: ^11.1.4 version: 11.1.4 typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.5.4 + version: 5.5.4 vitest: specifier: ^2.0.5 - version: 2.0.5(@types/node@20.14.7)(jsdom@20.0.3) + version: 2.0.5(@types/node@22.5.2)(jsdom@20.0.3) docs: devDependencies: vitepress: specifier: 1.3.2 - version: 1.3.2(@algolia/client-search@4.24.0)(@types/node@20.14.7)(@types/react@18.3.3)(axios@1.7.4)(postcss@8.4.41)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)(typescript@5.5.4) + version: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.5.2)(@types/react@18.3.3)(axios@1.7.7)(postcss@8.4.44)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)(typescript@5.5.4) packages/openapi-fetch: dependencies: openapi-typescript-helpers: specifier: workspace:^ version: link:../openapi-typescript-helpers + vitest-fetch-mock: + specifier: ^0.3.0 + version: 0.3.0(vitest@2.0.5(@types/node@22.5.2)(jsdom@20.0.3)) devDependencies: axios: - specifier: ^1.7.4 - version: 1.7.4 + specifier: ^1.7.7 + version: 1.7.7 del-cli: specifier: ^5.1.0 version: 5.1.0 esbuild: - specifier: ^0.23.0 - version: 0.23.0 + specifier: ^0.23.1 + version: 0.23.1 execa: specifier: ^8.0.1 version: 8.0.1 feature-fetch: specifier: ^0.0.15 version: 0.0.15 - msw: - specifier: ^2.3.1 - version: 2.3.1(typescript@5.4.5) openapi-typescript: specifier: workspace:^ version: link:../openapi-typescript @@ -82,20 +82,20 @@ importers: specifier: ^2.0.0 version: 2.0.0 superagent: - specifier: ^10.0.1 - version: 10.0.1 + specifier: ^10.1.0 + version: 10.1.0 typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.5.4 + version: 5.5.4 vite: - specifier: ^5.3.5 - version: 5.3.5(@types/node@20.14.7) + specifier: ^5.4.2 + version: 5.4.2(@types/node@22.5.2) packages/openapi-fetch/examples/nextjs: dependencies: next: specifier: 14.2.3 - version: 14.2.3(@playwright/test@1.44.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.3(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) openapi-fetch: specifier: workspace:^ version: link:../.. @@ -122,8 +122,8 @@ importers: packages/openapi-fetch/examples/react-query: dependencies: '@tanstack/react-query': - specifier: ^5.51.18 - version: 5.51.18(react@18.3.1) + specifier: ^5.53.3 + version: 5.53.3(react@18.3.1) openapi-fetch: specifier: workspace:^ version: link:../.. @@ -145,13 +145,13 @@ importers: version: 18.3.0 '@vitejs/plugin-react-swc': specifier: ^3.7.0 - version: 3.7.0(@swc/helpers@0.5.5)(vite@5.3.5(@types/node@20.14.7)) + version: 3.7.0(@swc/helpers@0.5.5)(vite@5.4.3(@types/node@22.5.2)) typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.5.4 + version: 5.5.4 vite: - specifier: ^5.3.5 - version: 5.3.5(@types/node@20.14.7) + specifier: ^5.4.3 + version: 5.4.3(@types/node@22.5.2) packages/openapi-fetch/examples/sveltekit: dependencies: @@ -160,32 +160,32 @@ importers: version: link:../.. devDependencies: '@sveltejs/adapter-auto': - specifier: ^3.2.2 - version: 3.2.2(@sveltejs/kit@2.5.19(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)))(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7))) + specifier: ^3.2.4 + version: 3.2.4(@sveltejs/kit@2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2))) '@sveltejs/kit': - specifier: ^2.5.19 - version: 2.5.19(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)))(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)) + specifier: ^2.5.25 + version: 2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) '@sveltejs/vite-plugin-svelte': - specifier: ^3.1.1 - version: 3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)) + specifier: ^3.1.2 + version: 3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) openapi-typescript: specifier: workspace:^ version: link:../../../openapi-typescript svelte: - specifier: ^4.2.18 - version: 4.2.18 + specifier: ^4.2.19 + version: 4.2.19 svelte-check: - specifier: ^3.8.5 - version: 3.8.5(@babel/core@7.24.7)(postcss@8.4.41)(svelte@4.2.18) + specifier: ^3.8.6 + version: 3.8.6(@babel/core@7.25.2)(postcss@8.4.44)(svelte@4.2.19) tslib: - specifier: ^2.6.3 - version: 2.6.3 + specifier: ^2.7.0 + version: 2.7.0 typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.5.4 + version: 5.5.4 vite: - specifier: ^5.3.5 - version: 5.3.5(@types/node@20.14.7) + specifier: ^5.4.3 + version: 5.4.3(@types/node@22.5.2) packages/openapi-fetch/examples/vue-3: dependencies: @@ -193,15 +193,15 @@ importers: specifier: workspace:^ version: link:../.. vue: - specifier: ^3.4.35 - version: 3.4.35(typescript@5.4.5) + specifier: ^3.5.0 + version: 3.5.0(typescript@5.5.4) devDependencies: '@tsconfig/node20': specifier: ^20.1.4 version: 20.1.4 '@vitejs/plugin-vue': - specifier: ^5.1.2 - version: 5.1.2(vite@5.3.5(@types/node@20.14.7))(vue@3.4.35(typescript@5.4.5)) + specifier: ^5.1.3 + version: 5.1.3(vite@5.4.3(@types/node@22.5.2))(vue@3.5.0(typescript@5.5.4)) '@vue/tsconfig': specifier: ^0.5.1 version: 0.5.1 @@ -209,20 +209,20 @@ importers: specifier: workspace:^ version: link:../../../openapi-typescript typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.5.4 + version: 5.5.4 vite: - specifier: ^5.3.5 - version: 5.3.5(@types/node@20.14.7) + specifier: ^5.4.3 + version: 5.4.3(@types/node@22.5.2) vue-tsc: - specifier: ^2.0.29 - version: 2.0.29(typescript@5.4.5) + specifier: ^2.1.4 + version: 2.1.4(typescript@5.5.4) packages/openapi-react-query: dependencies: '@tanstack/react-query': specifier: ^5.0.0 - version: 5.45.1(react@18.3.1) + version: 5.53.3(react@18.3.1) openapi-fetch: specifier: workspace:^ version: link:../openapi-fetch @@ -231,14 +231,14 @@ importers: version: link:../openapi-typescript-helpers devDependencies: '@testing-library/react': - specifier: ^16.0.0 - version: 16.0.0(@testing-library/dom@10.1.0)(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^16.0.1 + version: 16.0.1(@testing-library/dom@10.1.0)(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react': specifier: 18.3.1 version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.1(vite@5.4.0(@types/node@20.14.7)) + version: 4.3.1(vite@5.4.3(@types/node@22.5.2)) del-cli: specifier: ^5.1.0 version: 5.1.0 @@ -249,8 +249,8 @@ importers: specifier: ^8.0.1 version: 8.0.1 msw: - specifier: ^2.3.1 - version: 2.3.1(typescript@5.5.4) + specifier: ^2.4.1 + version: 2.4.1(graphql@16.8.2)(typescript@5.5.4) openapi-typescript: specifier: workspace:^ version: link:../openapi-typescript @@ -301,17 +301,17 @@ importers: specifier: ^7.1.0 version: 7.1.0 typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.5.4 + version: 5.5.4 vite-node: specifier: ^2.0.5 - version: 2.0.5(@types/node@20.14.7)(supports-color@9.4.0) + version: 2.0.5(@types/node@22.5.2)(supports-color@9.4.0) packages/openapi-typescript-helpers: devDependencies: typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.5.4 + version: 5.5.4 packages: @@ -387,103 +387,66 @@ packages: '@apidevtools/json-schema-ref-parser@9.0.9': resolution: {integrity: sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==} - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.24.7': - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.24.7': - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.24.7': - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.24.7': - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.24.7': resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.24.7': - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.24.7': - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} '@babel/helper-simple-access@7.24.7': resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.7': - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.7': - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.24.7': - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.24.7': - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.25.3': - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} hasBin: true @@ -499,79 +462,71 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.24.7': - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} - engines: {node: '>=6.9.0'} - - '@babel/runtime@7.25.0': - resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + '@babel/runtime@7.25.6': + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.7': - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.7': - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.2': - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@biomejs/biome@1.8.1': - resolution: {integrity: sha512-fQXGfvq6DIXem12dGQCM2tNF+vsNHH1qs3C7WeOu75Pd0trduoTmoO7G4ntLJ2qDs5wuw981H+cxQhi1uHnAtA==} + '@biomejs/biome@1.8.3': + resolution: {integrity: sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.8.1': - resolution: {integrity: sha512-XLiB7Uu6GALIOBWzQ2aMD0ru4Ly5/qSeQF7kk3AabzJ/kwsEWSe33iVySBP/SS2qv25cgqNiLksjGcw2bHT3mw==} + '@biomejs/cli-darwin-arm64@1.8.3': + resolution: {integrity: sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.8.1': - resolution: {integrity: sha512-uMTSxVLMfqkBVqyc25hSn83jBbp+wtWjzM/pHFlKXt3htJuw7FErVGW0nmQ9Sxa9vJ7GcqoltLMl28VQRIMYzg==} + '@biomejs/cli-darwin-x64@1.8.3': + resolution: {integrity: sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.8.1': - resolution: {integrity: sha512-UQ8Wc01J0wQL+5AYOc7qkJn20B4PZmQL1KrmDZh7ot0DvD6aX4+8mmfd/dG5b6Zjo/44QvCKcvkFGCMRYuhWZA==} + '@biomejs/cli-linux-arm64-musl@1.8.3': + resolution: {integrity: sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.8.1': - resolution: {integrity: sha512-3SzZRuC/9Oi2P2IBNPsEj0KXxSXUEYRR2kfRF/Ve8QAfGgrt4qnwuWd6QQKKN5R+oYH691qjm+cXBKEcrP1v/Q==} + '@biomejs/cli-linux-arm64@1.8.3': + resolution: {integrity: sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.8.1': - resolution: {integrity: sha512-fYbP/kNu/rtZ4kKzWVocIdqZOtBSUEg9qUhZaao3dy3CRzafR6u6KDtBeSCnt47O+iLnks1eOR1TUxzr5+QuqA==} + '@biomejs/cli-linux-x64-musl@1.8.3': + resolution: {integrity: sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.8.1': - resolution: {integrity: sha512-AeBycVdNrTzsyYKEOtR2R0Ph0hCD0sCshcp2aOnfGP0hCZbtFg09D0SdKLbyzKntisY41HxKVrydYiaApp+2uw==} + '@biomejs/cli-linux-x64@1.8.3': + resolution: {integrity: sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.8.1': - resolution: {integrity: sha512-6tEd1H/iFKpgpE3OIB7oNgW5XkjiVMzMRPL8zYoZ036YfuJ5nMYm9eB9H/y81+8Z76vL48fiYzMPotJwukGPqQ==} + '@biomejs/cli-win32-arm64@1.8.3': + resolution: {integrity: sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.8.1': - resolution: {integrity: sha512-g2H31jJzYmS4jkvl6TiyEjEX+Nv79a5km/xn+5DARTp5MBFzC9gwceusSSB2AkJKqZzY131AiACAWjKrVt5Ijw==} + '@biomejs/cli-win32-x64@1.8.3': + resolution: {integrity: sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -588,11 +543,14 @@ packages: '@bundled-es-modules/statuses@1.0.1': resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} - '@changesets/apply-release-plan@7.0.3': - resolution: {integrity: sha512-klL6LCdmfbEe9oyfLxnidIf/stFXmrbFO/3gT5LU5pcyoZytzJe4gWpTBx3BPmyNPl16dZ1xrkcW7b98e3tYkA==} + '@bundled-es-modules/tough-cookie@0.1.6': + resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} + + '@changesets/apply-release-plan@7.0.4': + resolution: {integrity: sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==} - '@changesets/assemble-release-plan@6.0.2': - resolution: {integrity: sha512-n9/Tdq+ze+iUtjmq0mZO3pEhJTKkku9hUxtUadW30jlN7kONqJG3O6ALeXrmc6gsi/nvoCuKjqEJ68Hk8RbMTQ==} + '@changesets/assemble-release-plan@6.0.3': + resolution: {integrity: sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} @@ -600,24 +558,24 @@ packages: '@changesets/changelog-github@0.5.0': resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} - '@changesets/cli@2.27.5': - resolution: {integrity: sha512-UVppOvzCjjylBenFcwcZNG5IaZ8jsIaEVraV/pbXgukYNb0Oqa0d8UWb0LkYzA1Bf1HmUrOfccFcRLheRuA7pA==} + '@changesets/cli@2.27.7': + resolution: {integrity: sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==} hasBin: true - '@changesets/config@3.0.1': - resolution: {integrity: sha512-nCr8pOemUjvGJ8aUu8TYVjqnUL+++bFOQHBVmtNbLvKzIDkN/uiP/Z4RKmr7NNaiujIURHySDEGFPftR4GbTUA==} + '@changesets/config@3.0.2': + resolution: {integrity: sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.0': - resolution: {integrity: sha512-QOt6pQq9RVXKGHPVvyKimJDYJumx7p4DO5MO9AhRJYgAPgv0emhNqAqqysSVKHBm4sxKlGN4S1zXOIb5yCFuhQ==} + '@changesets/get-dependents-graph@2.1.1': + resolution: {integrity: sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==} '@changesets/get-github-info@0.6.0': resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} - '@changesets/get-release-plan@4.0.2': - resolution: {integrity: sha512-rOalz7nMuMV2vyeP7KBeAhqEB7FM2GFPO5RQSoOoUKKH9L6wW3QyPA2K+/rG9kBrWl2HckPVES73/AuwPvbH3w==} + '@changesets/get-release-plan@4.0.3': + resolution: {integrity: sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -684,8 +642,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.23.0': - resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -702,8 +660,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.23.0': - resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -720,8 +678,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.23.0': - resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -738,8 +696,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.23.0': - resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -756,8 +714,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.23.0': - resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -774,8 +732,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.23.0': - resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -792,8 +750,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.23.0': - resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -810,8 +768,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.23.0': - resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -828,8 +786,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.23.0': - resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -846,8 +804,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.23.0': - resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -864,8 +822,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.23.0': - resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -882,8 +840,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.23.0': - resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -900,8 +858,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.23.0': - resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -918,8 +876,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.23.0': - resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -936,8 +894,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.23.0': - resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -954,8 +912,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.23.0': - resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -972,8 +930,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.23.0': - resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -990,14 +948,14 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.23.0': - resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.23.0': - resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==} + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -1014,8 +972,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.23.0': - resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -1032,8 +990,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.23.0': - resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -1050,8 +1008,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.23.0': - resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -1068,8 +1026,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.23.0': - resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -1086,26 +1044,26 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.23.0': - resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@inquirer/confirm@3.1.10': - resolution: {integrity: sha512-/aAHu83Njy6yf44T+ZrRPUkMcUqprrOiIKsyMvf9jOV+vF5BNb2ja1aLP33MK36W8eaf91MTL/mU/e6METuENg==} + '@inquirer/confirm@3.2.0': + resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} engines: {node: '>=18'} - '@inquirer/core@8.2.3': - resolution: {integrity: sha512-WrpDVPAaxJQjHid3Ra4FhUO70YBzkHSYVyW5X48L5zHYdudoPISJqTRRWSeamHfaXda7PNNaC5Py5MEo7QwBNA==} + '@inquirer/core@9.1.0': + resolution: {integrity: sha512-RZVfH//2ytTjmaBIzeKT1zefcQZzuruwkpTwwbe/i2jTl4o9M+iML5ChULzz6iw1Ok8iUBBsRCjY2IEbD8Ft4w==} engines: {node: '>=18'} - '@inquirer/figures@1.0.3': - resolution: {integrity: sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==} + '@inquirer/figures@1.0.5': + resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==} engines: {node: '>=18'} - '@inquirer/type@1.3.3': - resolution: {integrity: sha512-xTUt0NulylX27/zMx04ZYar/kr1raaiFTVvQ5feljQsiAgdm0WPj4S73/ye0fbslh+15QrIuDvfCXTek7pMY5A==} + '@inquirer/type@1.5.3': + resolution: {integrity: sha512-xUQ14WQGR/HK5ei+2CvgcwoH9fQ4PgPGmVFSN0pc1+fVyDL3MREhyAY7nxEErSu6CkllBM3D7e3e+kOvtu+eIg==} engines: {node: '>=18'} '@jridgewell/gen-mapping@0.3.5': @@ -1135,10 +1093,6 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@mswjs/cookies@1.1.1': - resolution: {integrity: sha512-W68qOHEjx1iD+4VjQudlx26CPIoxmIAtK4ZCexU0/UJBG6jYhcuyzKJx+Iw8uhBIGd9eba64XgWVgo20it1qwA==} - engines: {node: '>=18'} - '@mswjs/interceptors@0.29.1': resolution: {integrity: sha512-3rDakgJZ77+RiQUuSK69t1F0m8BQKA8Vh5DCS5V0DWvNY67zob2JhhQrhCO0AKLGINTRSFd1tBaHcJTkhefoSw==} engines: {node: '>=18'} @@ -1221,9 +1175,9 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} - '@playwright/test@1.44.1': - resolution: {integrity: sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==} - engines: {node: '>=16'} + '@playwright/test@1.46.1': + resolution: {integrity: sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==} + engines: {node: '>=18'} hasBin: true '@polka/url@1.0.0-next.25': @@ -1239,163 +1193,83 @@ packages: resolution: {integrity: sha512-z06h+svyqbUcdAaePq8LPSwTPlm6Ig7j2VlL8skPBYnJvyaQ2IN7x/JkOvRL4ta+wcOCBdAex5JWnZbKaNktJg==} engines: {node: '>=14.19.0', npm: '>=7.0.0'} - '@rollup/rollup-android-arm-eabi@4.18.0': - resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + '@rollup/rollup-android-arm-eabi@4.21.2': + resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.20.0': - resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.18.0': - resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-android-arm64@4.20.0': - resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} + '@rollup/rollup-android-arm64@4.21.2': + resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.18.0': - resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-arm64@4.20.0': - resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} + '@rollup/rollup-darwin-arm64@4.21.2': + resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.18.0': - resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.20.0': - resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} + '@rollup/rollup-darwin-x64@4.21.2': + resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': - resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.20.0': - resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} + '@rollup/rollup-linux-arm-musleabihf@4.21.2': + resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.18.0': - resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.20.0': - resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.18.0': - resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.20.0': - resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.18.0': - resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + '@rollup/rollup-linux-arm64-gnu@4.21.2': + resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.20.0': - resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} + '@rollup/rollup-linux-arm64-musl@4.21.2': + resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': - resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': - resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.18.0': - resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.20.0': - resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} + '@rollup/rollup-linux-riscv64-gnu@4.21.2': + resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.18.0': - resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.20.0': - resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} + '@rollup/rollup-linux-s390x-gnu@4.21.2': + resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.18.0': - resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.20.0': - resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} + '@rollup/rollup-linux-x64-gnu@4.21.2': + resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.18.0': - resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + '@rollup/rollup-linux-x64-musl@4.21.2': + resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.20.0': - resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.18.0': - resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-arm64-msvc@4.20.0': - resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} + '@rollup/rollup-win32-arm64-msvc@4.21.2': + resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.18.0': - resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.20.0': - resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} + '@rollup/rollup-win32-ia32-msvc@4.21.2': + resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.18.0': - resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.20.0': - resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} + '@rollup/rollup-win32-x64-msvc@4.21.2': + resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} cpu: [x64] os: [win32] @@ -1426,17 +1300,17 @@ packages: peerDependencies: size-limit: 11.1.4 - '@sveltejs/adapter-auto@3.2.2': - resolution: {integrity: sha512-Mso5xPCA8zgcKrv+QioVlqMZkyUQ5MjDJiEPuG/Z7cV/5tmwV7LmcVWk5tZ+H0NCOV1x12AsoSpt/CwFwuVXMA==} + '@sveltejs/adapter-auto@3.2.4': + resolution: {integrity: sha512-a64AKYbfTUrVwU0xslzv1Jf3M8bj0IwhptaXmhgIkjXspBXhD0od9JiItQHchijpLMGdEDcYBlvqySkEawv6mQ==} peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.5.19': - resolution: {integrity: sha512-r/lah3nnYEZX1btlvpSy+Exkt1aWhmOP5pnCt+BBro+tZrh2Zci+26Xnm1fCBLLMeM5q7gHvWiS8c/UtrWjdvQ==} + '@sveltejs/kit@2.5.25': + resolution: {integrity: sha512-5hBSEN8XEjDZ5+2bHkFh8Z0QyOk0C187cyb12aANe1c8aeKbfu5ZD5XaC2vEH4h0alJFDXPdUkXQBmeeXeMr1A==} engines: {node: '>=18.13'} hasBin: true peerDependencies: - '@sveltejs/vite-plugin-svelte': ^3.0.0 + '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.3 @@ -1448,75 +1322,75 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 - '@sveltejs/vite-plugin-svelte@3.1.1': - resolution: {integrity: sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==} + '@sveltejs/vite-plugin-svelte@3.1.2': + resolution: {integrity: sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==} engines: {node: ^18.0.0 || >=20} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 - '@swc/core-darwin-arm64@1.7.4': - resolution: {integrity: sha512-RbWrdGh+x9xKFUA9/kPZRR8OPxUsDUuPyLjPIGLYZMO+ftht2vhVH7QsUq6lg+jAP34eIya72UA1isiZe+BRaA==} + '@swc/core-darwin-arm64@1.7.23': + resolution: {integrity: sha512-yyOHPfti6yKlQulfVWMt7BVKst+SyEZYCWuQSGMn1KgmNCH/bYufRWfQXIhkGSj44ZkEepJmsJ8tDyIb4k5WyA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.7.4': - resolution: {integrity: sha512-TxCWMJs4OrqApjFuT8cUiqMz0zg97F0JsXBEeZ7zjkyv9XJ/rN2pdwqMlZv0Wv2C2rivOPo6FsWYlZ3V8ZHhyA==} + '@swc/core-darwin-x64@1.7.23': + resolution: {integrity: sha512-GzqHwQ0Y1VyjdI/bBKFX2GKm5HD3PIB6OhuAQtWZMTtEr2yIrlT0YK2T+XKh7oIg31JwxGBeQdBk3KTI7DARmQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.7.4': - resolution: {integrity: sha512-5IhwIJZAgkkfI6PqgQ3xk0/2hTAVsAczIPLiR2Epp30EgsNo1KIFL0ZHzrnvJPy5BZ3jy3T1dEbDE/memBOEmA==} + '@swc/core-linux-arm-gnueabihf@1.7.23': + resolution: {integrity: sha512-qwX4gB41OS6/OZkHcpTqLFGsdmvoZyffnJIlgB/kZKwH3lfeJWzv6vx57zXtNpM/t7GoQEe0VZUVdmNjxSxBZw==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.7.4': - resolution: {integrity: sha512-0787jri83jigf26mF8FndWehh7jqMaHwAm/OV6VdToyNo/g+d1AxVpkEizrywZK46el+AObnHUIHIHwZgO21LA==} + '@swc/core-linux-arm64-gnu@1.7.23': + resolution: {integrity: sha512-TsrbUZdMaUwzI7+g/8rHPLWbntMKYSu5Bn5IBSqVKPeyqaXxNnlIUnWXgXcUcRAc+T+Y8ADfr7EiFz9iz5DuSA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.7.4': - resolution: {integrity: sha512-A45hGKWAGcjU5Ol0uQUoK0tHerwEKxfprYUZbmPLpD2yrpMZr+dTrwY2n075sixs7RuZEccBkgGNpehEe5BPBQ==} + '@swc/core-linux-arm64-musl@1.7.23': + resolution: {integrity: sha512-JEdtwdthazKq4PBz53KSubwwK8MvqODAihGSAzc8u3Unq4ojcvaS8b0CwLBeD+kTQ78HpxOXTt3DsFIxpgaCAA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.7.4': - resolution: {integrity: sha512-bcO1MpAm39TXqqHuYW4ox4vDvhB7jkguwMwxvmL+cKBGsUHrIoUTfGt9NM9N4D4CvOwULlxqbyt19veUJ7CVPw==} + '@swc/core-linux-x64-gnu@1.7.23': + resolution: {integrity: sha512-V51gFPWaVAHbI1yg9ahsoya3aB4uawye3SZ5uQWgcP7wdCdiv60dw4F5nuPJf5Z1oXD3U/BslXuamv8Oh9vXqQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.7.4': - resolution: {integrity: sha512-N6nXuHyDO/q5kPN2xQxz5BEvhFpgnFSkP+9wxg5xWq+qIQL5bv37jk8dkKvMLx/8fHzTqrIjPDSRzVbcL7sqXg==} + '@swc/core-linux-x64-musl@1.7.23': + resolution: {integrity: sha512-BBqQi4+UdeRqag3yM4IJjaHG4yc1o3l9ksENHToE0o/u2DT0FY5+K/DiYGZLC1JHbSFzNqRCYsa7DIzRtZ0A1A==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.7.4': - resolution: {integrity: sha512-7W1owqCNR1cG+mpS55juiZlR/lrAdxB1pH32egeOipNKOLGwyqmlzQ0g9tkQTNgzwgfpCUg8z606+GqqXvajZw==} + '@swc/core-win32-arm64-msvc@1.7.23': + resolution: {integrity: sha512-JPk6pvCKncL6bXG7p+NLZf8PWx4FakVvKNdwGeMrYunb+yk1IZf7qf9LJk8+GDGF5QviDXPs8opZrTrfsW80fA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.7.4': - resolution: {integrity: sha512-saLkY+q7zNPk4gYiUBCc93FYPo4ECXMjHcSPtLVHoPZBIxRrklgaAf6aDpblBo30nVdoBE2V3YPd0Y/cPiY6RQ==} + '@swc/core-win32-ia32-msvc@1.7.23': + resolution: {integrity: sha512-2Whxi8d+bLQBzJcQ5qYPHlk02YYVGsMVav0fWk+FnX2z1QRREIu1L1xvrpi7gBpjXp6BIU40ya8GiKeekNT2bg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.7.4': - resolution: {integrity: sha512-zKF6jpRBNuVKgOf2W5dMcPyjwcNCp21syjl9lvLRbCeIg+1U+zjdoQCAmMWWoPNE7fLg+yfvohnnOJG2AdzQ9Q==} + '@swc/core-win32-x64-msvc@1.7.23': + resolution: {integrity: sha512-82fARk4/yJ40kwWKY/gdKDisPdtgJE9jgpl/vkNG3alyJxrCzuNM7+CtiKoYbXLeqM8GQTS3wlvCaJu9oQ8dag==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.7.4': - resolution: {integrity: sha512-+wSycNxOw9QQz81AJAZlNS34EtOIifwUXMPACg05PWjECsjOKDTXLCVPx6J0lRaxhHSGBU2OYs9mRfIvxGt3CA==} + '@swc/core@1.7.23': + resolution: {integrity: sha512-VDNkpDvDlreGh2E3tlDj8B3piiuLhhQA/7rIVZpiLUvG1YpucAa6N7iDXA7Gc/+Hah8spaCg/qvEaBkCmcIYCQ==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -1533,28 +1407,20 @@ packages: '@swc/types@0.1.12': resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} - '@tanstack/query-core@5.45.0': - resolution: {integrity: sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==} - - '@tanstack/query-core@5.51.17': - resolution: {integrity: sha512-AtVNOgVrZNz4C7RzMfx7sCn1/gf0Ype4nX8UP2BOh0C2tTMszwXk98iCLRacTn5vTRNJCZxz3fgEcTJq0uv8GQ==} - - '@tanstack/react-query@5.45.1': - resolution: {integrity: sha512-mYYfJujKg2kxmkRRjA6nn4YKG3ITsKuH22f1kteJ5IuVQqgKUgbaSQfYwVP0gBS05mhwxO03HVpD0t7BMN7WOA==} - peerDependencies: - react: ^18.0.0 + '@tanstack/query-core@5.53.3': + resolution: {integrity: sha512-ZfjAgd7NpqDx0e4aYBt7EmS2enbulPrJwowTy+mayRE93WUUH+sIYHun1TdRjpGwDPMNNZ5D6goh7n3CwoO+HA==} - '@tanstack/react-query@5.51.18': - resolution: {integrity: sha512-l/PF3X6Coi53kEDpL2XEU0x+y3szOk/oKWSHMlyy8tyUHviaIg8tJ6O4Cc1AjLAhbyTG1a+bZobdSuLXzYTt/w==} + '@tanstack/react-query@5.53.3': + resolution: {integrity: sha512-286mN/91CeM7vC6CZFLKYDHSw+WyMX6ekIvzoTbpM4xyPb99VSyCKPLyPgaOatKqYm6ooMBquSq9NGRdKgsJfg==} peerDependencies: - react: ^18.0.0 + react: ^18 || ^19 '@testing-library/dom@10.1.0': resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} engines: {node: '>=18'} - '@testing-library/react@16.0.0': - resolution: {integrity: sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==} + '@testing-library/react@16.0.1': + resolution: {integrity: sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==} engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 @@ -1626,8 +1492,11 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.14.7': - resolution: {integrity: sha512-uTr2m2IbJJucF3KUxgnGOZvYbN0QgkGyWxG6973HCpMYFy2KfcgYuIwkJQMQkt1VbBMlvWRbpshFTLxnxCZjKQ==} + '@types/node@20.16.3': + resolution: {integrity: sha512-/wdGiWRkMOm53gAsSyFMXFZHbVg7C6CbkrzHNpaHoYfsUWPg7m6ZRKtvQjgvQ9i8WT540a3ydRlRQbxjY30XxQ==} + + '@types/node@22.5.2': + resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1653,6 +1522,9 @@ packages: '@types/statuses@2.0.5': resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==} + '@types/tough-cookie@4.0.5': + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + '@types/unist@3.0.2': resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} @@ -1673,8 +1545,8 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@vitejs/plugin-vue@5.1.2': - resolution: {integrity: sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==} + '@vitejs/plugin-vue@5.1.3': + resolution: {integrity: sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 @@ -1698,38 +1570,26 @@ packages: '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} - '@volar/language-core@2.4.0-alpha.18': - resolution: {integrity: sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==} - - '@volar/source-map@2.4.0-alpha.18': - resolution: {integrity: sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==} - - '@volar/typescript@2.4.0-alpha.18': - resolution: {integrity: sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==} - - '@vue/compiler-core@3.4.35': - resolution: {integrity: sha512-gKp0zGoLnMYtw4uS/SJRRO7rsVggLjvot3mcctlMXunYNsX+aRJDqqw/lV5/gHK91nvaAAlWFgdVl020AW1Prg==} - - '@vue/compiler-core@3.4.37': - resolution: {integrity: sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==} + '@volar/language-core@2.4.1': + resolution: {integrity: sha512-9AKhC7Qn2mQYxj7Dz3bVxeOk7gGJladhWixUYKef/o0o7Bm4an+A3XvmcTHVqZ8stE6lBVH++g050tBtJ4TZPQ==} - '@vue/compiler-dom@3.4.35': - resolution: {integrity: sha512-pWIZRL76/oE/VMhdv/ovZfmuooEni6JPG1BFe7oLk5DZRo/ImydXijoZl/4kh2406boRQ7lxTYzbZEEXEhj9NQ==} + '@volar/source-map@2.4.1': + resolution: {integrity: sha512-Xq6ep3OZg9xUqN90jEgB9ztX5SsTz1yiV8wiQbcYNjWkek+Ie3dc8l7AVt3EhDm9mSIR58oWczHkzM2H6HIsmQ==} - '@vue/compiler-dom@3.4.37': - resolution: {integrity: sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==} + '@volar/typescript@2.4.1': + resolution: {integrity: sha512-UoRzC0PXcwajFQTu8XxKSYNsWNBtVja6Y9gC8eLv7kYm+UEKJCcZ8g7dialsOYA0HKs3Vpg57MeCsawFLC6m9Q==} - '@vue/compiler-sfc@3.4.35': - resolution: {integrity: sha512-xacnRS/h/FCsjsMfxBkzjoNxyxEyKyZfBch/P4vkLRvYJwe5ChXmZZrj8Dsed/752H2Q3JE8kYu9Uyha9J6PgA==} + '@vue/compiler-core@3.5.0': + resolution: {integrity: sha512-ja7cpqAOfw4tyFAxgBz70Z42miNDeaqTxExTsnXDLomRpqfyCgyvZvFp482fmsElpfvsoMJUsvzULhvxUTW6Iw==} - '@vue/compiler-sfc@3.4.37': - resolution: {integrity: sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==} + '@vue/compiler-dom@3.5.0': + resolution: {integrity: sha512-xYjUybWZXl+1R/toDy815i4PbeehL2hThiSGkcpmIOCy2HoYyeeC/gAWK/Y/xsoK+GSw198/T5O31bYuQx5uvQ==} - '@vue/compiler-ssr@3.4.35': - resolution: {integrity: sha512-7iynB+0KB1AAJKk/biENTV5cRGHRdbdaD7Mx3nWcm1W8bVD6QmnH3B4AHhQQ1qZHhqFwzEzMwiytXm3PX1e60A==} + '@vue/compiler-sfc@3.5.0': + resolution: {integrity: sha512-B9DgLtrqok2GLuaFjLlSL15ZG3ZDBiitUH1ecex9guh/ZcA5MCdwuVE6nsfQxktuZY/QY0awJ35/ripIviCQTQ==} - '@vue/compiler-ssr@3.4.37': - resolution: {integrity: sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==} + '@vue/compiler-ssr@3.5.0': + resolution: {integrity: sha512-E263QZmA1dqRd7c3u/sWTLRMpQOT0aZ8av/L9SoD/v/BVMZaWFHPUUBswS+bzrfvG2suJF8vSLKx6k6ba5SUdA==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -1743,48 +1603,34 @@ packages: '@vue/devtools-shared@7.3.7': resolution: {integrity: sha512-M9EU1/bWi5GNS/+IZrAhwGOVZmUTN4MH22Hvh35nUZZg9AZP2R2OhfCb+MG4EtAsrUEYlu3R43/SIj3G7EZYtQ==} - '@vue/language-core@2.0.29': - resolution: {integrity: sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==} + '@vue/language-core@2.1.4': + resolution: {integrity: sha512-i8pfAgNjTNjabBX1xRsuV6aRw2E8bdQXwd5H8m3cUkTVJju3QN5nfdoXET0uK+yXsuloNJPzo6PXFujRRPNmMA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/reactivity@3.4.35': - resolution: {integrity: sha512-Ggtz7ZZHakriKioveJtPlStYardwQH6VCs9V13/4qjHSQb/teE30LVJNrbBVs4+aoYGtTQKJbTe4CWGxVZrvEw==} + '@vue/reactivity@3.5.0': + resolution: {integrity: sha512-Ew3F5riP3B3ZDGjD3ZKb9uZylTTPSqt8hAf4sGbvbjrjDjrFb3Jm15Tk1/w7WwTE5GbQ2Qhwxx1moc9hr8A/OQ==} - '@vue/reactivity@3.4.37': - resolution: {integrity: sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==} + '@vue/runtime-core@3.5.0': + resolution: {integrity: sha512-mQyW0F9FaNRdt8ghkAs+BMG3iQ7LGgWKOpkzUzR5AI5swPNydHGL5hvVTqFaeMzwecF1g0c86H4yFQsSxJhH1w==} - '@vue/runtime-core@3.4.35': - resolution: {integrity: sha512-D+BAjFoWwT5wtITpSxwqfWZiBClhBbR+bm0VQlWYFOadUUXFo+5wbe9ErXhLvwguPiLZdEF13QAWi2vP3ZD5tA==} + '@vue/runtime-dom@3.5.0': + resolution: {integrity: sha512-NQQXjpdXgyYVJ2M56FJ+lSJgZiecgQ2HhxhnQBN95FymXegRNY/N2htI7vOTwpP75pfxhIeYOJ8mE8sW8KAW6A==} - '@vue/runtime-core@3.4.37': - resolution: {integrity: sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==} - - '@vue/runtime-dom@3.4.35': - resolution: {integrity: sha512-yGOlbos+MVhlS5NWBF2HDNgblG8e2MY3+GigHEyR/dREAluvI5tuUUgie3/9XeqhPE4LF0i2wjlduh5thnfOqw==} - - '@vue/runtime-dom@3.4.37': - resolution: {integrity: sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==} - - '@vue/server-renderer@3.4.35': - resolution: {integrity: sha512-iZ0e/u9mRE4T8tNhlo0tbA+gzVkgv8r5BX6s1kRbOZqfpq14qoIvCZ5gIgraOmYkMYrSEZgkkojFPr+Nyq/Mnw==} - peerDependencies: - vue: 3.4.35 - - '@vue/server-renderer@3.4.37': - resolution: {integrity: sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==} + '@vue/server-renderer@3.5.0': + resolution: {integrity: sha512-HyDIFUg+l7L4PKrEnJlCYWHUOlm6NxZhmSxIefZ5MTYjkIPfDfkwhX7hqxAQHfgIAE1uLMLQZwuNR/ozI0NhZg==} peerDependencies: - vue: 3.4.37 - - '@vue/shared@3.4.35': - resolution: {integrity: sha512-hvuhBYYDe+b1G8KHxsQ0diDqDMA8D9laxWZhNAjE83VZb5UDaXl9Xnz7cGdDSyiHM90qqI/CyGMcpBpiDy6VVQ==} + vue: 3.5.0 '@vue/shared@3.4.37': resolution: {integrity: sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==} + '@vue/shared@3.5.0': + resolution: {integrity: sha512-m9IgiteBpCkFaMNwCOBkFksA7z8QiKc30ooRuoXWUFRDu0mGyNPlFHmbncF0/Kra1RlX8QrmBbRaIxVvikaR0Q==} + '@vue/tsconfig@0.5.1': resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==} @@ -1910,22 +1756,10 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -1940,12 +1774,8 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - axios@1.7.4: - resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} + axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -1975,11 +1805,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - breakword@1.0.6: - resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} - - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2006,18 +1833,10 @@ packages: call-me-maybe@1.0.2: resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - camelcase-keys@7.0.2: resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} engines: {node: '>=12'} - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} @@ -2025,6 +1844,9 @@ packages: caniuse-lite@1.0.30001646: resolution: {integrity: sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw==} + caniuse-lite@1.0.30001655: + resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} + chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} engines: {node: '>=12'} @@ -2067,17 +1889,10 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} @@ -2132,6 +1947,9 @@ packages: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} + cross-fetch@4.0.0: + resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} + cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} @@ -2156,35 +1974,10 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} - - csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - - csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - - csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} - data-urls@3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} @@ -2232,17 +2025,10 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - degit@2.8.4: resolution: {integrity: sha512-vqYuzmSA5I50J882jd+AbAhQtgK6bdKUJIex1JNfEUPENCgYsxugzKVZlFyMwV4i06MmnV47/Iqi5Io86zf3Ng==} engines: {node: '>=8.0.0'} @@ -2291,8 +2077,8 @@ packages: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} - electron-to-chromium@1.4.807: - resolution: {integrity: sha512-kSmJl2ZwhNf/bcIuCH/imtNOKlpkLDn2jqT5FJ+/0CXjhnFaOa9cOe9gHKKy71eM49izwuQjZhKk+lWQ1JxB7A==} + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2305,17 +2091,9 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - entities@5.0.0: - resolution: {integrity: sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==} - engines: {node: '>=0.12'} - error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -2324,21 +2102,6 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - es6-promise@3.3.1: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} @@ -2352,13 +2115,13 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.23.0: - resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==} + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} engines: {node: '>=18'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} escape-string-regexp@1.0.5: @@ -2450,9 +2213,6 @@ packages: debug: optional: true - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -2488,13 +2248,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2514,10 +2267,6 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2530,10 +2279,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} @@ -2558,9 +2303,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - graphql@16.8.2: resolution: {integrity: sha512-cvVIBILwuoSyD54U4cF/UXDh5yAobhNV/tPygI4lZhgOIJQE/WLWC4waBRb4I6bDVYb3OVx3lfHbaQOEoUD5sg==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} @@ -2574,9 +2316,6 @@ packages: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -2596,10 +2335,6 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2618,9 +2353,6 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} @@ -2660,13 +2392,13 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + import-meta-resolve@4.1.0: resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - indent-string@5.0.0: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} @@ -2682,43 +2414,16 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2731,17 +2436,9 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -2764,37 +2461,14 @@ packages: is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-what@4.1.16: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} @@ -2803,9 +2477,6 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2942,10 +2613,6 @@ packages: resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2957,8 +2624,8 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -3006,10 +2673,6 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mixme@0.5.10: - resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} - engines: {node: '>= 8.0.0'} - mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -3025,13 +2688,16 @@ packages: ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - msw@2.3.1: - resolution: {integrity: sha512-ocgvBCLn/5l3jpl1lssIb3cniuACJLoOfZu01e3n5dbJrpA5PeeWn28jCLgQDNt6d7QT8tF2fYRzm9JoEHtiig==} + msw@2.4.1: + resolution: {integrity: sha512-HXcoQPzYTwEmVk+BGIcRa0vLabBT+J20SSSeYh/QfajaK5ceA6dlD4ZZjfz2dqGEq4vRNCPLP6eXsB94KllPFg==} engines: {node: '>=18'} hasBin: true peerDependencies: + graphql: '>= 16.8.x' typescript: '>= 4.7.x' peerDependenciesMeta: + graphql: + optional: true typescript: optional: true @@ -3085,11 +2751,8 @@ packages: encoding: optional: true - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} normalize-package-data@3.0.3: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} @@ -3106,15 +2769,8 @@ packages: nwsapi@2.2.12: resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} engines: {node: '>= 0.4'} once@1.4.0: @@ -3139,8 +2795,8 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - outvariant@1.4.2: - resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} + outvariant@1.4.3: + resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} @@ -3204,9 +2860,6 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-to-regexp@6.2.2: resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} @@ -3234,6 +2887,9 @@ packages: picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -3246,45 +2902,33 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - playwright-core@1.44.1: - resolution: {integrity: sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==} - engines: {node: '>=16'} + playwright-core@1.46.1: + resolution: {integrity: sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==} + engines: {node: '>=18'} hasBin: true - playwright@1.44.1: - resolution: {integrity: sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==} - engines: {node: '>=16'} + playwright@1.46.1: + resolution: {integrity: sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==} + engines: {node: '>=18'} hasBin: true pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - - postcss@8.4.40: - resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} - engines: {node: ^10 || ^12 || >=14} - - postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + postcss@8.4.44: + resolution: {integrity: sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==} engines: {node: ^10 || ^12 || >=14} preact@10.23.1: resolution: {integrity: sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A==} - preferred-pm@3.1.3: - resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} + preferred-pm@3.1.4: + resolution: {integrity: sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==} engines: {node: '>=10'} prettier@2.8.8: @@ -3292,8 +2936,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} hasBin: true @@ -3314,8 +2958,8 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.12.1: - resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} querystringify@2.2.0: @@ -3324,10 +2968,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -3353,18 +2993,10 @@ packages: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - read-pkg-up@8.0.0: resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} engines: {node: '>=12'} - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - read-pkg@6.0.0: resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} engines: {node: '>=12'} @@ -3377,10 +3009,6 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - redent@4.0.0: resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} engines: {node: '>=12'} @@ -3388,10 +3016,6 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3400,9 +3024,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -3410,10 +3031,6 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -3431,13 +3048,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rollup@4.18.0: - resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rollup@4.20.0: - resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} + rollup@4.21.2: + resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3448,14 +3060,6 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -3472,32 +3076,15 @@ packages: search-insights@2.13.0: resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-cookie-parser@2.7.0: resolution: {integrity: sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==} @@ -3505,10 +3092,6 @@ packages: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -3563,11 +3146,6 @@ packages: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} - smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} - hasBin: true - sorcery@0.11.1: resolution: {integrity: sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==} hasBin: true @@ -3612,9 +3190,6 @@ packages: std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} - streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -3626,17 +3201,6 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3674,8 +3238,8 @@ packages: babel-plugin-macros: optional: true - superagent@10.0.1: - resolution: {integrity: sha512-kG7dZ4Z6s6VbCVxd0PJpkYND0X+SW+iIAuboIQyHE7eFSNVprFVTpG1uID3UsVS7Jw47tdPvSiCSGzgXDhFcGQ==} + superagent@10.1.0: + resolution: {integrity: sha512-JMmik7PbnXGlq7g528Gi6apHbVbTz2vrE3du6fuG4kIPSb2PnLoSOPvfjKn8aQYuJcBWAKW6ZG90qPPsE5jZxQ==} engines: {node: '>=14.18.0'} superjson@2.2.1: @@ -3694,12 +3258,8 @@ packages: resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} engines: {node: '>=12'} - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svelte-check@3.8.5: - resolution: {integrity: sha512-3OGGgr9+bJ/+1nbPgsvulkLC48xBsqsgtc8Wam281H4G9F5v3mYGa2bHRsPuwHC5brKl4AxJH95QF73kmfihGQ==} + svelte-check@3.8.6: + resolution: {integrity: sha512-ij0u4Lw/sOTREP13BdWZjiXD/BlHE6/e2e34XzmVmsp5IN4kVa3PWP65NM32JAgwjZlwBg/+JtiNV1MM8khu0Q==} hasBin: true peerDependencies: svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 @@ -3747,8 +3307,8 @@ packages: typescript: optional: true - svelte@4.2.18: - resolution: {integrity: sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==} + svelte@4.2.19: + resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} engines: {node: '>=16'} symbol-tree@3.2.4: @@ -3764,11 +3324,11 @@ packages: tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} - tinybench@2.8.0: - resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinypool@1.0.0: - resolution: {integrity: sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==} + tinypool@1.0.1: + resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@1.2.0: @@ -3806,10 +3366,6 @@ packages: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - trim-newlines@4.1.1: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} @@ -3817,30 +3373,13 @@ packages: ts-results-es@4.2.0: resolution: {integrity: sha512-GfpRk+qvHxa/6gADH8WMN/jXvs5oHYbKtMQc6X9L3VhToy5Lri3iQowyYSytaRcvPDiTT2z3vurzQZXFQFXKRA==} - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - - tty-table@4.2.3: - resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} - engines: {node: '>=8.0.0'} - hasBin: true - - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -3849,21 +3388,9 @@ packages: resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==} engines: {node: '>=16'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} + type-fest@4.26.0: + resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} + engines: {node: '>=16'} typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} @@ -3875,16 +3402,13 @@ packages: engines: {node: '>=14.17'} hasBin: true - uglify-js@3.18.0: - resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} hasBin: true - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} @@ -3902,8 +3426,8 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - update-browserslist-db@1.0.16: - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -3922,8 +3446,8 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite@5.3.5: - resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==} + vite@5.4.2: + resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3931,6 +3455,7 @@ packages: less: '*' lightningcss: ^1.21.0 sass: '*' + sass-embedded: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 @@ -3943,6 +3468,8 @@ packages: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: @@ -3950,8 +3477,8 @@ packages: terser: optional: true - vite@5.4.0: - resolution: {integrity: sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==} + vite@5.4.3: + resolution: {integrity: sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4001,6 +3528,12 @@ packages: postcss: optional: true + vitest-fetch-mock@0.3.0: + resolution: {integrity: sha512-g6upWcL8/32fXL43/5f4VHcocuwQIi9Fj5othcK9gPO8XqSEGtnIZdenr2IaipDr61ReRFt+vaOEgo8jiUUX5w==} + engines: {node: '>=14.14.0'} + peerDependencies: + vitest: '>=2.0.0' + vitest@2.0.5: resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -4040,22 +3573,14 @@ packages: '@vue/composition-api': optional: true - vue-tsc@2.0.29: - resolution: {integrity: sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==} + vue-tsc@2.1.4: + resolution: {integrity: sha512-XTzMXQcsixAvNbpou/9qngEsZawaiJRZH3Ja+lfgRfv2A1TJv9vnZ/Kyv7XxPqv/TaZVFSnjGpM87VbWIg6yQg==} hasBin: true peerDependencies: typescript: '>=5.0.0' - vue@3.4.35: - resolution: {integrity: sha512-+fl/GLmI4GPileHftVlCdB7fUL4aziPcqTudpTGXCT8s+iZWuOCeNEB5haX6Uz2IpRrbEXOgIFbe+XciCuGbNQ==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - vue@3.4.37: - resolution: {integrity: sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==} + vue@3.5.0: + resolution: {integrity: sha512-1t70favYoFijwfWJ7g81aTd32obGaAnKYE9FNyMgnEzn3F4YncRi/kqAHHKloG0VXTD8vBYMhbgLKCA+Sk6QDw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4066,9 +3591,6 @@ packages: resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} engines: {node: '>=14'} - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -4091,20 +3613,10 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + which-pm@2.2.0: + resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} engines: {node: '>=8.15'} - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -4152,9 +3664,6 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -4171,10 +3680,6 @@ packages: yaml-ast-parser@0.0.43: resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -4183,10 +3688,6 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -4195,6 +3696,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + snapshots: '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.13.0)': @@ -4313,118 +3818,84 @@ snapshots: call-me-maybe: 1.0.2 js-yaml: 4.1.0 - '@babel/code-frame@7.24.2': - dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.1 - '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - '@babel/compat-data@7.24.7': {} + '@babel/compat-data@7.25.4': {} - '@babel/core@7.24.7': + '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 convert-source-map: 2.0.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.6(supports-color@9.4.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.24.7': + '@babel/generator@7.25.6': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.6 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - '@babel/helper-compilation-targets@7.24.7': + '@babel/helper-compilation-targets@7.25.2': dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.24.7 - '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.24.7': {} + '@babel/helper-plugin-utils@7.24.8': {} '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-string-parser@7.24.7': {} - '@babel/helper-string-parser@7.24.8': {} - '@babel/helper-validator-identifier@7.24.5': {} - '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.24.7': {} + '@babel/helper-validator-option@7.24.8': {} - '@babel/helpers@7.24.7': + '@babel/helpers@7.25.6': dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/highlight@7.24.5': - dependencies: - '@babel/helper-validator-identifier': 7.24.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.1 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 '@babel/highlight@7.24.7': dependencies: @@ -4433,98 +3904,81 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.0.1 - '@babel/parser@7.24.7': + '@babel/parser@7.25.6': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.6 - '@babel/parser@7.25.3': + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/types': 7.25.2 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/runtime@7.24.7': + '@babel/runtime@7.25.6': dependencies: regenerator-runtime: 0.14.1 - '@babel/runtime@7.25.0': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.24.7': + '@babel/template@7.25.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 - '@babel/traverse@7.24.7': + '@babel/traverse@7.25.6': dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 debug: 4.3.6(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.24.7': - dependencies: - '@babel/helper-string-parser': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - - '@babel/types@7.25.2': + '@babel/types@7.25.6': dependencies: '@babel/helper-string-parser': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@biomejs/biome@1.8.1': + '@biomejs/biome@1.8.3': optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.8.1 - '@biomejs/cli-darwin-x64': 1.8.1 - '@biomejs/cli-linux-arm64': 1.8.1 - '@biomejs/cli-linux-arm64-musl': 1.8.1 - '@biomejs/cli-linux-x64': 1.8.1 - '@biomejs/cli-linux-x64-musl': 1.8.1 - '@biomejs/cli-win32-arm64': 1.8.1 - '@biomejs/cli-win32-x64': 1.8.1 + '@biomejs/cli-darwin-arm64': 1.8.3 + '@biomejs/cli-darwin-x64': 1.8.3 + '@biomejs/cli-linux-arm64': 1.8.3 + '@biomejs/cli-linux-arm64-musl': 1.8.3 + '@biomejs/cli-linux-x64': 1.8.3 + '@biomejs/cli-linux-x64-musl': 1.8.3 + '@biomejs/cli-win32-arm64': 1.8.3 + '@biomejs/cli-win32-x64': 1.8.3 - '@biomejs/cli-darwin-arm64@1.8.1': + '@biomejs/cli-darwin-arm64@1.8.3': optional: true - '@biomejs/cli-darwin-x64@1.8.1': + '@biomejs/cli-darwin-x64@1.8.3': optional: true - '@biomejs/cli-linux-arm64-musl@1.8.1': + '@biomejs/cli-linux-arm64-musl@1.8.3': optional: true - '@biomejs/cli-linux-arm64@1.8.1': + '@biomejs/cli-linux-arm64@1.8.3': optional: true - '@biomejs/cli-linux-x64-musl@1.8.1': + '@biomejs/cli-linux-x64-musl@1.8.3': optional: true - '@biomejs/cli-linux-x64@1.8.1': + '@biomejs/cli-linux-x64@1.8.3': optional: true - '@biomejs/cli-win32-arm64@1.8.1': + '@biomejs/cli-win32-arm64@1.8.3': optional: true - '@biomejs/cli-win32-x64@1.8.1': + '@biomejs/cli-win32-x64@1.8.3': optional: true '@blgc/types@0.0.6': {} @@ -4539,10 +3993,15 @@ snapshots: dependencies: statuses: 2.0.1 - '@changesets/apply-release-plan@7.0.3': + '@bundled-es-modules/tough-cookie@0.1.6': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/config': 3.0.1 + '@types/tough-cookie': 4.0.5 + tough-cookie: 4.1.4 + + '@changesets/apply-release-plan@7.0.4': + dependencies: + '@babel/runtime': 7.25.6 + '@changesets/config': 3.0.2 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 '@changesets/should-skip-package': 0.1.0 @@ -4554,17 +4013,17 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.2 + semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.2': + '@changesets/assemble-release-plan@6.0.3': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.0 + '@changesets/get-dependents-graph': 2.1.1 '@changesets/should-skip-package': 0.1.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.2 + semver: 7.6.3 '@changesets/changelog-git@0.2.0': dependencies: @@ -4578,16 +4037,16 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.27.5': + '@changesets/cli@2.27.7': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/apply-release-plan': 7.0.3 - '@changesets/assemble-release-plan': 6.0.2 + '@babel/runtime': 7.25.6 + '@changesets/apply-release-plan': 7.0.4 + '@changesets/assemble-release-plan': 6.0.3 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.1 + '@changesets/config': 3.0.2 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.0 - '@changesets/get-release-plan': 4.0.2 + '@changesets/get-dependents-graph': 2.1.1 + '@changesets/get-release-plan': 4.0.3 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/pre': 2.0.0 @@ -4604,37 +4063,36 @@ snapshots: external-editor: 3.1.0 fs-extra: 7.0.1 human-id: 1.0.2 - meow: 6.1.1 + mri: 1.2.0 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.1.3 + preferred-pm: 3.1.4 resolve-from: 5.0.0 - semver: 7.6.2 + semver: 7.6.3 spawndamnit: 2.0.0 term-size: 2.2.1 - tty-table: 4.2.3 - '@changesets/config@3.0.1': + '@changesets/config@3.0.2': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.0 + '@changesets/get-dependents-graph': 2.1.1 '@changesets/logger': 0.1.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - micromatch: 4.0.7 + micromatch: 4.0.8 '@changesets/errors@0.2.0': dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.0': + '@changesets/get-dependents-graph@2.1.1': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 - semver: 7.6.2 + semver: 7.6.3 '@changesets/get-github-info@0.6.0': dependencies: @@ -4643,11 +4101,11 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/get-release-plan@4.0.2': + '@changesets/get-release-plan@4.0.3': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/assemble-release-plan': 6.0.2 - '@changesets/config': 3.0.1 + '@babel/runtime': 7.25.6 + '@changesets/assemble-release-plan': 6.0.3 + '@changesets/config': 3.0.2 '@changesets/pre': 2.0.0 '@changesets/read': 0.6.0 '@changesets/types': 6.0.0 @@ -4657,12 +4115,12 @@ snapshots: '@changesets/git@3.0.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 - micromatch: 4.0.7 + micromatch: 4.0.8 spawndamnit: 2.0.0 '@changesets/logger@0.1.0': @@ -4676,7 +4134,7 @@ snapshots: '@changesets/pre@2.0.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -4684,7 +4142,7 @@ snapshots: '@changesets/read@0.6.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -4695,7 +4153,7 @@ snapshots: '@changesets/should-skip-package@0.1.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -4705,7 +4163,7 @@ snapshots: '@changesets/write@0.3.1': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -4744,7 +4202,7 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true - '@esbuild/aix-ppc64@0.23.0': + '@esbuild/aix-ppc64@0.23.1': optional: true '@esbuild/android-arm64@0.20.2': @@ -4753,7 +4211,7 @@ snapshots: '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm64@0.23.0': + '@esbuild/android-arm64@0.23.1': optional: true '@esbuild/android-arm@0.20.2': @@ -4762,7 +4220,7 @@ snapshots: '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-arm@0.23.0': + '@esbuild/android-arm@0.23.1': optional: true '@esbuild/android-x64@0.20.2': @@ -4771,7 +4229,7 @@ snapshots: '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/android-x64@0.23.0': + '@esbuild/android-x64@0.23.1': optional: true '@esbuild/darwin-arm64@0.20.2': @@ -4780,7 +4238,7 @@ snapshots: '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.23.0': + '@esbuild/darwin-arm64@0.23.1': optional: true '@esbuild/darwin-x64@0.20.2': @@ -4789,7 +4247,7 @@ snapshots: '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/darwin-x64@0.23.0': + '@esbuild/darwin-x64@0.23.1': optional: true '@esbuild/freebsd-arm64@0.20.2': @@ -4798,7 +4256,7 @@ snapshots: '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.23.0': + '@esbuild/freebsd-arm64@0.23.1': optional: true '@esbuild/freebsd-x64@0.20.2': @@ -4807,7 +4265,7 @@ snapshots: '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.23.0': + '@esbuild/freebsd-x64@0.23.1': optional: true '@esbuild/linux-arm64@0.20.2': @@ -4816,7 +4274,7 @@ snapshots: '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm64@0.23.0': + '@esbuild/linux-arm64@0.23.1': optional: true '@esbuild/linux-arm@0.20.2': @@ -4825,7 +4283,7 @@ snapshots: '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-arm@0.23.0': + '@esbuild/linux-arm@0.23.1': optional: true '@esbuild/linux-ia32@0.20.2': @@ -4834,7 +4292,7 @@ snapshots: '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-ia32@0.23.0': + '@esbuild/linux-ia32@0.23.1': optional: true '@esbuild/linux-loong64@0.20.2': @@ -4843,7 +4301,7 @@ snapshots: '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-loong64@0.23.0': + '@esbuild/linux-loong64@0.23.1': optional: true '@esbuild/linux-mips64el@0.20.2': @@ -4852,7 +4310,7 @@ snapshots: '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-mips64el@0.23.0': + '@esbuild/linux-mips64el@0.23.1': optional: true '@esbuild/linux-ppc64@0.20.2': @@ -4861,7 +4319,7 @@ snapshots: '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-ppc64@0.23.0': + '@esbuild/linux-ppc64@0.23.1': optional: true '@esbuild/linux-riscv64@0.20.2': @@ -4870,7 +4328,7 @@ snapshots: '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.23.0': + '@esbuild/linux-riscv64@0.23.1': optional: true '@esbuild/linux-s390x@0.20.2': @@ -4879,7 +4337,7 @@ snapshots: '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-s390x@0.23.0': + '@esbuild/linux-s390x@0.23.1': optional: true '@esbuild/linux-x64@0.20.2': @@ -4888,7 +4346,7 @@ snapshots: '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/linux-x64@0.23.0': + '@esbuild/linux-x64@0.23.1': optional: true '@esbuild/netbsd-x64@0.20.2': @@ -4897,10 +4355,10 @@ snapshots: '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.23.0': + '@esbuild/netbsd-x64@0.23.1': optional: true - '@esbuild/openbsd-arm64@0.23.0': + '@esbuild/openbsd-arm64@0.23.1': optional: true '@esbuild/openbsd-x64@0.20.2': @@ -4909,7 +4367,7 @@ snapshots: '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.23.0': + '@esbuild/openbsd-x64@0.23.1': optional: true '@esbuild/sunos-x64@0.20.2': @@ -4918,7 +4376,7 @@ snapshots: '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/sunos-x64@0.23.0': + '@esbuild/sunos-x64@0.23.1': optional: true '@esbuild/win32-arm64@0.20.2': @@ -4927,7 +4385,7 @@ snapshots: '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/win32-arm64@0.23.0': + '@esbuild/win32-arm64@0.23.1': optional: true '@esbuild/win32-ia32@0.20.2': @@ -4936,7 +4394,7 @@ snapshots: '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-ia32@0.23.0': + '@esbuild/win32-ia32@0.23.1': optional: true '@esbuild/win32-x64@0.20.2': @@ -4945,33 +4403,35 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@esbuild/win32-x64@0.23.0': + '@esbuild/win32-x64@0.23.1': optional: true - '@inquirer/confirm@3.1.10': + '@inquirer/confirm@3.2.0': dependencies: - '@inquirer/core': 8.2.3 - '@inquirer/type': 1.3.3 + '@inquirer/core': 9.1.0 + '@inquirer/type': 1.5.3 - '@inquirer/core@8.2.3': + '@inquirer/core@9.1.0': dependencies: - '@inquirer/figures': 1.0.3 - '@inquirer/type': 1.3.3 + '@inquirer/figures': 1.0.5 + '@inquirer/type': 1.5.3 '@types/mute-stream': 0.0.4 - '@types/node': 20.14.7 + '@types/node': 22.5.2 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 - chalk: 4.1.2 cli-spinners: 2.9.2 cli-width: 4.1.0 mute-stream: 1.0.0 signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 - '@inquirer/figures@1.0.3': {} + '@inquirer/figures@1.0.5': {} - '@inquirer/type@1.3.3': {} + '@inquirer/type@1.5.3': + dependencies: + mute-stream: 1.0.0 '@jridgewell/gen-mapping@0.3.5': dependencies: @@ -4994,29 +4454,27 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - '@mswjs/cookies@1.1.1': {} - '@mswjs/interceptors@0.29.1': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 '@open-draft/until': 2.1.0 is-node-process: 1.2.0 - outvariant: 1.4.2 + outvariant: 1.4.3 strict-event-emitter: 0.5.1 '@next/env@14.2.3': {} @@ -5065,13 +4523,13 @@ snapshots: '@open-draft/logger@0.3.0': dependencies: is-node-process: 1.2.0 - outvariant: 1.4.2 + outvariant: 1.4.3 '@open-draft/until@2.1.0': {} - '@playwright/test@1.44.1': + '@playwright/test@1.46.1': dependencies: - playwright: 1.44.1 + playwright: 1.46.1 '@polka/url@1.0.0-next.25': {} @@ -5101,100 +4559,52 @@ snapshots: - encoding - supports-color - '@rollup/rollup-android-arm-eabi@4.18.0': - optional: true - - '@rollup/rollup-android-arm-eabi@4.20.0': - optional: true - - '@rollup/rollup-android-arm64@4.18.0': - optional: true - - '@rollup/rollup-android-arm64@4.20.0': - optional: true - - '@rollup/rollup-darwin-arm64@4.18.0': - optional: true - - '@rollup/rollup-darwin-arm64@4.20.0': - optional: true - - '@rollup/rollup-darwin-x64@4.18.0': + '@rollup/rollup-android-arm-eabi@4.21.2': optional: true - '@rollup/rollup-darwin-x64@4.20.0': + '@rollup/rollup-android-arm64@4.21.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + '@rollup/rollup-darwin-arm64@4.21.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.20.0': + '@rollup/rollup-darwin-x64@4.21.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.18.0': + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.20.0': + '@rollup/rollup-linux-arm-musleabihf@4.21.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.18.0': + '@rollup/rollup-linux-arm64-gnu@4.21.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.20.0': + '@rollup/rollup-linux-arm64-musl@4.21.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.18.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.20.0': + '@rollup/rollup-linux-riscv64-gnu@4.21.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + '@rollup/rollup-linux-s390x-gnu@4.21.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': + '@rollup/rollup-linux-x64-gnu@4.21.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.18.0': + '@rollup/rollup-linux-x64-musl@4.21.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.20.0': + '@rollup/rollup-win32-arm64-msvc@4.21.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.18.0': + '@rollup/rollup-win32-ia32-msvc@4.21.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.20.0': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.18.0': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.20.0': - optional: true - - '@rollup/rollup-linux-x64-musl@4.18.0': - optional: true - - '@rollup/rollup-linux-x64-musl@4.20.0': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.18.0': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.20.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.18.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.20.0': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.18.0': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.20.0': + '@rollup/rollup-win32-x64-msvc@4.21.2': optional: true '@shikijs/core@1.12.1': @@ -5223,14 +4633,14 @@ snapshots: '@size-limit/file': 11.1.4(size-limit@11.1.4) size-limit: 11.1.4 - '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.19(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)))(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)))': + '@sveltejs/adapter-auto@3.2.4(@sveltejs/kit@2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))': dependencies: - '@sveltejs/kit': 2.5.19(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)))(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)) + '@sveltejs/kit': 2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) import-meta-resolve: 4.1.0 - '@sveltejs/kit@2.5.19(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)))(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7))': + '@sveltejs/kit@2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -5242,78 +4652,78 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.0 sirv: 2.0.4 - svelte: 4.2.18 + svelte: 4.2.19 tiny-glob: 0.2.9 - vite: 5.3.5(@types/node@20.14.7) + vite: 5.4.3(@types/node@22.5.2) - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)))(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) debug: 4.3.6(supports-color@9.4.0) - svelte: 4.2.18 - vite: 5.3.5(@types/node@20.14.7) + svelte: 4.2.19 + vite: 5.4.3(@types/node@22.5.2) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7))': + '@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)))(svelte@4.2.18)(vite@5.3.5(@types/node@20.14.7)) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) debug: 4.3.6(supports-color@9.4.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.11 - svelte: 4.2.18 - svelte-hmr: 0.16.0(svelte@4.2.18) - vite: 5.3.5(@types/node@20.14.7) - vitefu: 0.2.5(vite@5.3.5(@types/node@20.14.7)) + svelte: 4.2.19 + svelte-hmr: 0.16.0(svelte@4.2.19) + vite: 5.4.3(@types/node@22.5.2) + vitefu: 0.2.5(vite@5.4.3(@types/node@22.5.2)) transitivePeerDependencies: - supports-color - '@swc/core-darwin-arm64@1.7.4': + '@swc/core-darwin-arm64@1.7.23': optional: true - '@swc/core-darwin-x64@1.7.4': + '@swc/core-darwin-x64@1.7.23': optional: true - '@swc/core-linux-arm-gnueabihf@1.7.4': + '@swc/core-linux-arm-gnueabihf@1.7.23': optional: true - '@swc/core-linux-arm64-gnu@1.7.4': + '@swc/core-linux-arm64-gnu@1.7.23': optional: true - '@swc/core-linux-arm64-musl@1.7.4': + '@swc/core-linux-arm64-musl@1.7.23': optional: true - '@swc/core-linux-x64-gnu@1.7.4': + '@swc/core-linux-x64-gnu@1.7.23': optional: true - '@swc/core-linux-x64-musl@1.7.4': + '@swc/core-linux-x64-musl@1.7.23': optional: true - '@swc/core-win32-arm64-msvc@1.7.4': + '@swc/core-win32-arm64-msvc@1.7.23': optional: true - '@swc/core-win32-ia32-msvc@1.7.4': + '@swc/core-win32-ia32-msvc@1.7.23': optional: true - '@swc/core-win32-x64-msvc@1.7.4': + '@swc/core-win32-x64-msvc@1.7.23': optional: true - '@swc/core@1.7.4(@swc/helpers@0.5.5)': + '@swc/core@1.7.23(@swc/helpers@0.5.5)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.4 - '@swc/core-darwin-x64': 1.7.4 - '@swc/core-linux-arm-gnueabihf': 1.7.4 - '@swc/core-linux-arm64-gnu': 1.7.4 - '@swc/core-linux-arm64-musl': 1.7.4 - '@swc/core-linux-x64-gnu': 1.7.4 - '@swc/core-linux-x64-musl': 1.7.4 - '@swc/core-win32-arm64-msvc': 1.7.4 - '@swc/core-win32-ia32-msvc': 1.7.4 - '@swc/core-win32-x64-msvc': 1.7.4 + '@swc/core-darwin-arm64': 1.7.23 + '@swc/core-darwin-x64': 1.7.23 + '@swc/core-linux-arm-gnueabihf': 1.7.23 + '@swc/core-linux-arm64-gnu': 1.7.23 + '@swc/core-linux-arm64-musl': 1.7.23 + '@swc/core-linux-x64-gnu': 1.7.23 + '@swc/core-linux-x64-musl': 1.7.23 + '@swc/core-win32-arm64-msvc': 1.7.23 + '@swc/core-win32-ia32-msvc': 1.7.23 + '@swc/core-win32-x64-msvc': 1.7.23 '@swc/helpers': 0.5.5 '@swc/counter@0.1.3': {} @@ -5321,30 +4731,23 @@ snapshots: '@swc/helpers@0.5.5': dependencies: '@swc/counter': 0.1.3 - tslib: 2.6.3 + tslib: 2.7.0 '@swc/types@0.1.12': dependencies: '@swc/counter': 0.1.3 - '@tanstack/query-core@5.45.0': {} - - '@tanstack/query-core@5.51.17': {} + '@tanstack/query-core@5.53.3': {} - '@tanstack/react-query@5.45.1(react@18.3.1)': + '@tanstack/react-query@5.53.3(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.45.0 - react: 18.3.1 - - '@tanstack/react-query@5.51.18(react@18.3.1)': - dependencies: - '@tanstack/query-core': 5.51.17 + '@tanstack/query-core': 5.53.3 react: 18.3.1 '@testing-library/dom@10.1.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -5352,9 +4755,9 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/react@16.0.0(@testing-library/dom@10.1.0)(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.0.1(@testing-library/dom@10.1.0)(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@testing-library/dom': 10.1.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -5371,24 +4774,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.6 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.6 '@types/cookie@0.6.0': {} @@ -5417,13 +4820,17 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 20.14.7 + '@types/node': 20.16.3 '@types/node@12.20.55': {} - '@types/node@20.14.7': + '@types/node@20.16.3': + dependencies: + undici-types: 6.19.8 + + '@types/node@22.5.2': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 '@types/normalize-package-data@2.4.4': {} @@ -5449,39 +4856,36 @@ snapshots: '@types/statuses@2.0.5': {} + '@types/tough-cookie@4.0.5': {} + '@types/unist@3.0.2': {} '@types/web-bluetooth@0.0.20': {} '@types/wrap-ansi@3.0.0': {} - '@vitejs/plugin-react-swc@3.7.0(@swc/helpers@0.5.5)(vite@5.3.5(@types/node@20.14.7))': + '@vitejs/plugin-react-swc@3.7.0(@swc/helpers@0.5.5)(vite@5.4.3(@types/node@22.5.2))': dependencies: - '@swc/core': 1.7.4(@swc/helpers@0.5.5) - vite: 5.3.5(@types/node@20.14.7) + '@swc/core': 1.7.23(@swc/helpers@0.5.5) + vite: 5.4.3(@types/node@22.5.2) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.3.1(vite@5.4.0(@types/node@20.14.7))': + '@vitejs/plugin-react@4.3.1(vite@5.4.3(@types/node@22.5.2))': dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.0(@types/node@20.14.7) + vite: 5.4.3(@types/node@22.5.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.2(vite@5.3.5(@types/node@20.14.7))(vue@3.4.35(typescript@5.4.5))': + '@vitejs/plugin-vue@5.1.3(vite@5.4.3(@types/node@22.5.2))(vue@3.5.0(typescript@5.5.4))': dependencies: - vite: 5.3.5(@types/node@20.14.7) - vue: 3.4.35(typescript@5.4.5) - - '@vitejs/plugin-vue@5.1.2(vite@5.4.0(@types/node@20.14.7))(vue@3.4.37(typescript@5.5.4))': - dependencies: - vite: 5.4.0(@types/node@20.14.7) - vue: 3.4.37(typescript@5.5.4) + vite: 5.4.3(@types/node@22.5.2) + vue: 3.5.0(typescript@5.5.4) '@vitest/expect@2.0.5': dependencies: @@ -5516,77 +4920,47 @@ snapshots: loupe: 3.1.1 tinyrainbow: 1.2.0 - '@volar/language-core@2.4.0-alpha.18': + '@volar/language-core@2.4.1': dependencies: - '@volar/source-map': 2.4.0-alpha.18 + '@volar/source-map': 2.4.1 - '@volar/source-map@2.4.0-alpha.18': {} + '@volar/source-map@2.4.1': {} - '@volar/typescript@2.4.0-alpha.18': + '@volar/typescript@2.4.1': dependencies: - '@volar/language-core': 2.4.0-alpha.18 + '@volar/language-core': 2.4.1 path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.4.35': + '@vue/compiler-core@3.5.0': dependencies: - '@babel/parser': 7.25.3 - '@vue/shared': 3.4.35 + '@babel/parser': 7.25.6 + '@vue/shared': 3.5.0 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-core@3.4.37': - dependencies: - '@babel/parser': 7.25.3 - '@vue/shared': 3.4.37 - entities: 5.0.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - - '@vue/compiler-dom@3.4.35': - dependencies: - '@vue/compiler-core': 3.4.35 - '@vue/shared': 3.4.35 - - '@vue/compiler-dom@3.4.37': - dependencies: - '@vue/compiler-core': 3.4.37 - '@vue/shared': 3.4.37 - - '@vue/compiler-sfc@3.4.35': + '@vue/compiler-dom@3.5.0': dependencies: - '@babel/parser': 7.25.3 - '@vue/compiler-core': 3.4.35 - '@vue/compiler-dom': 3.4.35 - '@vue/compiler-ssr': 3.4.35 - '@vue/shared': 3.4.35 - estree-walker: 2.0.2 - magic-string: 0.30.11 - postcss: 8.4.35 - source-map-js: 1.2.0 + '@vue/compiler-core': 3.5.0 + '@vue/shared': 3.5.0 - '@vue/compiler-sfc@3.4.37': + '@vue/compiler-sfc@3.5.0': dependencies: - '@babel/parser': 7.25.3 - '@vue/compiler-core': 3.4.37 - '@vue/compiler-dom': 3.4.37 - '@vue/compiler-ssr': 3.4.37 - '@vue/shared': 3.4.37 + '@babel/parser': 7.25.6 + '@vue/compiler-core': 3.5.0 + '@vue/compiler-dom': 3.5.0 + '@vue/compiler-ssr': 3.5.0 + '@vue/shared': 3.5.0 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.41 + postcss: 8.4.44 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.35': - dependencies: - '@vue/compiler-dom': 3.4.35 - '@vue/shared': 3.4.35 - - '@vue/compiler-ssr@3.4.37': + '@vue/compiler-ssr@3.5.0': dependencies: - '@vue/compiler-dom': 3.4.37 - '@vue/shared': 3.4.37 + '@vue/compiler-dom': 3.5.0 + '@vue/shared': 3.5.0 '@vue/compiler-vue2@2.7.16': dependencies: @@ -5611,86 +4985,64 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/language-core@2.0.29(typescript@5.4.5)': + '@vue/language-core@2.1.4(typescript@5.5.4)': dependencies: - '@volar/language-core': 2.4.0-alpha.18 - '@vue/compiler-dom': 3.4.35 + '@volar/language-core': 2.4.1 + '@vue/compiler-dom': 3.5.0 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.4.35 + '@vue/shared': 3.5.0 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.4.5 - - '@vue/reactivity@3.4.35': - dependencies: - '@vue/shared': 3.4.35 - - '@vue/reactivity@3.4.37': - dependencies: - '@vue/shared': 3.4.37 + typescript: 5.5.4 - '@vue/runtime-core@3.4.35': + '@vue/reactivity@3.5.0': dependencies: - '@vue/reactivity': 3.4.35 - '@vue/shared': 3.4.35 + '@vue/shared': 3.5.0 - '@vue/runtime-core@3.4.37': + '@vue/runtime-core@3.5.0': dependencies: - '@vue/reactivity': 3.4.37 - '@vue/shared': 3.4.37 + '@vue/reactivity': 3.5.0 + '@vue/shared': 3.5.0 - '@vue/runtime-dom@3.4.35': + '@vue/runtime-dom@3.5.0': dependencies: - '@vue/reactivity': 3.4.35 - '@vue/runtime-core': 3.4.35 - '@vue/shared': 3.4.35 + '@vue/reactivity': 3.5.0 + '@vue/runtime-core': 3.5.0 + '@vue/shared': 3.5.0 csstype: 3.1.3 - '@vue/runtime-dom@3.4.37': + '@vue/server-renderer@3.5.0(vue@3.5.0(typescript@5.5.4))': dependencies: - '@vue/reactivity': 3.4.37 - '@vue/runtime-core': 3.4.37 - '@vue/shared': 3.4.37 - csstype: 3.1.3 - - '@vue/server-renderer@3.4.35(vue@3.4.35(typescript@5.4.5))': - dependencies: - '@vue/compiler-ssr': 3.4.35 - '@vue/shared': 3.4.35 - vue: 3.4.35(typescript@5.4.5) - - '@vue/server-renderer@3.4.37(vue@3.4.37(typescript@5.5.4))': - dependencies: - '@vue/compiler-ssr': 3.4.37 - '@vue/shared': 3.4.37 - vue: 3.4.37(typescript@5.5.4) - - '@vue/shared@3.4.35': {} + '@vue/compiler-ssr': 3.5.0 + '@vue/shared': 3.5.0 + vue: 3.5.0(typescript@5.5.4) '@vue/shared@3.4.37': {} + '@vue/shared@3.5.0': {} + '@vue/tsconfig@0.5.1': {} - '@vueuse/core@10.11.1(vue@3.4.37(typescript@5.5.4))': + '@vueuse/core@10.11.1(vue@3.5.0(typescript@5.5.4))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.4.37(typescript@5.5.4)) - vue-demi: 0.14.10(vue@3.4.37(typescript@5.5.4)) + '@vueuse/shared': 10.11.1(vue@3.5.0(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.11.1(axios@1.7.4)(focus-trap@7.5.4)(vue@3.4.37(typescript@5.5.4))': + '@vueuse/integrations@10.11.1(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.0(typescript@5.5.4))': dependencies: - '@vueuse/core': 10.11.1(vue@3.4.37(typescript@5.5.4)) - '@vueuse/shared': 10.11.1(vue@3.4.37(typescript@5.5.4)) - vue-demi: 0.14.10(vue@3.4.37(typescript@5.5.4)) + '@vueuse/core': 10.11.1(vue@3.5.0(typescript@5.5.4)) + '@vueuse/shared': 10.11.1(vue@3.5.0(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4)) optionalDependencies: - axios: 1.7.4 + axios: 1.7.7 focus-trap: 7.5.4 transitivePeerDependencies: - '@vue/composition-api' @@ -5698,9 +5050,9 @@ snapshots: '@vueuse/metadata@10.11.1': {} - '@vueuse/shared@10.11.1(vue@3.4.37(typescript@5.5.4))': + '@vueuse/shared@10.11.1(vue@3.5.0(typescript@5.5.4))': dependencies: - vue-demi: 0.14.10(vue@3.4.37(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5792,31 +5144,8 @@ snapshots: dependencies: dequal: 2.0.3 - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - array-union@2.1.0: {} - array.prototype.flat@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - arrify@1.0.1: {} asap@2.0.6: {} @@ -5825,11 +5154,7 @@ snapshots: asynckit@0.4.0: {} - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 - - axios@1.7.4: + axios@1.7.7: dependencies: follow-redirects: 1.15.6 form-data: 4.0.0 @@ -5862,16 +5187,12 @@ snapshots: dependencies: fill-range: 7.1.1 - breakword@1.0.6: - dependencies: - wcwidth: 1.0.1 - - browserslist@4.23.1: + browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001646 - electron-to-chromium: 1.4.807 - node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) + caniuse-lite: 1.0.30001655 + electron-to-chromium: 1.5.13 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) buffer-crc32@1.0.0: {} @@ -5893,12 +5214,6 @@ snapshots: call-me-maybe@1.0.2: {} - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - camelcase-keys@7.0.2: dependencies: camelcase: 6.3.0 @@ -5906,12 +5221,12 @@ snapshots: quick-lru: 5.1.1 type-fest: 1.4.0 - camelcase@5.3.1: {} - camelcase@6.3.0: {} caniuse-lite@1.0.30001646: {} + caniuse-lite@1.0.30001655: {} + chai@5.1.1: dependencies: assertion-error: 2.0.1 @@ -5959,20 +5274,12 @@ snapshots: client-only@0.0.1: {} - cliui@6.0.0: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clone@1.0.4: {} - code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -6019,6 +5326,12 @@ snapshots: dependencies: is-what: 4.1.16 + cross-fetch@4.0.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-spawn@5.1.0: dependencies: lru-cache: 4.1.5 @@ -6049,19 +5362,6 @@ snapshots: csstype@3.1.3: {} - csv-generate@3.4.3: {} - - csv-parse@4.16.3: {} - - csv-stringify@5.6.5: {} - - csv@5.5.3: - dependencies: - csv-generate: 3.4.3 - csv-parse: 4.16.3 - csv-stringify: 5.6.5 - stream-transform: 2.1.3 - data-urls@3.0.2: dependencies: abab: 2.0.6 @@ -6069,24 +5369,6 @@ snapshots: whatwg-url: 11.0.0 optional: true - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dataloader@1.4.0: {} de-indent@1.0.2: {} @@ -6119,22 +5401,12 @@ snapshots: deepmerge@4.3.1: {} - defaults@1.0.4: - dependencies: - clone: 1.0.4 - define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - degit@2.8.4: {} del-cli@5.1.0: @@ -6179,7 +5451,7 @@ snapshots: dotenv@8.6.0: {} - electron-to-chromium@1.4.807: {} + electron-to-chromium@1.5.13: {} emoji-regex@8.0.0: {} @@ -6190,87 +5462,16 @@ snapshots: entities@4.5.0: {} - entities@5.0.0: {} - error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 es-errors@1.3.0: {} - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - es6-promise@3.3.1: {} esbuild@0.20.2: @@ -6325,34 +5526,34 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - esbuild@0.23.0: + esbuild@0.23.1: optionalDependencies: - '@esbuild/aix-ppc64': 0.23.0 - '@esbuild/android-arm': 0.23.0 - '@esbuild/android-arm64': 0.23.0 - '@esbuild/android-x64': 0.23.0 - '@esbuild/darwin-arm64': 0.23.0 - '@esbuild/darwin-x64': 0.23.0 - '@esbuild/freebsd-arm64': 0.23.0 - '@esbuild/freebsd-x64': 0.23.0 - '@esbuild/linux-arm': 0.23.0 - '@esbuild/linux-arm64': 0.23.0 - '@esbuild/linux-ia32': 0.23.0 - '@esbuild/linux-loong64': 0.23.0 - '@esbuild/linux-mips64el': 0.23.0 - '@esbuild/linux-ppc64': 0.23.0 - '@esbuild/linux-riscv64': 0.23.0 - '@esbuild/linux-s390x': 0.23.0 - '@esbuild/linux-x64': 0.23.0 - '@esbuild/netbsd-x64': 0.23.0 - '@esbuild/openbsd-arm64': 0.23.0 - '@esbuild/openbsd-x64': 0.23.0 - '@esbuild/sunos-x64': 0.23.0 - '@esbuild/win32-arm64': 0.23.0 - '@esbuild/win32-ia32': 0.23.0 - '@esbuild/win32-x64': 0.23.0 - - escalade@3.1.2: {} + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + + escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -6411,7 +5612,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-safe-stringify@2.1.1: {} @@ -6441,7 +5642,7 @@ snapshots: find-yarn-workspace-root2@1.2.16: dependencies: - micromatch: 4.0.7 + micromatch: 4.0.8 pkg-dir: 4.2.0 focus-trap@7.5.4: @@ -6450,10 +5651,6 @@ snapshots: follow-redirects@1.15.6: {} - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - form-data@4.0.0: dependencies: asynckit: 0.4.0 @@ -6494,15 +5691,6 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 - - functions-have-names@1.2.3: {} - gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -6519,12 +5707,6 @@ snapshots: get-stream@8.0.1: {} - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -6540,11 +5722,6 @@ snapshots: globals@11.12.0: {} - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.0.1 - globalyzer@0.1.0: {} globby@11.1.0: @@ -6552,7 +5729,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -6568,7 +5745,7 @@ snapshots: dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -6581,9 +5758,8 @@ snapshots: graceful-fs@4.2.11: {} - grapheme-splitter@1.0.4: {} - - graphql@16.8.2: {} + graphql@16.8.2: + optional: true handlebars@4.7.8: dependencies: @@ -6592,12 +5768,10 @@ snapshots: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.18.0 + uglify-js: 3.19.3 hard-rejection@2.1.0: {} - has-bigints@1.0.2: {} - has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -6610,10 +5784,6 @@ snapshots: has-symbols@1.0.3: {} - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.0.3 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -6626,8 +5796,6 @@ snapshots: hookable@5.5.3: {} - hosted-git-info@2.8.9: {} - hosted-git-info@4.1.0: dependencies: lru-cache: 6.0.0 @@ -6676,9 +5844,9 @@ snapshots: ignore@5.3.1: {} - import-meta-resolve@4.1.0: {} + ignore@5.3.2: {} - indent-string@4.0.0: {} + import-meta-resolve@4.1.0: {} indent-string@5.0.0: {} @@ -6691,46 +5859,16 @@ snapshots: inherits@2.0.4: {} - internal-slot@1.0.7: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 - - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-arrayish@0.2.1: {} - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 - is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-callable@1.2.7: {} - is-core-module@2.13.1: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -6739,14 +5877,8 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-negative-zero@2.0.3: {} - is-node-process@1.2.0: {} - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-number@7.0.0: {} is-path-cwd@3.0.0: {} @@ -6762,43 +5894,16 @@ snapshots: dependencies: '@types/estree': 1.0.5 - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - is-stream@3.0.0: {} - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 - is-symbol@1.0.4: - dependencies: - has-symbols: 1.0.3 - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - is-what@4.1.16: {} is-windows@1.0.2: {} - isarray@2.0.5: {} - isexe@2.0.0: {} jiti@1.21.6: {} @@ -6951,27 +6056,13 @@ snapshots: type-fest: 1.4.0 yargs-parser: 20.2.9 - meow@6.1.1: - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - merge-stream@2.0.0: {} merge2@1.4.1: {} methods@1.1.2: {} - micromatch@4.0.7: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 @@ -7012,8 +6103,6 @@ snapshots: mitt@3.0.1: {} - mixme@0.5.10: {} - mkdirp@0.5.6: dependencies: minimist: 1.2.8 @@ -7024,48 +6113,26 @@ snapshots: ms@2.1.2: {} - msw@2.3.1(typescript@5.4.5): + msw@2.4.1(graphql@16.8.2)(typescript@5.5.4): dependencies: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 - '@inquirer/confirm': 3.1.10 - '@mswjs/cookies': 1.1.1 + '@bundled-es-modules/tough-cookie': 0.1.6 + '@inquirer/confirm': 3.2.0 '@mswjs/interceptors': 0.29.1 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 '@types/statuses': 2.0.5 chalk: 4.1.2 - graphql: 16.8.2 headers-polyfill: 4.0.3 is-node-process: 1.2.0 - outvariant: 1.4.2 + outvariant: 1.4.3 path-to-regexp: 6.2.2 strict-event-emitter: 0.5.1 - type-fest: 4.20.1 + type-fest: 4.26.0 yargs: 17.7.2 optionalDependencies: - typescript: 5.4.5 - - msw@2.3.1(typescript@5.5.4): - dependencies: - '@bundled-es-modules/cookie': 2.0.0 - '@bundled-es-modules/statuses': 1.0.1 - '@inquirer/confirm': 3.1.10 - '@mswjs/cookies': 1.1.1 - '@mswjs/interceptors': 0.29.1 - '@open-draft/until': 2.1.0 - '@types/cookie': 0.6.0 - '@types/statuses': 2.0.5 - chalk: 4.1.2 graphql: 16.8.2 - headers-polyfill: 4.0.3 - is-node-process: 1.2.0 - outvariant: 1.4.2 - path-to-regexp: 6.2.2 - strict-event-emitter: 0.5.1 - type-fest: 4.20.1 - yargs: 17.7.2 - optionalDependencies: typescript: 5.5.4 muggle-string@0.4.1: {} @@ -7082,7 +6149,7 @@ snapshots: neo-async@2.6.2: {} - next@14.2.3(@playwright/test@1.44.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.3(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 @@ -7103,7 +6170,7 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.3 '@next/swc-win32-ia32-msvc': 14.2.3 '@next/swc-win32-x64-msvc': 14.2.3 - '@playwright/test': 1.44.1 + '@playwright/test': 1.46.1 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -7112,20 +6179,13 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-releases@2.0.14: {} - - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 + node-releases@2.0.18: {} normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.3 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -7137,16 +6197,7 @@ snapshots: nwsapi@2.2.12: optional: true - object-inspect@1.13.1: {} - - object-keys@1.1.1: {} - - object.assign@4.1.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 + object-inspect@1.13.2: {} once@1.4.0: dependencies: @@ -7170,7 +6221,7 @@ snapshots: outdent@0.5.0: {} - outvariant@1.4.2: {} + outvariant@1.4.3: {} p-filter@2.1.0: dependencies: @@ -7202,7 +6253,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -7228,8 +6279,6 @@ snapshots: path-key@4.0.0: {} - path-parse@1.0.7: {} - path-to-regexp@6.2.2: {} path-type@4.0.0: {} @@ -7250,6 +6299,8 @@ snapshots: picocolors@1.0.1: {} + picocolors@1.1.0: {} + picomatch@2.3.1: {} pify@4.0.1: {} @@ -7258,37 +6309,23 @@ snapshots: dependencies: find-up: 4.1.0 - playwright-core@1.44.1: {} + playwright-core@1.46.1: {} - playwright@1.44.1: + playwright@1.46.1: dependencies: - playwright-core: 1.44.1 + playwright-core: 1.46.1 optionalDependencies: fsevents: 2.3.2 pluralize@8.0.0: {} - possible-typed-array-names@1.0.0: {} - postcss@8.4.31: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - postcss@8.4.35: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 - - postcss@8.4.40: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 - - postcss@8.4.41: + postcss@8.4.44: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -7296,16 +6333,16 @@ snapshots: preact@10.23.1: {} - preferred-pm@3.1.3: + preferred-pm@3.1.4: dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 path-exists: 4.0.0 - which-pm: 2.0.0 + which-pm: 2.2.0 prettier@2.8.8: {} - prettier@3.3.2: {} + prettier@3.3.3: {} pretty-format@27.5.1: dependencies: @@ -7317,22 +6354,18 @@ snapshots: pseudomap@1.0.2: {} - psl@1.9.0: - optional: true + psl@1.9.0: {} punycode@2.3.1: {} - qs@6.12.1: + qs@6.13.0: dependencies: side-channel: 1.0.6 - querystringify@2.2.0: - optional: true + querystringify@2.2.0: {} queue-microtask@1.2.3: {} - quick-lru@4.0.1: {} - quick-lru@5.1.1: {} react-dom@18.3.1(react@18.3.1): @@ -7343,7 +6376,7 @@ snapshots: react-error-boundary@4.0.13(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 react: 18.3.1 react-is@17.0.2: {} @@ -7354,25 +6387,12 @@ snapshots: dependencies: loose-envify: 1.4.0 - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - read-pkg-up@8.0.0: dependencies: find-up: 5.0.0 read-pkg: 6.0.0 type-fest: 1.4.0 - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - read-pkg@6.0.0: dependencies: '@types/normalize-package-data': 2.4.4 @@ -7391,11 +6411,6 @@ snapshots: dependencies: picomatch: 2.3.1 - redent@3.0.0: - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - redent@4.0.0: dependencies: indent-string: 5.0.0 @@ -7403,30 +6418,14 @@ snapshots: regenerator-runtime@0.14.1: {} - regexp.prototype.flags@1.5.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - require-directory@2.1.1: {} require-from-string@2.0.2: {} - require-main-filename@2.0.0: {} - - requires-port@1.0.0: - optional: true + requires-port@1.0.0: {} resolve-from@5.0.0: {} - resolve@1.22.8: - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - reusify@1.0.4: {} rfdc@1.4.1: {} @@ -7439,48 +6438,26 @@ snapshots: dependencies: glob: 7.2.3 - rollup@4.18.0: + rollup@4.21.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.18.0 - '@rollup/rollup-android-arm64': 4.18.0 - '@rollup/rollup-darwin-arm64': 4.18.0 - '@rollup/rollup-darwin-x64': 4.18.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 - '@rollup/rollup-linux-arm-musleabihf': 4.18.0 - '@rollup/rollup-linux-arm64-gnu': 4.18.0 - '@rollup/rollup-linux-arm64-musl': 4.18.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 - '@rollup/rollup-linux-riscv64-gnu': 4.18.0 - '@rollup/rollup-linux-s390x-gnu': 4.18.0 - '@rollup/rollup-linux-x64-gnu': 4.18.0 - '@rollup/rollup-linux-x64-musl': 4.18.0 - '@rollup/rollup-win32-arm64-msvc': 4.18.0 - '@rollup/rollup-win32-ia32-msvc': 4.18.0 - '@rollup/rollup-win32-x64-msvc': 4.18.0 - fsevents: 2.3.3 - - rollup@4.20.0: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.20.0 - '@rollup/rollup-android-arm64': 4.20.0 - '@rollup/rollup-darwin-arm64': 4.20.0 - '@rollup/rollup-darwin-x64': 4.20.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.20.0 - '@rollup/rollup-linux-arm-musleabihf': 4.20.0 - '@rollup/rollup-linux-arm64-gnu': 4.20.0 - '@rollup/rollup-linux-arm64-musl': 4.20.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 - '@rollup/rollup-linux-riscv64-gnu': 4.20.0 - '@rollup/rollup-linux-s390x-gnu': 4.20.0 - '@rollup/rollup-linux-x64-gnu': 4.20.0 - '@rollup/rollup-linux-x64-musl': 4.20.0 - '@rollup/rollup-win32-arm64-msvc': 4.20.0 - '@rollup/rollup-win32-ia32-msvc': 4.20.0 - '@rollup/rollup-win32-x64-msvc': 4.20.0 + '@rollup/rollup-android-arm-eabi': 4.21.2 + '@rollup/rollup-android-arm64': 4.21.2 + '@rollup/rollup-darwin-arm64': 4.21.2 + '@rollup/rollup-darwin-x64': 4.21.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 + '@rollup/rollup-linux-arm-musleabihf': 4.21.2 + '@rollup/rollup-linux-arm64-gnu': 4.21.2 + '@rollup/rollup-linux-arm64-musl': 4.21.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 + '@rollup/rollup-linux-riscv64-gnu': 4.21.2 + '@rollup/rollup-linux-s390x-gnu': 4.21.2 + '@rollup/rollup-linux-x64-gnu': 4.21.2 + '@rollup/rollup-linux-x64-musl': 4.21.2 + '@rollup/rollup-win32-arm64-msvc': 4.21.2 + '@rollup/rollup-win32-ia32-msvc': 4.21.2 + '@rollup/rollup-win32-x64-msvc': 4.21.2 fsevents: 2.3.3 run-parallel@1.2.0: @@ -7491,19 +6468,6 @@ snapshots: dependencies: mri: 1.2.0 - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - safer-buffer@2.1.2: {} sander@0.5.1: @@ -7524,20 +6488,10 @@ snapshots: search-insights@2.13.0: {} - semver@5.7.2: {} - semver@6.3.1: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 - - semver@7.6.2: {} - semver@7.6.3: {} - set-blocking@2.0.0: {} - set-cookie-parser@2.7.0: {} set-function-length@1.2.2: @@ -7549,13 +6503,6 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.2 - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -7578,7 +6525,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 siginfo@2.0.0: {} @@ -7608,15 +6555,6 @@ snapshots: slash@5.1.0: {} - smartwrap@2.0.2: - dependencies: - array.prototype.flat: 1.3.2 - breakword: 1.0.6 - grapheme-splitter: 1.0.4 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 15.4.1 - sorcery@0.11.1: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -7657,10 +6595,6 @@ snapshots: std-env@3.7.0: {} - stream-transform@2.1.3: - dependencies: - mixme: 0.5.10 - streamsearch@1.1.0: {} strict-event-emitter@0.5.1: {} @@ -7671,25 +6605,6 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7715,7 +6630,7 @@ snapshots: client-only: 0.0.1 react: 18.3.1 - superagent@10.0.1: + superagent@10.1.0: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 @@ -7725,7 +6640,7 @@ snapshots: formidable: 3.5.1 methods: 1.1.2 mime: 2.6.0 - qs: 6.12.1 + qs: 6.13.0 transitivePeerDependencies: - supports-color @@ -7743,17 +6658,15 @@ snapshots: supports-color@9.4.0: {} - supports-preserve-symlinks-flag@1.0.0: {} - - svelte-check@3.8.5(@babel/core@7.24.7)(postcss@8.4.41)(svelte@4.2.18): + svelte-check@3.8.6(@babel/core@7.25.2)(postcss@8.4.44)(svelte@4.2.19): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 3.6.0 - picocolors: 1.0.1 + picocolors: 1.1.0 sade: 1.8.1 - svelte: 4.2.18 - svelte-preprocess: 5.1.4(@babel/core@7.24.7)(postcss@8.4.41)(svelte@4.2.18)(typescript@5.4.5) - typescript: 5.4.5 + svelte: 4.2.19 + svelte-preprocess: 5.1.4(@babel/core@7.25.2)(postcss@8.4.44)(svelte@4.2.19)(typescript@5.5.4) + typescript: 5.5.4 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -7765,24 +6678,24 @@ snapshots: - stylus - sugarss - svelte-hmr@0.16.0(svelte@4.2.18): + svelte-hmr@0.16.0(svelte@4.2.19): dependencies: - svelte: 4.2.18 + svelte: 4.2.19 - svelte-preprocess@5.1.4(@babel/core@7.24.7)(postcss@8.4.41)(svelte@4.2.18)(typescript@5.4.5): + svelte-preprocess@5.1.4(@babel/core@7.25.2)(postcss@8.4.44)(svelte@4.2.19)(typescript@5.5.4): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 magic-string: 0.30.11 sorcery: 0.11.1 strip-indent: 3.0.0 - svelte: 4.2.18 + svelte: 4.2.19 optionalDependencies: - '@babel/core': 7.24.7 - postcss: 8.4.41 - typescript: 5.4.5 + '@babel/core': 7.25.2 + postcss: 8.4.44 + typescript: 5.5.4 - svelte@4.2.18: + svelte@4.2.19: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -7811,9 +6724,9 @@ snapshots: globalyzer: 0.1.0 globrex: 0.1.2 - tinybench@2.8.0: {} + tinybench@2.9.0: {} - tinypool@1.0.0: {} + tinypool@1.0.1: {} tinyrainbow@1.2.0: {} @@ -7837,7 +6750,6 @@ snapshots: punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 - optional: true tr46@0.0.3: {} @@ -7846,99 +6758,42 @@ snapshots: punycode: 2.3.1 optional: true - trim-newlines@3.0.1: {} - trim-newlines@4.1.1: {} ts-results-es@4.2.0: {} - tslib@2.6.3: {} - - tty-table@4.2.3: - dependencies: - chalk: 4.1.2 - csv: 5.5.3 - kleur: 4.1.5 - smartwrap: 2.0.2 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 17.7.2 - - type-fest@0.13.1: {} + tslib@2.7.0: {} type-fest@0.21.3: {} - type-fest@0.6.0: {} - - type-fest@0.8.1: {} - type-fest@1.4.0: {} type-fest@4.20.1: {} - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 + type-fest@4.26.0: {} typescript@5.4.5: {} - typescript@5.5.4: - optional: true + typescript@5.5.4: {} - uglify-js@3.18.0: + uglify-js@3.19.3: optional: true - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - - undici-types@5.26.5: {} + undici-types@6.19.8: {} unicorn-magic@0.1.0: {} universalify@0.1.2: {} - universalify@0.2.0: - optional: true + universalify@0.2.0: {} universalify@2.0.1: {} - update-browserslist-db@1.0.16(browserslist@4.23.1): + update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: - browserslist: 4.23.1 - escalade: 3.1.2 - picocolors: 1.0.1 + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 uri-js@4.4.1: dependencies: @@ -7948,72 +6803,72 @@ snapshots: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - optional: true validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@2.0.5(@types/node@20.14.7)(supports-color@9.4.0): + vite-node@2.0.5(@types/node@22.5.2)(supports-color@9.4.0): dependencies: cac: 6.7.14 debug: 4.3.5(supports-color@9.4.0) pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.3.5(@types/node@20.14.7) + vite: 5.4.3(@types/node@22.5.2) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser - vite@5.3.5(@types/node@20.14.7): + vite@5.4.2(@types/node@22.5.2): dependencies: esbuild: 0.21.5 - postcss: 8.4.40 - rollup: 4.18.0 + postcss: 8.4.44 + rollup: 4.21.2 optionalDependencies: - '@types/node': 20.14.7 + '@types/node': 22.5.2 fsevents: 2.3.3 - vite@5.4.0(@types/node@20.14.7): + vite@5.4.3(@types/node@22.5.2): dependencies: esbuild: 0.21.5 - postcss: 8.4.41 - rollup: 4.20.0 + postcss: 8.4.44 + rollup: 4.21.2 optionalDependencies: - '@types/node': 20.14.7 + '@types/node': 22.5.2 fsevents: 2.3.3 - vitefu@0.2.5(vite@5.3.5(@types/node@20.14.7)): + vitefu@0.2.5(vite@5.4.3(@types/node@22.5.2)): optionalDependencies: - vite: 5.3.5(@types/node@20.14.7) + vite: 5.4.3(@types/node@22.5.2) - vitepress@1.3.2(@algolia/client-search@4.24.0)(@types/node@20.14.7)(@types/react@18.3.3)(axios@1.7.4)(postcss@8.4.41)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)(typescript@5.5.4): + vitepress@1.3.2(@algolia/client-search@4.24.0)(@types/node@22.5.2)(@types/react@18.3.3)(axios@1.7.7)(postcss@8.4.44)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)(typescript@5.5.4): dependencies: '@docsearch/css': 3.6.1 '@docsearch/js': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0) '@shikijs/core': 1.12.1 '@shikijs/transformers': 1.12.1 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.2(vite@5.4.0(@types/node@20.14.7))(vue@3.4.37(typescript@5.5.4)) + '@vitejs/plugin-vue': 5.1.3(vite@5.4.3(@types/node@22.5.2))(vue@3.5.0(typescript@5.5.4)) '@vue/devtools-api': 7.3.7 '@vue/shared': 3.4.37 - '@vueuse/core': 10.11.1(vue@3.4.37(typescript@5.5.4)) - '@vueuse/integrations': 10.11.1(axios@1.7.4)(focus-trap@7.5.4)(vue@3.4.37(typescript@5.5.4)) + '@vueuse/core': 10.11.1(vue@3.5.0(typescript@5.5.4)) + '@vueuse/integrations': 10.11.1(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.0(typescript@5.5.4)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 7.1.0 shiki: 1.12.1 - vite: 5.4.0(@types/node@20.14.7) - vue: 3.4.37(typescript@5.5.4) + vite: 5.4.3(@types/node@22.5.2) + vue: 3.5.0(typescript@5.5.4) optionalDependencies: - postcss: 8.4.41 + postcss: 8.4.44 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -8042,7 +6897,14 @@ snapshots: - typescript - universal-cookie - vitest@2.0.5(@types/node@20.14.7)(jsdom@20.0.3): + vitest-fetch-mock@0.3.0(vitest@2.0.5(@types/node@22.5.2)(jsdom@20.0.3)): + dependencies: + cross-fetch: 4.0.0 + vitest: 2.0.5(@types/node@22.5.2)(jsdom@20.0.3) + transitivePeerDependencies: + - encoding + + vitest@2.0.5(@types/node@22.5.2)(jsdom@20.0.3): dependencies: '@ampproject/remapping': 2.3.0 '@vitest/expect': 2.0.5 @@ -8057,14 +6919,14 @@ snapshots: magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 - tinybench: 2.8.0 - tinypool: 1.0.0 + tinybench: 2.9.0 + tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.0(@types/node@20.14.7) - vite-node: 2.0.5(@types/node@20.14.7)(supports-color@9.4.0) + vite: 5.4.3(@types/node@22.5.2) + vite-node: 2.0.5(@types/node@22.5.2)(supports-color@9.4.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.14.7 + '@types/node': 22.5.2 jsdom: 20.0.3 transitivePeerDependencies: - less @@ -8078,34 +6940,24 @@ snapshots: vscode-uri@3.0.8: {} - vue-demi@0.14.10(vue@3.4.37(typescript@5.5.4)): + vue-demi@0.14.10(vue@3.5.0(typescript@5.5.4)): dependencies: - vue: 3.4.37(typescript@5.5.4) + vue: 3.5.0(typescript@5.5.4) - vue-tsc@2.0.29(typescript@5.4.5): + vue-tsc@2.1.4(typescript@5.5.4): dependencies: - '@volar/typescript': 2.4.0-alpha.18 - '@vue/language-core': 2.0.29(typescript@5.4.5) + '@volar/typescript': 2.4.1 + '@vue/language-core': 2.1.4(typescript@5.5.4) semver: 7.6.3 - typescript: 5.4.5 + typescript: 5.5.4 - vue@3.4.35(typescript@5.4.5): + vue@3.5.0(typescript@5.5.4): dependencies: - '@vue/compiler-dom': 3.4.35 - '@vue/compiler-sfc': 3.4.35 - '@vue/runtime-dom': 3.4.35 - '@vue/server-renderer': 3.4.35(vue@3.4.35(typescript@5.4.5)) - '@vue/shared': 3.4.35 - optionalDependencies: - typescript: 5.4.5 - - vue@3.4.37(typescript@5.5.4): - dependencies: - '@vue/compiler-dom': 3.4.37 - '@vue/compiler-sfc': 3.4.37 - '@vue/runtime-dom': 3.4.37 - '@vue/server-renderer': 3.4.37(vue@3.4.37(typescript@5.5.4)) - '@vue/shared': 3.4.37 + '@vue/compiler-dom': 3.5.0 + '@vue/compiler-sfc': 3.5.0 + '@vue/runtime-dom': 3.5.0 + '@vue/server-renderer': 3.5.0(vue@3.5.0(typescript@5.5.4)) + '@vue/shared': 3.5.0 optionalDependencies: typescript: 5.5.4 @@ -8114,10 +6966,6 @@ snapshots: xml-name-validator: 4.0.0 optional: true - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - webidl-conversions@3.0.1: {} webidl-conversions@7.0.0: @@ -8142,29 +6990,11 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - which-module@2.0.1: {} - - which-pm@2.0.0: + which-pm@2.2.0: dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - which@1.3.1: dependencies: isexe: 2.0.0 @@ -8203,8 +7033,6 @@ snapshots: xmlchars@2.2.0: optional: true - y18n@4.0.3: {} - y18n@5.0.8: {} yallist@2.1.2: {} @@ -8215,33 +7043,14 @@ snapshots: yaml-ast-parser@0.0.43: {} - yargs-parser@18.1.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} - yargs@15.4.1: - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.1 - y18n: 4.0.3 - yargs-parser: 18.1.3 - yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -8249,3 +7058,5 @@ snapshots: yargs-parser: 21.1.1 yocto-queue@0.1.0: {} + + yoctocolors-cjs@2.1.2: {} From 5a227eba1dfa8a41710b56db9e89690b9cdf5db8 Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Tue, 3 Sep 2024 11:10:20 -0600 Subject: [PATCH 14/67] Fix benchmarks (#1897) --- packages/openapi-fetch/biome.json | 2 +- packages/openapi-fetch/package.json | 3 +- .../test/{ => bench}/index.bench.js | 30 +- .../bench/openapi-typescript-codegen.min.js | 1614 +++++++++++++++++ packages/openapi-fetch/vitest.config.ts | 1 + pnpm-lock.yaml | 31 +- 6 files changed, 1638 insertions(+), 43 deletions(-) rename packages/openapi-fetch/test/{ => bench}/index.bench.js (87%) create mode 100644 packages/openapi-fetch/test/bench/openapi-typescript-codegen.min.js diff --git a/packages/openapi-fetch/biome.json b/packages/openapi-fetch/biome.json index a580695e9..6ea8f6cf5 100644 --- a/packages/openapi-fetch/biome.json +++ b/packages/openapi-fetch/biome.json @@ -3,7 +3,7 @@ "extends": ["../../biome.json"], "files": { "include": ["./src/", "./test/"], - "ignore": ["**/test/**/schemas/**"] + "ignore": ["./test/**/schemas/**", "./test/bench/*.min.js"] }, "linter": { "rules": { diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index 9e8c78a7a..24e861299 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -67,8 +67,7 @@ "version": "pnpm run prepare && pnpm run build" }, "dependencies": { - "openapi-typescript-helpers": "workspace:^", - "vitest-fetch-mock": "^0.3.0" + "openapi-typescript-helpers": "workspace:^" }, "devDependencies": { "axios": "^1.7.7", diff --git a/packages/openapi-fetch/test/index.bench.js b/packages/openapi-fetch/test/bench/index.bench.js similarity index 87% rename from packages/openapi-fetch/test/index.bench.js rename to packages/openapi-fetch/test/bench/index.bench.js index ed89e45de..3b03354eb 100644 --- a/packages/openapi-fetch/test/index.bench.js +++ b/packages/openapi-fetch/test/bench/index.bench.js @@ -2,25 +2,27 @@ import axios from "axios"; import { Fetcher } from "openapi-typescript-fetch"; import { createApiFetchClient } from "feature-fetch"; import superagent from "superagent"; -import { afterAll, beforeAll, bench, describe, vi } from "vitest"; -import createFetchMock from "vitest-fetch-mock"; -import createClient, { createPathBasedClient } from "../dist/index.js"; -import * as openapiTSCodegen from "./fixtures/openapi-typescript-codegen.min.js"; +import { afterAll, bench, describe, vi } from "vitest"; +import createClient, { createPathBasedClient } from "../../dist/index.js"; +import * as openapiTSCodegen from "./openapi-typescript-codegen.min.js"; const BASE_URL = "https://api.test.local"; -const fetchMocker = createFetchMock(vi); +const fetchMock = vi.fn( + () => + new Promise((resolve) => { + process.nextTick(() => { + resolve(Response.json({}, { status: 200 })); + }); + }), +); +vi.stubGlobal("fetch", fetchMock); + +afterAll(() => { + vi.unstubAllGlobals(); +}); describe("setup", () => { - beforeAll(() => { - // mock global fetch in this benchmark, without any delaly, shared state or resources - fetchMocker.enableMocks(); - }); - - afterAll(() => { - fetchMocker.disableMocks(); - }); - bench("openapi-fetch", async () => { createClient({ baseUrl: BASE_URL }); }); diff --git a/packages/openapi-fetch/test/bench/openapi-typescript-codegen.min.js b/packages/openapi-fetch/test/bench/openapi-typescript-codegen.min.js new file mode 100644 index 000000000..34f24d75e --- /dev/null +++ b/packages/openapi-fetch/test/bench/openapi-typescript-codegen.min.js @@ -0,0 +1,1614 @@ +"use strict";var v=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var So=v((_v,Dt)=>{"use strict";var Du=/[\p{Lu}]/u,Nu=/[\p{Ll}]/u,Po=/^[\p{Lu}](?![\p{Lu}])/gu,wo=/([\p{Alpha}\p{N}_]|$)/u,ko=/[_.\- ]+/,Hu=new RegExp("^"+ko.source),bo=new RegExp(ko.source+wo.source,"gu"),Oo=new RegExp("\\d+"+wo.source,"gu"),Fu=(e,n,o)=>{let i=!1,r=!1,t=!1;for(let a=0;a(Po.lastIndex=0,e.replace(Po,o=>n(o))),Lu=(e,n)=>(bo.lastIndex=0,Oo.lastIndex=0,e.replace(bo,(o,i)=>n(i)).replace(Oo,o=>n(o))),Co=(e,n)=>{if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(n={pascalCase:!1,preserveConsecutiveUppercase:!1,...n},Array.isArray(e)?e=e.map(t=>t.trim()).filter(t=>t.length).join("-"):e=e.trim(),e.length===0)return"";let o=n.locale===!1?t=>t.toLowerCase():t=>t.toLocaleLowerCase(n.locale),i=n.locale===!1?t=>t.toUpperCase():t=>t.toLocaleUpperCase(n.locale);return e.length===1?n.pascalCase?i(e):o(e):(e!==o(e)&&(e=Fu(e,o,i)),e=e.replace(Hu,""),n.preserveConsecutiveUppercase?e=$u(e,o):e=o(e),n.pascalCase&&(e=i(e.charAt(0))+e.slice(1)),Lu(e,i))};Dt.exports=Co;Dt.exports.default=Co});var et=v(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.getDeepKeys=on.toJSON=void 0;var Mu=["function","symbol","undefined"],Bu=["constructor","prototype","__proto__"],Uu=Object.getPrototypeOf({});function Wu(){let e={},n=this;for(let o of Eo(n))if(typeof o=="string"){let i=n[o],r=typeof i;Mu.includes(r)||(e[o]=i)}return e}on.toJSON=Wu;function Eo(e,n=[]){let o=[];for(;e&&e!==Uu;)o=o.concat(Object.getOwnPropertyNames(e),Object.getOwnPropertySymbols(e)),e=Object.getPrototypeOf(e);let i=new Set(o);for(let r of n.concat(Bu))i.delete(r);return i}on.getDeepKeys=Eo});var Nt=v(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.addInspectMethod=an.format=void 0;var Ro=require("util"),Vu=et(),qo=Ro.inspect.custom||Symbol.for("nodejs.util.inspect.custom");an.format=Ro.format;function Yu(e){e[qo]=Ju}an.addInspectMethod=Yu;function Ju(){let e={},n=this;for(let o of Vu.getDeepKeys(n)){let i=n[o];e[o]=i}return delete e[qo],e}});var Io=v(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.lazyJoinStacks=ye.joinStacks=ye.isWritableStack=ye.isLazyStack=void 0;var Gu=/\r?\n/,Ku=/\bono[ @]/;function zu(e){return!!(e&&e.configurable&&typeof e.get=="function")}ye.isLazyStack=zu;function Qu(e){return!!(!e||e.writable||typeof e.set=="function")}ye.isWritableStack=Qu;function Ao(e,n){let o=To(e.stack),i=n?n.stack:void 0;return o&&i?o+` + +`+i:o||i}ye.joinStacks=Ao;function Xu(e,n,o){o?Object.defineProperty(n,"stack",{get:()=>{let i=e.get.apply(n);return Ao({stack:i},o)},enumerable:!1,configurable:!0}):Zu(n,e)}ye.lazyJoinStacks=Xu;function To(e){if(e){let n=e.split(Gu),o;for(let i=0;i0)return n.join(` +`)}return e}function Zu(e,n){Object.defineProperty(e,"stack",{get:()=>To(n.get.apply(e)),enumerable:!1,configurable:!0})}});var Do=v(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.extendError=void 0;var _o=Nt(),nt=Io(),jo=et(),ec=["name","message","stack"];function nc(e,n,o){let i=e;return tc(i,n),n&&typeof n=="object"&&rc(i,n),i.toJSON=jo.toJSON,_o.addInspectMethod&&_o.addInspectMethod(i),o&&typeof o=="object"&&Object.assign(i,o),i}tt.extendError=nc;function tc(e,n){let o=Object.getOwnPropertyDescriptor(e,"stack");nt.isLazyStack(o)?nt.lazyJoinStacks(o,e,n):nt.isWritableStack(o)&&(e.stack=nt.joinStacks(e,n))}function rc(e,n){let o=jo.getDeepKeys(n,ec),i=e,r=n;for(let t of o)if(i[t]===void 0)try{i[t]=r[t]}catch{}}});var No=v(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.normalizeArgs=ln.normalizeOptions=void 0;var oc=Nt();function ac(e){return e=e||{},{concatMessages:e.concatMessages===void 0?!0:!!e.concatMessages,format:e.format===void 0?oc.format:typeof e.format=="function"?e.format:!1}}ln.normalizeOptions=ac;function ic(e,n){let o,i,r,t="";return typeof e[0]=="string"?r=e:typeof e[1]=="string"?(e[0]instanceof Error?o=e[0]:i=e[0],r=e.slice(1)):(o=e[0],i=e[1],r=e.slice(2)),r.length>0&&(n.format?t=n.format.apply(void 0,r):t=r.join(" ")),n.concatMessages&&o&&o.message&&(t+=(t?` +`:"")+o.message),{originalError:o,props:i,message:t}}ln.normalizeArgs=ic});var Ft=v(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.Ono=void 0;var rt=Do(),Ho=No(),lc=et(),sc=Ht;ot.Ono=sc;function Ht(e,n){n=Ho.normalizeOptions(n);function o(...i){let{originalError:r,props:t,message:a}=Ho.normalizeArgs(i,n),l=new e(a);return rt.extendError(l,r,t)}return o[Symbol.species]=e,o}Ht.toJSON=function(n){return lc.toJSON.call(n)};Ht.extend=function(n,o,i){return i||o instanceof Error?rt.extendError(n,o,i):o?rt.extendError(n,void 0,o):rt.extendError(n)}});var Fo=v(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.ono=void 0;var We=Ft(),uc=ve;at.ono=uc;ve.error=new We.Ono(Error);ve.eval=new We.Ono(EvalError);ve.range=new We.Ono(RangeError);ve.reference=new We.Ono(ReferenceError);ve.syntax=new We.Ono(SyntaxError);ve.type=new We.Ono(TypeError);ve.uri=new We.Ono(URIError);var cc=ve;function ve(...e){let n=e[0];if(typeof n=="object"&&typeof n.name=="string"){for(let o of Object.values(cc))if(typeof o=="function"&&o.name==="ono"){let i=o[Symbol.species];if(i&&i!==Error&&(n instanceof i||n.name===i.name))return o.apply(void 0,e)}}return ve.error.apply(void 0,e)}});var Lo=v($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});var Mv=require("util")});var Te=v((ue,sn)=>{"use strict";var pc=ue&&ue.__createBinding||(Object.create?function(e,n,o,i){i===void 0&&(i=o),Object.defineProperty(e,i,{enumerable:!0,get:function(){return n[o]}})}:function(e,n,o,i){i===void 0&&(i=o),e[i]=n[o]}),fc=ue&&ue.__exportStar||function(e,n){for(var o in e)o!=="default"&&!n.hasOwnProperty(o)&&pc(n,e,o)};Object.defineProperty(ue,"__esModule",{value:!0});ue.ono=void 0;var Mo=Fo();Object.defineProperty(ue,"ono",{enumerable:!0,get:function(){return Mo.ono}});var mc=Ft();Object.defineProperty(ue,"Ono",{enumerable:!0,get:function(){return mc.Ono}});fc(Lo(),ue);ue.default=Mo.ono;typeof sn=="object"&&typeof sn.exports=="object"&&(sn.exports=Object.assign(sn.exports.default,sn.exports))});var ie=v((ee,Bo)=>{"use strict";var it=/^win/.test(process.platform),dc=/\//g,hc=/^(\w{2,}):\/\//i,Mt=Bo.exports,yc=/~1/g,vc=/~0/g,$t=[/\?/g,"%3F",/\#/g,"%23"],Lt=[/\%23/g,"#",/\%24/g,"$",/\%26/g,"&",/\%2C/g,",",/\%40/g,"@"];ee.parse=require("url").parse;ee.resolve=require("url").resolve;ee.cwd=function(){if(process.browser)return location.href;let n=process.cwd(),o=n.slice(-1);return o==="/"||o==="\\"?n:n+"/"};ee.getProtocol=function(n){let o=hc.exec(n);if(o)return o[1].toLowerCase()};ee.getExtension=function(n){let o=n.lastIndexOf(".");return o>=0?Mt.stripQuery(n.substr(o).toLowerCase()):""};ee.stripQuery=function(n){let o=n.indexOf("?");return o>=0&&(n=n.substr(0,o)),n};ee.getHash=function(n){let o=n.indexOf("#");return o>=0?n.substr(o):"#"};ee.stripHash=function(n){let o=n.indexOf("#");return o>=0&&(n=n.substr(0,o)),n};ee.isHttp=function(n){let o=Mt.getProtocol(n);return o==="http"||o==="https"?!0:o===void 0?process.browser:!1};ee.isFileSystemPath=function(n){if(process.browser)return!1;let o=Mt.getProtocol(n);return o===void 0||o==="file"};ee.fromFileSystemPath=function(n){it&&(n=n.replace(/\\/g,"/")),n=encodeURI(n);for(let o=0;o<$t.length;o+=2)n=n.replace($t[o],$t[o+1]);return n};ee.toFileSystemPath=function(n,o){n=decodeURI(n);for(let r=0;rdecodeURIComponent(o).replace(yc,"/").replace(vc,"~"))}});var pe=v(ce=>{"use strict";var{Ono:Uo}=Te(),{stripHash:Wo,toFileSystemPath:gc}=ie(),Ie=ce.JSONParserError=class extends Error{constructor(n,o){super(),this.code="EUNKNOWN",this.message=n,this.source=o,this.path=null,Uo.extend(this)}get footprint(){return`${this.path}+${this.source}+${this.code}+${this.message}`}};_e(Ie);var Vo=ce.JSONParserErrorGroup=class Yo extends Error{constructor(n){super(),this.files=n,this.message=`${this.errors.length} error${this.errors.length>1?"s":""} occurred while reading '${gc(n.$refs._root$Ref.path)}'`,Uo.extend(this)}static getParserErrors(n){let o=[];for(let i of Object.values(n.$refs._$refs))i.errors&&o.push(...i.errors);return o}get errors(){return Yo.getParserErrors(this.files)}};_e(Vo);var xc=ce.ParserError=class extends Ie{constructor(n,o){super(`Error parsing ${o}: ${n}`,o),this.code="EPARSER"}};_e(xc);var Pc=ce.UnmatchedParserError=class extends Ie{constructor(n){super(`Could not find parser for "${n}"`,n),this.code="EUNMATCHEDPARSER"}};_e(Pc);var bc=ce.ResolverError=class extends Ie{constructor(n,o){super(n.message||`Error reading file "${o}"`,o),this.code="ERESOLVER","code"in n&&(this.ioErrorCode=String(n.code))}};_e(bc);var Oc=ce.UnmatchedResolverError=class extends Ie{constructor(n){super(`Could not find resolver for "${n}"`,n),this.code="EUNMATCHEDRESOLVER"}};_e(Oc);var wc=ce.MissingPointerError=class extends Ie{constructor(n,o){super(`Token "${n}" does not exist.`,Wo(o)),this.code="EMISSINGPOINTER"}};_e(wc);var kc=ce.InvalidPointerError=class extends Ie{constructor(n,o){super(`Invalid $ref pointer "${n}". Pointers must begin with "#/"`,Wo(o)),this.code="EINVALIDPOINTER"}};_e(kc);function _e(e){Object.defineProperty(e.prototype,"name",{value:e.name,enumerable:!0})}ce.isHandledError=function(e){return e instanceof Ie||e instanceof Vo};ce.normalizeError=function(e){return e.path===null&&(e.path=[]),e}});var En=v((Qv,Ko)=>{"use strict";Ko.exports=je;var Bt=un(),Ut=ie(),{JSONParserError:Cc,InvalidPointerError:Sc,MissingPointerError:Ec,isHandledError:Rc}=pe(),qc=/\//g,Ac=/~/g,Tc=/~1/g,Ic=/~0/g;function je(e,n,o){this.$ref=e,this.path=n,this.originalPath=o||n,this.value=void 0,this.circular=!1,this.indirections=0}je.prototype.resolve=function(e,n,o){let i=je.parse(this.path,this.originalPath);this.value=Go(e);for(let r=0;r{"use strict";Xo.exports=G;var Qo=En(),{InvalidPointerError:_c,isHandledError:jc,normalizeError:zo}=pe(),{safePointerToPath:Dc,stripHash:Nc,getHash:Hc}=ie();function G(){this.path=void 0,this.value=void 0,this.$refs=void 0,this.pathType=void 0,this.errors=void 0}G.prototype.addError=function(e){this.errors===void 0&&(this.errors=[]);let n=this.errors.map(({footprint:o})=>o);Array.isArray(e.errors)?this.errors.push(...e.errors.map(zo).filter(({footprint:o})=>!n.includes(o))):n.includes(e.footprint)||this.errors.push(zo(e))};G.prototype.exists=function(e,n){try{return this.resolve(e,n),!0}catch{return!1}};G.prototype.get=function(e,n){return this.resolve(e,n).value};G.prototype.resolve=function(e,n,o,i){let r=new Qo(this,e,o);try{return r.resolve(this.value,n,i)}catch(t){if(!n||!n.continueOnError||!jc(t))throw t;return t.path===null&&(t.path=Dc(Hc(i))),t instanceof _c&&(t.source=Nc(i)),this.addError(t),null}};G.prototype.set=function(e,n){let o=new Qo(this,e);this.value=o.set(this.value,n)};G.is$Ref=function(e){return e&&typeof e=="object"&&typeof e.$ref=="string"&&e.$ref.length>0};G.isExternal$Ref=function(e){return G.is$Ref(e)&&e.$ref[0]!=="#"};G.isAllowed$Ref=function(e,n){if(G.is$Ref(e)){if(e.$ref.substr(0,2)==="#/"||e.$ref==="#")return!0;if(e.$ref[0]!=="#"&&(!n||n.resolve.external))return!0}};G.isExtended$Ref=function(e){return G.is$Ref(e)&&Object.keys(e).length>1};G.dereference=function(e,n){if(n&&typeof n=="object"&&G.isExtended$Ref(e)){let o={};for(let i of Object.keys(e))i!=="$ref"&&(o[i]=e[i]);for(let i of Object.keys(n))i in o||(o[i]=n[i]);return o}else return n}});var ta=v((Zv,na)=>{"use strict";var{ono:Zo}=Te(),Fc=un(),De=ie();na.exports=fe;function fe(){this.circular=!1,this._$refs={},this._root$Ref=null}fe.prototype.paths=function(e){return ea(this._$refs,arguments).map(o=>o.decoded)};fe.prototype.values=function(e){let n=this._$refs;return ea(n,arguments).reduce((i,r)=>(i[r.decoded]=n[r.encoded].value,i),{})};fe.prototype.toJSON=fe.prototype.values;fe.prototype.exists=function(e,n){try{return this._resolve(e,"",n),!0}catch{return!1}};fe.prototype.get=function(e,n){return this._resolve(e,"",n).value};fe.prototype.set=function(e,n){let o=De.resolve(this._root$Ref.path,e),i=De.stripHash(o),r=this._$refs[i];if(!r)throw Zo(`Error resolving $ref pointer "${e}". +"${i}" not found.`);r.set(o,n)};fe.prototype._add=function(e){let n=De.stripHash(e),o=new Fc;return o.path=n,o.$refs=this,this._$refs[n]=o,this._root$Ref=this._root$Ref||o,o};fe.prototype._resolve=function(e,n,o){let i=De.resolve(this._root$Ref.path,e),r=De.stripHash(i),t=this._$refs[r];if(!t)throw Zo(`Error resolving $ref pointer "${e}". +"${r}" not found.`);return t.resolve(i,o,e,n)};fe.prototype._get$Ref=function(e){e=De.resolve(this._root$Ref.path,e);let n=De.stripHash(e);return this._$refs[n]};function ea(e,n){let o=Object.keys(e);return n=Array.isArray(n[0])?n[0]:Array.prototype.slice.call(n),n.length>0&&n[0]&&(o=o.filter(i=>n.indexOf(e[i].pathType)!==-1)),o.map(i=>({encoded:i,decoded:e[i].pathType==="file"?De.toFileSystemPath(i,!0):i}))}});var oa=v(Rn=>{"use strict";Rn.all=function(e){return Object.keys(e).filter(n=>typeof e[n]=="object").map(n=>(e[n].name=n,e[n]))};Rn.filter=function(e,n,o){return e.filter(i=>!!ra(i,n,o))};Rn.sort=function(e){for(let n of e)n.order=n.order||Number.MAX_SAFE_INTEGER;return e.sort((n,o)=>n.order-o.order)};Rn.run=function(e,n,o,i){let r,t,a=0;return new Promise((l,s)=>{u();function u(){if(r=e[a++],!r)return s(t);try{let m=ra(r,n,o,p,i);if(m&&typeof m.then=="function")m.then(c,f);else if(m!==void 0)c(m);else if(a===e.length)throw new Error("No promise has been returned or callback has been called.")}catch(m){f(m)}}function p(m,d){m?f(m):c(d)}function c(m){l({plugin:r,result:m})}function f(m){t={plugin:r,error:m},u()}})};function ra(e,n,o,i,r){let t=e[n];if(typeof t=="function")return t.apply(e,[o,i,r]);if(!i){if(t instanceof RegExp)return t.test(o.url);if(typeof t=="string")return t===o.extension;if(Array.isArray(t))return t.indexOf(o.extension)!==-1}return t}});var Vt=v((ng,sa)=>{"use strict";var{ono:Wt}=Te(),aa=ie(),Ne=oa(),{ResolverError:ia,ParserError:la,UnmatchedParserError:$c,UnmatchedResolverError:Lc,isHandledError:Mc}=pe();sa.exports=Bc;async function Bc(e,n,o){e=aa.stripHash(e);let i=n._add(e),r={url:e,extension:aa.getExtension(e)};try{let t=await Uc(r,o,n);i.pathType=t.plugin.name,r.data=t.result;let a=await Wc(r,o,n);return i.value=a.result,a.result}catch(t){throw Mc(t)&&(i.value=t),t}}function Uc(e,n,o){return new Promise((i,r)=>{let t=Ne.all(n.resolve);t=Ne.filter(t,"canRead",e),Ne.sort(t),Ne.run(t,"read",e,o).then(i,a);function a(l){!l&&n.continueOnError?r(new Lc(e.url)):!l||!("error"in l)?r(Wt.syntax(`Unable to resolve $ref pointer "${e.url}"`)):l.error instanceof ia?r(l.error):r(new ia(l,e.url))}})}function Wc(e,n,o){return new Promise((i,r)=>{let t=Ne.all(n.parse),a=Ne.filter(t,"canParse",e),l=a.length>0?a:t;Ne.sort(l),Ne.run(l,"parse",e,o).then(s,u);function s(p){!p.plugin.allowEmpty&&Vc(p.result)?r(Wt.syntax(`Error parsing "${e.url}" as ${p.plugin.name}. +Parsed value is empty`)):i(p)}function u(p){!p&&n.continueOnError?r(new $c(e.url)):!p||!("error"in p)?r(Wt.syntax(`Unable to parse ${e.url}`)):p.error instanceof la?r(p.error):r(new la(p.error.message,e.url))}})}function Vc(e){return e===void 0||typeof e=="object"&&Object.keys(e).length===0||typeof e=="string"&&e.trim().length===0||Buffer.isBuffer(e)&&e.length===0}});var ca=v((tg,ua)=>{"use strict";var{ParserError:Yc}=pe();ua.exports={order:100,allowEmpty:!0,canParse:".json",async parse(e){let n=e.data;if(Buffer.isBuffer(n)&&(n=n.toString()),typeof n=="string"){if(n.trim().length===0)return;try{return JSON.parse(n)}catch(o){throw new Yc(o.message,e.url)}}else return n}}});var cn=v((rg,Ve)=>{"use strict";function pa(e){return typeof e>"u"||e===null}function Jc(e){return typeof e=="object"&&e!==null}function Gc(e){return Array.isArray(e)?e:pa(e)?[]:[e]}function Kc(e,n){var o,i,r,t;if(n)for(t=Object.keys(n),o=0,i=t.length;o{"use strict";function fa(e,n){var o="",i=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=` + +`+e.mark.snippet),i+" "+o):i}function qn(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=fa(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}qn.prototype=Object.create(Error.prototype);qn.prototype.constructor=qn;qn.prototype.toString=function(n){return this.name+": "+fa(this,n)};ma.exports=qn});var ha=v((ag,da)=>{"use strict";var An=cn();function Yt(e,n,o,i,r){var t="",a="",l=Math.floor(r/2)-1;return i-n>l&&(t=" ... ",n=i-l+t.length),o-i>l&&(a=" ...",o=i+l-a.length),{str:t+e.slice(n,o).replace(/\t/g,"\u2192")+a,pos:i-n+t.length}}function Jt(e,n){return An.repeat(" ",n-e.length)+e}function Xc(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var o=/\r?\n|\r|\0/g,i=[0],r=[],t,a=-1;t=o.exec(e.buffer);)r.push(t.index),i.push(t.index+t[0].length),e.position<=t.index&&a<0&&(a=i.length-2);a<0&&(a=i.length-1);var l="",s,u,p=Math.min(e.line+n.linesAfter,r.length).toString().length,c=n.maxLength-(n.indent+p+3);for(s=1;s<=n.linesBefore&&!(a-s<0);s++)u=Yt(e.buffer,i[a-s],r[a-s],e.position-(i[a]-i[a-s]),c),l=An.repeat(" ",n.indent)+Jt((e.line-s+1).toString(),p)+" | "+u.str+` +`+l;for(u=Yt(e.buffer,i[a],r[a],e.position,c),l+=An.repeat(" ",n.indent)+Jt((e.line+1).toString(),p)+" | "+u.str+` +`,l+=An.repeat("-",n.indent+p+3+u.pos)+`^ +`,s=1;s<=n.linesAfter&&!(a+s>=r.length);s++)u=Yt(e.buffer,i[a+s],r[a+s],e.position-(i[a]-i[a+s]),c),l+=An.repeat(" ",n.indent)+Jt((e.line+s+1).toString(),p)+" | "+u.str+` +`;return l.replace(/\n$/,"")}da.exports=Xc});var V=v((ig,va)=>{"use strict";var ya=pn(),Zc=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],ep=["scalar","sequence","mapping"];function np(e){var n={};return e!==null&&Object.keys(e).forEach(function(o){e[o].forEach(function(i){n[String(i)]=o})}),n}function tp(e,n){if(n=n||{},Object.keys(n).forEach(function(o){if(Zc.indexOf(o)===-1)throw new ya('Unknown option "'+o+'" is met in definition of "'+e+'" YAML type.')}),this.options=n,this.tag=e,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(o){return o},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=np(n.styleAliases||null),ep.indexOf(this.kind)===-1)throw new ya('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}va.exports=tp});var zt=v((lg,xa)=>{"use strict";var Tn=pn(),Gt=V();function ga(e,n){var o=[];return e[n].forEach(function(i){var r=o.length;o.forEach(function(t,a){t.tag===i.tag&&t.kind===i.kind&&t.multi===i.multi&&(r=a)}),o[r]=i}),o}function rp(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,o;function i(r){r.multi?(e.multi[r.kind].push(r),e.multi.fallback.push(r)):e[r.kind][r.tag]=e.fallback[r.tag]=r}for(n=0,o=arguments.length;n{"use strict";var op=V();Pa.exports=new op("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var Xt=v((ug,ba)=>{"use strict";var ap=V();ba.exports=new ap("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var Zt=v((cg,Oa)=>{"use strict";var ip=V();Oa.exports=new ip("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var er=v((pg,wa)=>{"use strict";var lp=zt();wa.exports=new lp({explicit:[Qt(),Xt(),Zt()]})});var nr=v((fg,ka)=>{"use strict";var sp=V();function up(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function cp(){return null}function pp(e){return e===null}ka.exports=new sp("tag:yaml.org,2002:null",{kind:"scalar",resolve:up,construct:cp,predicate:pp,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"})});var tr=v((mg,Ca)=>{"use strict";var fp=V();function mp(e){if(e===null)return!1;var n=e.length;return n===4&&(e==="true"||e==="True"||e==="TRUE")||n===5&&(e==="false"||e==="False"||e==="FALSE")}function dp(e){return e==="true"||e==="True"||e==="TRUE"}function hp(e){return Object.prototype.toString.call(e)==="[object Boolean]"}Ca.exports=new fp("tag:yaml.org,2002:bool",{kind:"scalar",resolve:mp,construct:dp,predicate:hp,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var rr=v((dg,Sa)=>{"use strict";var yp=cn(),vp=V();function gp(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function xp(e){return 48<=e&&e<=55}function Pp(e){return 48<=e&&e<=57}function bp(e){if(e===null)return!1;var n=e.length,o=0,i=!1,r;if(!n)return!1;if(r=e[o],(r==="-"||r==="+")&&(r=e[++o]),r==="0"){if(o+1===n)return!0;if(r=e[++o],r==="b"){for(o++;o=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var or=v((hg,Ra)=>{"use strict";var Ea=cn(),kp=V(),Cp=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Sp(e){return!(e===null||!Cp.test(e)||e[e.length-1]==="_")}function Ep(e){var n,o;return n=e.replace(/_/g,"").toLowerCase(),o=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?o===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:o*parseFloat(n,10)}var Rp=/^[-+]?[0-9]+e/;function qp(e,n){var o;if(isNaN(e))switch(n){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(n){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(n){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Ea.isNegativeZero(e))return"-0.0";return o=e.toString(10),Rp.test(o)?o.replace("e",".e"):o}function Ap(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Ea.isNegativeZero(e))}Ra.exports=new kp("tag:yaml.org,2002:float",{kind:"scalar",resolve:Sp,construct:Ep,predicate:Ap,represent:qp,defaultStyle:"lowercase"})});var ar=v((yg,qa)=>{"use strict";qa.exports=er().extend({implicit:[nr(),tr(),rr(),or()]})});var ir=v((vg,Aa)=>{"use strict";Aa.exports=ar()});var lr=v((gg,_a)=>{"use strict";var Tp=V(),Ta=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ia=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Ip(e){return e===null?!1:Ta.exec(e)!==null||Ia.exec(e)!==null}function _p(e){var n,o,i,r,t,a,l,s=0,u=null,p,c,f;if(n=Ta.exec(e),n===null&&(n=Ia.exec(e)),n===null)throw new Error("Date resolve error");if(o=+n[1],i=+n[2]-1,r=+n[3],!n[4])return new Date(Date.UTC(o,i,r));if(t=+n[4],a=+n[5],l=+n[6],n[7]){for(s=n[7].slice(0,3);s.length<3;)s+="0";s=+s}return n[9]&&(p=+n[10],c=+(n[11]||0),u=(p*60+c)*6e4,n[9]==="-"&&(u=-u)),f=new Date(Date.UTC(o,i,r,t,a,l,s)),u&&f.setTime(f.getTime()-u),f}function jp(e){return e.toISOString()}_a.exports=new Tp("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Ip,construct:_p,instanceOf:Date,represent:jp})});var sr=v((xg,ja)=>{"use strict";var Dp=V();function Np(e){return e==="<<"||e===null}ja.exports=new Dp("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Np})});var cr=v((Pg,Da)=>{"use strict";var Hp=V(),ur=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function Fp(e){if(e===null)return!1;var n,o,i=0,r=e.length,t=ur;for(o=0;o64)){if(n<0)return!1;i+=6}return i%8===0}function $p(e){var n,o,i=e.replace(/[\r\n=]/g,""),r=i.length,t=ur,a=0,l=[];for(n=0;n>16&255),l.push(a>>8&255),l.push(a&255)),a=a<<6|t.indexOf(i.charAt(n));return o=r%4*6,o===0?(l.push(a>>16&255),l.push(a>>8&255),l.push(a&255)):o===18?(l.push(a>>10&255),l.push(a>>2&255)):o===12&&l.push(a>>4&255),new Uint8Array(l)}function Lp(e){var n="",o=0,i,r,t=e.length,a=ur;for(i=0;i>18&63],n+=a[o>>12&63],n+=a[o>>6&63],n+=a[o&63]),o=(o<<8)+e[i];return r=t%3,r===0?(n+=a[o>>18&63],n+=a[o>>12&63],n+=a[o>>6&63],n+=a[o&63]):r===2?(n+=a[o>>10&63],n+=a[o>>4&63],n+=a[o<<2&63],n+=a[64]):r===1&&(n+=a[o>>2&63],n+=a[o<<4&63],n+=a[64],n+=a[64]),n}function Mp(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}Da.exports=new Hp("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Fp,construct:$p,predicate:Mp,represent:Lp})});var pr=v((bg,Na)=>{"use strict";var Bp=V(),Up=Object.prototype.hasOwnProperty,Wp=Object.prototype.toString;function Vp(e){if(e===null)return!0;var n=[],o,i,r,t,a,l=e;for(o=0,i=l.length;o{"use strict";var Jp=V(),Gp=Object.prototype.toString;function Kp(e){if(e===null)return!0;var n,o,i,r,t,a=e;for(t=new Array(a.length),n=0,o=a.length;n{"use strict";var Qp=V(),Xp=Object.prototype.hasOwnProperty;function Zp(e){if(e===null)return!0;var n,o=e;for(n in o)if(Xp.call(o,n)&&o[n]!==null)return!1;return!0}function ef(e){return e!==null?e:{}}Fa.exports=new Qp("tag:yaml.org,2002:set",{kind:"mapping",resolve:Zp,construct:ef})});var st=v((kg,$a)=>{"use strict";$a.exports=ir().extend({implicit:[lr(),sr()],explicit:[cr(),pr(),fr(),mr()]})});var ni=v((Cg,vr)=>{"use strict";var Je=cn(),Ya=pn(),nf=ha(),tf=st(),Fe=Object.prototype.hasOwnProperty,ut=1,Ja=2,Ga=3,ct=4,dr=1,rf=2,La=3,of=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,af=/[\x85\u2028\u2029]/,lf=/[,\[\]\{\}]/,Ka=/^(?:!|!!|![a-z\-]+!)$/i,za=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Ma(e){return Object.prototype.toString.call(e)}function ge(e){return e===10||e===13}function Ge(e){return e===9||e===32}function ne(e){return e===9||e===32||e===10||e===13}function fn(e){return e===44||e===91||e===93||e===123||e===125}function sf(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function uf(e){return e===120?2:e===117?4:e===85?8:0}function cf(e){return 48<=e&&e<=57?e-48:-1}function Ba(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function pf(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var Qa=new Array(256),Xa=new Array(256);for(Ye=0;Ye<256;Ye++)Qa[Ye]=Ba(Ye)?1:0,Xa[Ye]=Ba(Ye);var Ye;function ff(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||tf,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Za(e,n){var o={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return o.snippet=nf(o),new Ya(n,o)}function O(e,n){throw Za(e,n)}function pt(e,n){e.onWarning&&e.onWarning.call(null,Za(e,n))}var Ua={YAML:function(n,o,i){var r,t,a;n.version!==null&&O(n,"duplication of %YAML directive"),i.length!==1&&O(n,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),r===null&&O(n,"ill-formed argument of the YAML directive"),t=parseInt(r[1],10),a=parseInt(r[2],10),t!==1&&O(n,"unacceptable YAML version of the document"),n.version=i[0],n.checkLineBreaks=a<2,a!==1&&a!==2&&pt(n,"unsupported YAML version of the document")},TAG:function(n,o,i){var r,t;i.length!==2&&O(n,"TAG directive accepts exactly two arguments"),r=i[0],t=i[1],Ka.test(r)||O(n,"ill-formed tag handle (first argument) of the TAG directive"),Fe.call(n.tagMap,r)&&O(n,'there is a previously declared suffix for "'+r+'" tag handle'),za.test(t)||O(n,"ill-formed tag prefix (second argument) of the TAG directive");try{t=decodeURIComponent(t)}catch{O(n,"tag prefix is malformed: "+t)}n.tagMap[r]=t}};function He(e,n,o,i){var r,t,a,l;if(n1&&(e.result+=Je.repeat(` +`,n-1))}function mf(e,n,o){var i,r,t,a,l,s,u,p,c=e.kind,f=e.result,m;if(m=e.input.charCodeAt(e.position),ne(m)||fn(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(r=e.input.charCodeAt(e.position+1),ne(r)||o&&fn(r)))return!1;for(e.kind="scalar",e.result="",t=a=e.position,l=!1;m!==0;){if(m===58){if(r=e.input.charCodeAt(e.position+1),ne(r)||o&&fn(r))break}else if(m===35){if(i=e.input.charCodeAt(e.position-1),ne(i))break}else{if(e.position===e.lineStart&&ft(e)||o&&fn(m))break;if(ge(m))if(s=e.line,u=e.lineStart,p=e.lineIndent,$(e,!1,-1),e.lineIndent>=n){l=!0,m=e.input.charCodeAt(e.position);continue}else{e.position=a,e.line=s,e.lineStart=u,e.lineIndent=p;break}}l&&(He(e,t,a,!1),yr(e,e.line-s),t=a=e.position,l=!1),Ge(m)||(a=e.position+1),m=e.input.charCodeAt(++e.position)}return He(e,t,a,!1),e.result?!0:(e.kind=c,e.result=f,!1)}function df(e,n){var o,i,r;if(o=e.input.charCodeAt(e.position),o!==39)return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;(o=e.input.charCodeAt(e.position))!==0;)if(o===39)if(He(e,i,e.position,!0),o=e.input.charCodeAt(++e.position),o===39)i=e.position,e.position++,r=e.position;else return!0;else ge(o)?(He(e,i,r,!0),yr(e,$(e,!1,n)),i=r=e.position):e.position===e.lineStart&&ft(e)?O(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);O(e,"unexpected end of the stream within a single quoted scalar")}function hf(e,n){var o,i,r,t,a,l;if(l=e.input.charCodeAt(e.position),l!==34)return!1;for(e.kind="scalar",e.result="",e.position++,o=i=e.position;(l=e.input.charCodeAt(e.position))!==0;){if(l===34)return He(e,o,e.position,!0),e.position++,!0;if(l===92){if(He(e,o,e.position,!0),l=e.input.charCodeAt(++e.position),ge(l))$(e,!1,n);else if(l<256&&Qa[l])e.result+=Xa[l],e.position++;else if((a=uf(l))>0){for(r=a,t=0;r>0;r--)l=e.input.charCodeAt(++e.position),(a=sf(l))>=0?t=(t<<4)+a:O(e,"expected hexadecimal character");e.result+=pf(t),e.position++}else O(e,"unknown escape sequence");o=i=e.position}else ge(l)?(He(e,o,i,!0),yr(e,$(e,!1,n)),o=i=e.position):e.position===e.lineStart&&ft(e)?O(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}O(e,"unexpected end of the stream within a double quoted scalar")}function yf(e,n){var o=!0,i,r,t,a=e.tag,l,s=e.anchor,u,p,c,f,m,d=Object.create(null),y,g,P,x;if(x=e.input.charCodeAt(e.position),x===91)p=93,m=!1,l=[];else if(x===123)p=125,m=!0,l={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=l),x=e.input.charCodeAt(++e.position);x!==0;){if($(e,!0,n),x=e.input.charCodeAt(e.position),x===p)return e.position++,e.tag=a,e.anchor=s,e.kind=m?"mapping":"sequence",e.result=l,!0;o?x===44&&O(e,"expected the node content, but found ','"):O(e,"missed comma between flow collection entries"),g=y=P=null,c=f=!1,x===63&&(u=e.input.charCodeAt(e.position+1),ne(u)&&(c=f=!0,e.position++,$(e,!0,n))),i=e.line,r=e.lineStart,t=e.position,dn(e,n,ut,!1,!0),g=e.tag,y=e.result,$(e,!0,n),x=e.input.charCodeAt(e.position),(f||e.line===i)&&x===58&&(c=!0,x=e.input.charCodeAt(++e.position),$(e,!0,n),dn(e,n,ut,!1,!0),P=e.result),m?mn(e,l,d,g,y,P,i,r,t):c?l.push(mn(e,null,d,g,y,P,i,r,t)):l.push(y),$(e,!0,n),x=e.input.charCodeAt(e.position),x===44?(o=!0,x=e.input.charCodeAt(++e.position)):o=!1}O(e,"unexpected end of the stream within a flow collection")}function vf(e,n){var o,i,r=dr,t=!1,a=!1,l=n,s=0,u=!1,p,c;if(c=e.input.charCodeAt(e.position),c===124)i=!1;else if(c===62)i=!0;else return!1;for(e.kind="scalar",e.result="";c!==0;)if(c=e.input.charCodeAt(++e.position),c===43||c===45)dr===r?r=c===43?La:rf:O(e,"repeat of a chomping mode identifier");else if((p=cf(c))>=0)p===0?O(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?O(e,"repeat of an indentation width identifier"):(l=n+p-1,a=!0);else break;if(Ge(c)){do c=e.input.charCodeAt(++e.position);while(Ge(c));if(c===35)do c=e.input.charCodeAt(++e.position);while(!ge(c)&&c!==0)}for(;c!==0;){for(hr(e),e.lineIndent=0,c=e.input.charCodeAt(e.position);(!a||e.lineIndentl&&(l=e.lineIndent),ge(c)){s++;continue}if(e.lineIndentn)&&s!==0)O(e,"bad indentation of a sequence entry");else if(e.lineIndentn)&&(g&&(a=e.line,l=e.lineStart,s=e.position),dn(e,n,ct,!0,r)&&(g?d=e.result:y=e.result),g||(mn(e,c,f,m,d,y,a,l,s),m=d=y=null),$(e,!0,-1),x=e.input.charCodeAt(e.position)),(e.line===t||e.lineIndent>n)&&x!==0)O(e,"bad indentation of a mapping entry");else if(e.lineIndentn?s=1:e.lineIndent===n?s=0:e.lineIndentn?s=1:e.lineIndent===n?s=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),c=0,f=e.implicitTypes.length;c"),e.result!==null&&d.kind!==e.kind&&O(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+d.kind+'", not "'+e.kind+'"'),d.resolve(e.result,e.tag)?(e.result=d.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):O(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||p}function Of(e){var n=e.position,o,i,r,t=!1,a;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(a=e.input.charCodeAt(e.position))!==0&&($(e,!0,-1),a=e.input.charCodeAt(e.position),!(e.lineIndent>0||a!==37));){for(t=!0,a=e.input.charCodeAt(++e.position),o=e.position;a!==0&&!ne(a);)a=e.input.charCodeAt(++e.position);for(i=e.input.slice(o,e.position),r=[],i.length<1&&O(e,"directive name must not be less than one character in length");a!==0;){for(;Ge(a);)a=e.input.charCodeAt(++e.position);if(a===35){do a=e.input.charCodeAt(++e.position);while(a!==0&&!ge(a));break}if(ge(a))break;for(o=e.position;a!==0&&!ne(a);)a=e.input.charCodeAt(++e.position);r.push(e.input.slice(o,e.position))}a!==0&&hr(e),Fe.call(Ua,i)?Ua[i](e,i,r):pt(e,'unknown document directive "'+i+'"')}if($(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,$(e,!0,-1)):t&&O(e,"directives end mark is expected"),dn(e,e.lineIndent-1,ct,!1,!0),$(e,!0,-1),e.checkLineBreaks&&af.test(e.input.slice(n,e.position))&&pt(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&ft(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,$(e,!0,-1));return}if(e.position"u"&&(o=n,n=null);var i=ei(e,o);if(typeof n!="function")return i;for(var r=0,t=i.length;r{"use strict";var ht=cn(),Nn=pn(),Cf=st(),ci=Object.prototype.toString,pi=Object.prototype.hasOwnProperty,Or=65279,Sf=9,_n=10,Ef=13,Rf=32,qf=33,Af=34,gr=35,Tf=37,If=38,_f=39,jf=42,fi=44,Df=45,mt=58,Nf=61,Hf=62,Ff=63,$f=64,mi=91,di=93,Lf=96,hi=123,Mf=124,yi=125,Y={};Y[0]="\\0";Y[7]="\\a";Y[8]="\\b";Y[9]="\\t";Y[10]="\\n";Y[11]="\\v";Y[12]="\\f";Y[13]="\\r";Y[27]="\\e";Y[34]='\\"';Y[92]="\\\\";Y[133]="\\N";Y[160]="\\_";Y[8232]="\\L";Y[8233]="\\P";var Bf=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Uf=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Wf(e,n){var o,i,r,t,a,l,s;if(n===null)return{};for(o={},i=Object.keys(n),r=0,t=i.length;r=55296&&o<=56319&&n+1=56320&&i<=57343)?(o-55296)*1024+i-56320+65536:o}function vi(e){var n=/^\n* /;return n.test(e)}var gi=1,Pr=2,xi=3,Pi=4,hn=5;function Qf(e,n,o,i,r,t,a,l){var s,u=0,p=null,c=!1,f=!1,m=i!==-1,d=-1,y=Kf(In(e,0))&&zf(In(e,e.length-1));if(n||a)for(s=0;s=65536?s+=2:s++){if(u=In(e,s),!Dn(u))return hn;y=y&&oi(u,p,l),p=u}else{for(s=0;s=65536?s+=2:s++){if(u=In(e,s),u===_n)c=!0,m&&(f=f||s-d-1>i&&e[d+1]!==" ",d=s);else if(!Dn(u))return hn;y=y&&oi(u,p,l),p=u}f=f||m&&s-d-1>i&&e[d+1]!==" "}return!c&&!f?y&&!a&&!r(e)?gi:t===jn?hn:Pr:o>9&&vi(e)?hn:a?t===jn?hn:Pr:f?Pi:xi}function Xf(e,n,o,i,r){e.dump=function(){if(n.length===0)return e.quotingType===jn?'""':"''";if(!e.noCompatMode&&(Bf.indexOf(n)!==-1||Uf.test(n)))return e.quotingType===jn?'"'+n+'"':"'"+n+"'";var t=e.indent*Math.max(1,o),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-t),l=i||e.flowLevel>-1&&o>=e.flowLevel;function s(u){return Gf(e,u)}switch(Qf(n,l,e.indent,a,s,e.quotingType,e.forceQuotes&&!i,r)){case gi:return n;case Pr:return"'"+n.replace(/'/g,"''")+"'";case xi:return"|"+ai(n,e.indent)+ii(ti(n,t));case Pi:return">"+ai(n,e.indent)+ii(ti(Zf(n,a),t));case hn:return'"'+em(n,a)+'"';default:throw new Nn("impossible error: invalid scalar style")}}()}function ai(e,n){var o=vi(e)?String(n):"",i=e[e.length-1]===` +`,r=i&&(e[e.length-2]===` +`||e===` +`),t=r?"+":i?"":"-";return o+t+` +`}function ii(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function Zf(e,n){for(var o=/(\n+)([^\n]*)/g,i=function(){var u=e.indexOf(` +`);return u=u!==-1?u:e.length,o.lastIndex=u,li(e.slice(0,u),n)}(),r=e[0]===` +`||e[0]===" ",t,a;a=o.exec(e);){var l=a[1],s=a[2];t=s[0]===" ",i+=l+(!r&&!t&&s!==""?` +`:"")+li(s,n),r=t}return i}function li(e,n){if(e===""||e[0]===" ")return e;for(var o=/ [^ ]/g,i,r=0,t,a=0,l=0,s="";i=o.exec(e);)l=i.index,l-r>n&&(t=a>r?a:l,s+=` +`+e.slice(r,t),r=t+1),a=l;return s+=` +`,e.length-r>n&&a>r?s+=e.slice(r,a)+` +`+e.slice(a+1):s+=e.slice(r),s.slice(1)}function em(e){for(var n="",o=0,i,r=0;r=65536?r+=2:r++)o=In(e,r),i=Y[o],!i&&Dn(o)?(n+=e[r],o>=65536&&(n+=e[r+1])):n+=i||Vf(o);return n}function nm(e,n,o){var i="",r=e.tag,t,a,l;for(t=0,a=o.length;t"u"&&ke(e,n,null,!1,!1))&&(i!==""&&(i+=","+(e.condenseFlow?"":" ")),i+=e.dump);e.tag=r,e.dump="["+i+"]"}function si(e,n,o,i){var r="",t=e.tag,a,l,s;for(a=0,l=o.length;a"u"&&ke(e,n+1,null,!0,!0,!1,!0))&&((!i||r!=="")&&(r+=xr(e,n)),e.dump&&_n===e.dump.charCodeAt(0)?r+="-":r+="- ",r+=e.dump);e.tag=t,e.dump=r||"[]"}function tm(e,n,o){var i="",r=e.tag,t=Object.keys(o),a,l,s,u,p;for(a=0,l=t.length;a1024&&(p+="? "),p+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),ke(e,n,u,!1,!1)&&(p+=e.dump,i+=p));e.tag=r,e.dump="{"+i+"}"}function rm(e,n,o,i){var r="",t=e.tag,a=Object.keys(o),l,s,u,p,c,f;if(e.sortKeys===!0)a.sort();else if(typeof e.sortKeys=="function")a.sort(e.sortKeys);else if(e.sortKeys)throw new Nn("sortKeys must be a boolean or a function");for(l=0,s=a.length;l1024,c&&(e.dump&&_n===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,c&&(f+=xr(e,n)),ke(e,n+1,p,!0,c)&&(e.dump&&_n===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,r+=f));e.tag=t,e.dump=r||"{}"}function ui(e,n,o){var i,r,t,a,l,s;for(r=o?e.explicitTypes:e.implicitTypes,t=0,a=r.length;t tag resolver accepts not "'+s+'" style');e.dump=i}return!0}return!1}function ke(e,n,o,i,r,t,a){e.tag=null,e.dump=o,ui(e,o,!1)||ui(e,o,!0);var l=ci.call(e.dump),s=i,u;i&&(i=e.flowLevel<0||e.flowLevel>n);var p=l==="[object Object]"||l==="[object Array]",c,f;if(p&&(c=e.duplicates.indexOf(o),f=c!==-1),(e.tag!==null&&e.tag!=="?"||f||e.indent!==2&&n>0)&&(r=!1),f&&e.usedDuplicates[c])e.dump="*ref_"+c;else{if(p&&f&&!e.usedDuplicates[c]&&(e.usedDuplicates[c]=!0),l==="[object Object]")i&&Object.keys(e.dump).length!==0?(rm(e,n,e.dump,r),f&&(e.dump="&ref_"+c+e.dump)):(tm(e,n,e.dump),f&&(e.dump="&ref_"+c+" "+e.dump));else if(l==="[object Array]")i&&e.dump.length!==0?(e.noArrayIndent&&!a&&n>0?si(e,n-1,e.dump,r):si(e,n,e.dump,r),f&&(e.dump="&ref_"+c+e.dump)):(nm(e,n,e.dump),f&&(e.dump="&ref_"+c+" "+e.dump));else if(l==="[object String]")e.tag!=="?"&&Xf(e,e.dump,n,t,s);else{if(l==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new Nn("unacceptable kind of an object to dump "+l)}e.tag!==null&&e.tag!=="?"&&(u=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",e.dump=u+" "+e.dump)}return!0}function om(e,n){var o=[],i=[],r,t;for(br(e,o,i),r=0,t=i.length;r{"use strict";var wi=ni(),im=Oi();function wr(e,n){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}K.exports.Type=V();K.exports.Schema=zt();K.exports.FAILSAFE_SCHEMA=er();K.exports.JSON_SCHEMA=ar();K.exports.CORE_SCHEMA=ir();K.exports.DEFAULT_SCHEMA=st();K.exports.load=wi.load;K.exports.loadAll=wi.loadAll;K.exports.dump=im.dump;K.exports.YAMLException=pn();K.exports.types={binary:cr(),float:or(),map:Zt(),null:nr(),pairs:fr(),set:mr(),timestamp:lr(),bool:tr(),int:rr(),merge:sr(),omap:pr(),seq:Xt(),str:Qt()};K.exports.safeLoad=wr("safeLoad","load");K.exports.safeLoadAll=wr("safeLoadAll","loadAll");K.exports.safeDump=wr("safeDump","dump")});var Si=v((Rg,Ci)=>{"use strict";var{ParserError:lm}=pe(),sm=ki();Ci.exports={order:200,allowEmpty:!0,canParse:[".yaml",".yml",".json"],async parse(e){let n=e.data;if(Buffer.isBuffer(n)&&(n=n.toString()),typeof n=="string")try{return sm.load(n)}catch(o){throw new lm(o.message,e.url)}else return n}}});var Ri=v((qg,Ei)=>{"use strict";var{ParserError:um}=pe(),cm=/\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;Ei.exports={order:300,allowEmpty:!0,encoding:"utf8",canParse(e){return(typeof e.data=="string"||Buffer.isBuffer(e.data))&&cm.test(e.url)},parse(e){if(typeof e.data=="string")return e.data;if(Buffer.isBuffer(e.data))return e.data.toString(this.encoding);throw new um("data is not text",e.url)}}});var Ai=v((Ag,qi)=>{"use strict";var pm=/\.(jpeg|jpg|gif|png|bmp|ico)$/i;qi.exports={order:400,allowEmpty:!0,canParse(e){return Buffer.isBuffer(e.data)&&pm.test(e.url)},parse(e){return Buffer.isBuffer(e.data)?e.data:Buffer.from(e.data)}}});var _i=v((Tg,Ii)=>{"use strict";var fm=require("fs"),{ono:kr}=Te(),Ti=ie(),{ResolverError:Cr}=pe();Ii.exports={order:100,canRead(e){return Ti.isFileSystemPath(e.url)},read(e){return new Promise((n,o)=>{let i;try{i=Ti.toFileSystemPath(e.url)}catch(r){o(new Cr(kr.uri(r,`Malformed URI: ${e.url}`),e.url))}try{fm.readFile(i,(r,t)=>{r?o(new Cr(kr(r,`Error opening file "${i}"`),i)):n(t)})}catch(r){o(new Cr(kr(r,`Error opening file "${i}"`),i))}})}}});var Hi=v((Ig,Ni)=>{"use strict";var mm=require("http"),dm=require("https"),{ono:yt}=Te(),Hn=ie(),{ResolverError:ji}=pe();Ni.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:!1,canRead(e){return Hn.isHttp(e.url)},read(e){let n=Hn.parse(e.url);return process.browser&&!n.protocol&&(n.protocol=Hn.parse(location.href).protocol),Di(n,this)}};function Di(e,n,o){return new Promise((i,r)=>{e=Hn.parse(e),o=o||[],o.push(e.href),hm(e,n).then(t=>{if(t.statusCode>=400)throw yt({status:t.statusCode},`HTTP ERROR ${t.statusCode}`);if(t.statusCode>=300)if(o.length>n.redirects)r(new ji(yt({status:t.statusCode},`Error downloading ${o[0]}. +Too many redirects: + ${o.join(` + `)}`)));else if(t.headers.location){let a=Hn.resolve(e,t.headers.location);Di(a,n,o).then(i,r)}else throw yt({status:t.statusCode},`HTTP ${t.statusCode} redirect with no location header`);else i(t.body||Buffer.alloc(0))}).catch(t=>{r(new ji(yt(t,`Error downloading ${e.href}`),e.href))})})}function hm(e,n){return new Promise((o,i)=>{let t=(e.protocol==="https:"?dm:mm).get({hostname:e.hostname,port:e.port,path:e.path,auth:e.auth,protocol:e.protocol,headers:n.headers||{},withCredentials:n.withCredentials});typeof t.setTimeout=="function"&&t.setTimeout(n.timeout),t.on("timeout",()=>{t.abort()}),t.on("error",i),t.once("response",a=>{a.body=Buffer.alloc(0),a.on("data",l=>{a.body=Buffer.concat([a.body,Buffer.from(l)])}),a.on("error",i),a.on("end",()=>{o(a)})})})}});var Li=v((_g,$i)=>{"use strict";var ym=ca(),vm=Si(),gm=Ri(),xm=Ai(),Pm=_i(),bm=Hi();$i.exports=Er;function Er(e){Sr(this,Er.defaults),Sr(this,e)}Er.defaults={parse:{json:ym,yaml:vm,text:gm,binary:xm},resolve:{file:Pm,http:bm,external:!0},continueOnError:!1,dereference:{circular:!0}};function Sr(e,n){if(Fi(n)){let o=Object.keys(n);for(let i=0;i{"use strict";var Mi=Li();Bi.exports=Om;function Om(e){let n,o,i,r;return e=Array.prototype.slice.call(e),typeof e[e.length-1]=="function"&&(r=e.pop()),typeof e[0]=="string"?(n=e[0],typeof e[2]=="object"?(o=e[1],i=e[2]):(o=void 0,i=e[1])):(n="",o=e[0],i=e[1]),i instanceof Mi||(i=new Mi(i)),{path:n,schema:o,options:i,callback:r}}});var Ji=v((Dg,Yi)=>{"use strict";var Wi=un(),wm=En(),km=Vt(),Fn=ie(),{isHandledError:Cm}=pe();Yi.exports=Sm;function Sm(e,n){if(!n.resolve.external)return Promise.resolve();try{let o=Rr(e.schema,e.$refs._root$Ref.path+"#",e.$refs,n);return Promise.all(o)}catch(o){return Promise.reject(o)}}function Rr(e,n,o,i,r){r=r||new Set;let t=[];if(e&&typeof e=="object"&&!ArrayBuffer.isView(e)&&!r.has(e))if(r.add(e),Wi.isExternal$Ref(e))t.push(Vi(e,n,o,i));else for(let a of Object.keys(e)){let l=wm.join(n,a),s=e[a];Wi.isExternal$Ref(s)?t.push(Vi(s,l,o,i)):t=t.concat(Rr(s,l,o,i,r))}return t}async function Vi(e,n,o,i){let r=Fn.resolve(n,e.$ref),t=Fn.stripHash(r);if(e=o._$refs[t],e)return Promise.resolve(e.value);try{let a=await km(r,o,i),l=Rr(a,t+"#",o,i);return Promise.all(l)}catch(a){if(!i.continueOnError||!Cm(a))throw a;return o._$refs[t]&&(a.source=Fn.stripHash(n),a.path=Fn.safePointerToPath(Fn.getHash(n))),[]}}});var zi=v((Ng,Ki)=>{"use strict";var vt=un(),$n=En(),qr=ie();Ki.exports=Em;function Em(e,n){let o=[];Ar(e,"schema",e.$refs._root$Ref.path+"#","#",0,o,e.$refs,n),Rm(o)}function Ar(e,n,o,i,r,t,a,l){let s=n===null?e:e[n];if(s&&typeof s=="object"&&!ArrayBuffer.isView(s))if(vt.isAllowed$Ref(s))Gi(e,n,o,i,r,t,a,l);else{let u=Object.keys(s).sort((p,c)=>p==="definitions"?-1:c==="definitions"?1:p.length-c.length);for(let p of u){let c=$n.join(o,p),f=$n.join(i,p),m=s[p];vt.isAllowed$Ref(m)?Gi(s,p,o,f,r,t,a,l):Ar(s,p,c,f,r,t,a,l)}}}function Gi(e,n,o,i,r,t,a,l){let s=n===null?e:e[n],u=qr.resolve(o,s.$ref),p=a._resolve(u,i,l);if(p===null)return;let c=$n.parse(i).length,f=qr.stripHash(p.path),m=qr.getHash(p.path),d=f!==a._root$Ref.path,y=vt.isExtended$Ref(s);r+=p.indirections;let g=qm(t,e,n);if(g)if(c{if(r.file!==t.file)return r.file{"use strict";var Tr=un(),Qi=En(),{ono:Tm}=Te(),Im=ie();el.exports=_m;function _m(e,n){let o=Ir(e.schema,e.$refs._root$Ref.path,"#",new Set,new Set,new Map,e.$refs,n);e.$refs.circular=o.circular,e.schema=o.value}function Ir(e,n,o,i,r,t,a,l){let s,u={value:e,circular:!1};if((l.dereference.circular==="ignore"||!r.has(e))&&e&&typeof e=="object"&&!ArrayBuffer.isView(e)){if(i.add(e),r.add(e),Tr.isAllowed$Ref(e,l))s=Xi(e,n,o,i,r,t,a,l),u.circular=s.circular,u.value=s.value;else for(let p of Object.keys(e)){let c=Qi.join(n,p),f=Qi.join(o,p),m=e[p],d=!1;Tr.isAllowed$Ref(m,l)?(s=Xi(m,c,f,i,r,t,a,l),d=s.circular,e[p]!==s.value&&(e[p]=s.value)):i.has(m)?d=Zi(c,a,l):(s=Ir(m,c,f,i,r,t,a,l),d=s.circular,e[p]!==s.value&&(e[p]=s.value)),u.circular=u.circular||d}i.delete(e)}return u}function Xi(e,n,o,i,r,t,a,l){let s=Im.resolve(n,e.$ref),u=t.get(s);if(u){let y=Object.keys(e);if(y.length>1){let g={};for(let P of y)P!=="$ref"&&!(P in u.value)&&(g[P]=e[P]);return{circular:u.circular,value:Object.assign({},u.value,g)}}return u}let p=a._resolve(s,n,l);if(p===null)return{circular:!1,value:null};let c=p.circular,f=c||i.has(p.value);f&&Zi(n,a,l);let m=Tr.dereference(e,p.value);if(!f){let y=Ir(m,p.path,o,i,r,t,a,l);f=y.circular,m=y.value}f&&!c&&l.dereference.circular==="ignore"&&(m=e),c&&(m.$ref=o);let d={circular:f,value:m};return Object.keys(e).length===1&&t.set(s,d),d}function Zi(e,n,o){if(n.circular=!0,!o.dereference.circular)throw Tm.reference(`Circular $ref pointer found at ${e}`);return!0}});var rl=v((Fg,tl)=>{"use strict";function jm(){return typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:typeof setImmediate=="function"?setImmediate:function(n){setTimeout(n,0)}}tl.exports=jm()});var il=v(($g,al)=>{"use strict";var ol=rl();al.exports=function(n,o){if(n){o.then(function(i){ol(function(){n(null,i)})},function(i){ol(function(){n(i)})});return}else return o}});var cl=v((Lg,Pe)=>{"use strict";var ul=ta(),Dm=Vt(),gt=Ui(),Nm=Ji(),Hm=zi(),Fm=nl(),yn=ie(),{JSONParserError:$m,InvalidPointerError:Lm,MissingPointerError:Mm,ResolverError:Bm,ParserError:Um,UnmatchedParserError:Wm,UnmatchedResolverError:Vm,isHandledError:Ym,JSONParserErrorGroup:ll}=pe(),me=il(),{ono:sl}=Te();Pe.exports=xe;Pe.exports.default=xe;Pe.exports.JSONParserError=$m;Pe.exports.InvalidPointerError=Lm;Pe.exports.MissingPointerError=Mm;Pe.exports.ResolverError=Bm;Pe.exports.ParserError=Um;Pe.exports.UnmatchedParserError=Wm;Pe.exports.UnmatchedResolverError=Vm;function xe(){this.schema=null,this.$refs=new ul}xe.parse=function(n,o,i,r){let t=this,a=new t;return a.parse.apply(a,arguments)};xe.prototype.parse=async function(n,o,i,r){let t=gt(arguments),a;if(!t.path&&!t.schema){let u=sl(`Expected a file path, URL, or object. Got ${t.path||t.schema}`);return me(t.callback,Promise.reject(u))}this.schema=null,this.$refs=new ul;let l="http";if(yn.isFileSystemPath(t.path)&&(t.path=yn.fromFileSystemPath(t.path),l="file"),t.path=yn.resolve(yn.cwd(),t.path),t.schema&&typeof t.schema=="object"){let u=this.$refs._add(t.path);u.value=t.schema,u.pathType=l,a=Promise.resolve(t.schema)}else a=Dm(t.path,this.$refs,t.options);let s=this;try{let u=await a;if(u!==null&&typeof u=="object"&&!Buffer.isBuffer(u))return s.schema=u,me(t.callback,Promise.resolve(s.schema));if(t.options.continueOnError)return s.schema=null,me(t.callback,Promise.resolve(s.schema));throw sl.syntax(`"${s.$refs._root$Ref.path||u}" is not a valid JSON Schema`)}catch(u){return!t.options.continueOnError||!Ym(u)?me(t.callback,Promise.reject(u)):(this.$refs._$refs[yn.stripHash(t.path)]&&this.$refs._$refs[yn.stripHash(t.path)].addError(u),me(t.callback,Promise.resolve(null)))}};xe.resolve=function(n,o,i,r){let t=this,a=new t;return a.resolve.apply(a,arguments)};xe.prototype.resolve=async function(n,o,i,r){let t=this,a=gt(arguments);try{return await this.parse(a.path,a.schema,a.options),await Nm(t,a.options),_r(t),me(a.callback,Promise.resolve(t.$refs))}catch(l){return me(a.callback,Promise.reject(l))}};xe.bundle=function(n,o,i,r){let t=this,a=new t;return a.bundle.apply(a,arguments)};xe.prototype.bundle=async function(n,o,i,r){let t=this,a=gt(arguments);try{return await this.resolve(a.path,a.schema,a.options),Hm(t,a.options),_r(t),me(a.callback,Promise.resolve(t.schema))}catch(l){return me(a.callback,Promise.reject(l))}};xe.dereference=function(n,o,i,r){let t=this,a=new t;return a.dereference.apply(a,arguments)};xe.prototype.dereference=async function(n,o,i,r){let t=this,a=gt(arguments);try{return await this.resolve(a.path,a.schema,a.options),Fm(t,a.options),_r(t),me(a.callback,Promise.resolve(t.schema))}catch(l){return me(a.callback,Promise.reject(l))}};function _r(e){if(ll.getParserErrors(e).length>0)throw new ll(e)}});var fl=v((Mg,pl)=>{"use strict";pl.exports=cl()});var M=v(jr=>{"use strict";jr.fromCallback=function(e){return Object.defineProperty(function(...n){if(typeof n[n.length-1]=="function")e.apply(this,n);else return new Promise((o,i)=>{n.push((r,t)=>r!=null?i(r):o(t)),e.apply(this,n)})},"name",{value:e.name})};jr.fromPromise=function(e){return Object.defineProperty(function(...n){let o=n[n.length-1];if(typeof o!="function")return e.apply(this,n);n.pop(),e.apply(this,n).then(i=>o(null,i),o)},"name",{value:e.name})}});var dl=v((Ug,ml)=>{var $e=require("constants"),Jm=process.cwd,xt=null,Gm=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return xt||(xt=Jm.call(process)),xt};try{process.cwd()}catch{}typeof process.chdir=="function"&&(Dr=process.chdir,process.chdir=function(e){xt=null,Dr.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,Dr));var Dr;ml.exports=Km;function Km(e){$e.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&n(e),e.lutimes||o(e),e.chown=t(e.chown),e.fchown=t(e.fchown),e.lchown=t(e.lchown),e.chmod=i(e.chmod),e.fchmod=i(e.fchmod),e.lchmod=i(e.lchmod),e.chownSync=a(e.chownSync),e.fchownSync=a(e.fchownSync),e.lchownSync=a(e.lchownSync),e.chmodSync=r(e.chmodSync),e.fchmodSync=r(e.fchmodSync),e.lchmodSync=r(e.lchmodSync),e.stat=l(e.stat),e.fstat=l(e.fstat),e.lstat=l(e.lstat),e.statSync=s(e.statSync),e.fstatSync=s(e.fstatSync),e.lstatSync=s(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(p,c,f){f&&process.nextTick(f)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(p,c,f,m){m&&process.nextTick(m)},e.lchownSync=function(){}),Gm==="win32"&&(e.rename=typeof e.rename!="function"?e.rename:function(p){function c(f,m,d){var y=Date.now(),g=0;p(f,m,function P(x){if(x&&(x.code==="EACCES"||x.code==="EPERM"||x.code==="EBUSY")&&Date.now()-y<6e4){setTimeout(function(){e.stat(m,function(S,L){S&&S.code==="ENOENT"?p(f,m,P):d(x)})},g),g<100&&(g+=10);return}d&&d(x)})}return Object.setPrototypeOf&&Object.setPrototypeOf(c,p),c}(e.rename)),e.read=typeof e.read!="function"?e.read:function(p){function c(f,m,d,y,g,P){var x;if(P&&typeof P=="function"){var S=0;x=function(L,ae,_){if(L&&L.code==="EAGAIN"&&S<10)return S++,p.call(e,f,m,d,y,g,x);P.apply(this,arguments)}}return p.call(e,f,m,d,y,g,x)}return Object.setPrototypeOf&&Object.setPrototypeOf(c,p),c}(e.read),e.readSync=typeof e.readSync!="function"?e.readSync:function(p){return function(c,f,m,d,y){for(var g=0;;)try{return p.call(e,c,f,m,d,y)}catch(P){if(P.code==="EAGAIN"&&g<10){g++;continue}throw P}}}(e.readSync);function n(p){p.lchmod=function(c,f,m){p.open(c,$e.O_WRONLY|$e.O_SYMLINK,f,function(d,y){if(d){m&&m(d);return}p.fchmod(y,f,function(g){p.close(y,function(P){m&&m(g||P)})})})},p.lchmodSync=function(c,f){var m=p.openSync(c,$e.O_WRONLY|$e.O_SYMLINK,f),d=!0,y;try{y=p.fchmodSync(m,f),d=!1}finally{if(d)try{p.closeSync(m)}catch{}else p.closeSync(m)}return y}}function o(p){$e.hasOwnProperty("O_SYMLINK")&&p.futimes?(p.lutimes=function(c,f,m,d){p.open(c,$e.O_SYMLINK,function(y,g){if(y){d&&d(y);return}p.futimes(g,f,m,function(P){p.close(g,function(x){d&&d(P||x)})})})},p.lutimesSync=function(c,f,m){var d=p.openSync(c,$e.O_SYMLINK),y,g=!0;try{y=p.futimesSync(d,f,m),g=!1}finally{if(g)try{p.closeSync(d)}catch{}else p.closeSync(d)}return y}):p.futimes&&(p.lutimes=function(c,f,m,d){d&&process.nextTick(d)},p.lutimesSync=function(){})}function i(p){return p&&function(c,f,m){return p.call(e,c,f,function(d){u(d)&&(d=null),m&&m.apply(this,arguments)})}}function r(p){return p&&function(c,f){try{return p.call(e,c,f)}catch(m){if(!u(m))throw m}}}function t(p){return p&&function(c,f,m,d){return p.call(e,c,f,m,function(y){u(y)&&(y=null),d&&d.apply(this,arguments)})}}function a(p){return p&&function(c,f,m){try{return p.call(e,c,f,m)}catch(d){if(!u(d))throw d}}}function l(p){return p&&function(c,f,m){typeof f=="function"&&(m=f,f=null);function d(y,g){g&&(g.uid<0&&(g.uid+=4294967296),g.gid<0&&(g.gid+=4294967296)),m&&m.apply(this,arguments)}return f?p.call(e,c,f,d):p.call(e,c,d)}}function s(p){return p&&function(c,f){var m=f?p.call(e,c,f):p.call(e,c);return m&&(m.uid<0&&(m.uid+=4294967296),m.gid<0&&(m.gid+=4294967296)),m}}function u(p){if(!p||p.code==="ENOSYS")return!0;var c=!process.getuid||process.getuid()!==0;return!!(c&&(p.code==="EINVAL"||p.code==="EPERM"))}}});var vl=v((Wg,yl)=>{var hl=require("stream").Stream;yl.exports=zm;function zm(e){return{ReadStream:n,WriteStream:o};function n(i,r){if(!(this instanceof n))return new n(i,r);hl.call(this);var t=this;this.path=i,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,r=r||{};for(var a=Object.keys(r),l=0,s=a.length;lthis.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){t._read()});return}e.open(this.path,this.flags,this.mode,function(p,c){if(p){t.emit("error",p),t.readable=!1;return}t.fd=c,t.emit("open",c),t._read()})}function o(i,r){if(!(this instanceof o))return new o(i,r);hl.call(this),this.path=i,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,r=r||{};for(var t=Object.keys(r),a=0,l=t.length;a= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}});var xl=v((Vg,gl)=>{"use strict";gl.exports=Xm;var Qm=Object.getPrototypeOf||function(e){return e.__proto__};function Xm(e){if(e===null||typeof e!="object")return e;if(e instanceof Object)var n={__proto__:Qm(e)};else var n=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(o){Object.defineProperty(n,o,Object.getOwnPropertyDescriptor(e,o))}),n}});var gn=v((Yg,Fr)=>{var D=require("fs"),Zm=dl(),ed=vl(),nd=xl(),Pt=require("util"),W,Ot;typeof Symbol=="function"&&typeof Symbol.for=="function"?(W=Symbol.for("graceful-fs.queue"),Ot=Symbol.for("graceful-fs.previous")):(W="___graceful-fs.queue",Ot="___graceful-fs.previous");function td(){}function Ol(e,n){Object.defineProperty(e,W,{get:function(){return n}})}var Ke=td;Pt.debuglog?Ke=Pt.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(Ke=function(){var e=Pt.format.apply(Pt,arguments);e="GFS4: "+e.split(/\n/).join(` +GFS4: `),console.error(e)});D[W]||(Pl=global[W]||[],Ol(D,Pl),D.close=function(e){function n(o,i){return e.call(D,o,function(r){r||bl(),typeof i=="function"&&i.apply(this,arguments)})}return Object.defineProperty(n,Ot,{value:e}),n}(D.close),D.closeSync=function(e){function n(o){e.apply(D,arguments),bl()}return Object.defineProperty(n,Ot,{value:e}),n}(D.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){Ke(D[W]),require("assert").equal(D[W].length,0)}));var Pl;global[W]||Ol(global,D[W]);Fr.exports=Nr(nd(D));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!D.__patched&&(Fr.exports=Nr(D),D.__patched=!0);function Nr(e){Zm(e),e.gracefulify=Nr,e.createReadStream=ae,e.createWriteStream=_;var n=e.readFile;e.readFile=o;function o(b,w,k){return typeof w=="function"&&(k=w,w=null),E(b,w,k);function E(q,C,R,T){return n(q,C,function(A){A&&(A.code==="EMFILE"||A.code==="ENFILE")?vn([E,[q,C,R],A,T||Date.now(),Date.now()]):typeof R=="function"&&R.apply(this,arguments)})}}var i=e.writeFile;e.writeFile=r;function r(b,w,k,E){return typeof k=="function"&&(E=k,k=null),q(b,w,k,E);function q(C,R,T,A,U){return i(C,R,T,function(I){I&&(I.code==="EMFILE"||I.code==="ENFILE")?vn([q,[C,R,T,A],I,U||Date.now(),Date.now()]):typeof A=="function"&&A.apply(this,arguments)})}}var t=e.appendFile;t&&(e.appendFile=a);function a(b,w,k,E){return typeof k=="function"&&(E=k,k=null),q(b,w,k,E);function q(C,R,T,A,U){return t(C,R,T,function(I){I&&(I.code==="EMFILE"||I.code==="ENFILE")?vn([q,[C,R,T,A],I,U||Date.now(),Date.now()]):typeof A=="function"&&A.apply(this,arguments)})}}var l=e.copyFile;l&&(e.copyFile=s);function s(b,w,k,E){return typeof k=="function"&&(E=k,k=0),q(b,w,k,E);function q(C,R,T,A,U){return l(C,R,T,function(I){I&&(I.code==="EMFILE"||I.code==="ENFILE")?vn([q,[C,R,T,A],I,U||Date.now(),Date.now()]):typeof A=="function"&&A.apply(this,arguments)})}}var u=e.readdir;e.readdir=c;var p=/^v[0-5]\./;function c(b,w,k){typeof w=="function"&&(k=w,w=null);var E=p.test(process.version)?function(R,T,A,U){return u(R,q(R,T,A,U))}:function(R,T,A,U){return u(R,T,q(R,T,A,U))};return E(b,w,k);function q(C,R,T,A){return function(U,I){U&&(U.code==="EMFILE"||U.code==="ENFILE")?vn([E,[C,R,T],U,A||Date.now(),Date.now()]):(I&&I.sort&&I.sort(),typeof T=="function"&&T.call(this,U,I))}}}if(process.version.substr(0,4)==="v0.8"){var f=ed(e);P=f.ReadStream,S=f.WriteStream}var m=e.ReadStream;m&&(P.prototype=Object.create(m.prototype),P.prototype.open=x);var d=e.WriteStream;d&&(S.prototype=Object.create(d.prototype),S.prototype.open=L),Object.defineProperty(e,"ReadStream",{get:function(){return P},set:function(b){P=b},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return S},set:function(b){S=b},enumerable:!0,configurable:!0});var y=P;Object.defineProperty(e,"FileReadStream",{get:function(){return y},set:function(b){y=b},enumerable:!0,configurable:!0});var g=S;Object.defineProperty(e,"FileWriteStream",{get:function(){return g},set:function(b){g=b},enumerable:!0,configurable:!0});function P(b,w){return this instanceof P?(m.apply(this,arguments),this):P.apply(Object.create(P.prototype),arguments)}function x(){var b=this;j(b.path,b.flags,b.mode,function(w,k){w?(b.autoClose&&b.destroy(),b.emit("error",w)):(b.fd=k,b.emit("open",k),b.read())})}function S(b,w){return this instanceof S?(d.apply(this,arguments),this):S.apply(Object.create(S.prototype),arguments)}function L(){var b=this;j(b.path,b.flags,b.mode,function(w,k){w?(b.destroy(),b.emit("error",w)):(b.fd=k,b.emit("open",k))})}function ae(b,w){return new e.ReadStream(b,w)}function _(b,w){return new e.WriteStream(b,w)}var F=e.open;e.open=j;function j(b,w,k,E){return typeof k=="function"&&(E=k,k=null),q(b,w,k,E);function q(C,R,T,A,U){return F(C,R,T,function(I,Tv){I&&(I.code==="EMFILE"||I.code==="ENFILE")?vn([q,[C,R,T,A],I,U||Date.now(),Date.now()]):typeof A=="function"&&A.apply(this,arguments)})}}return e}function vn(e){Ke("ENQUEUE",e[0].name,e[1]),D[W].push(e),Hr()}var bt;function bl(){for(var e=Date.now(),n=0;n2&&(D[W][n][3]=e,D[W][n][4]=e);Hr()}function Hr(){if(clearTimeout(bt),bt=void 0,D[W].length!==0){var e=D[W].shift(),n=e[0],o=e[1],i=e[2],r=e[3],t=e[4];if(r===void 0)Ke("RETRY",n.name,o),n.apply(null,o);else if(Date.now()-r>=6e4){Ke("TIMEOUT",n.name,o);var a=o.pop();typeof a=="function"&&a.call(null,i)}else{var l=Date.now()-t,s=Math.max(t-r,1),u=Math.min(s*1.2,100);l>=u?(Ke("RETRY",n.name,o),n.apply(null,o.concat([r]))):D[W].push(e)}bt===void 0&&(bt=setTimeout(Hr,0))}}});var Q=v(Ce=>{"use strict";var wl=M().fromCallback,z=gn(),rd=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(e=>typeof z[e]=="function");Object.assign(Ce,z);rd.forEach(e=>{Ce[e]=wl(z[e])});Ce.exists=function(e,n){return typeof n=="function"?z.exists(e,n):new Promise(o=>z.exists(e,o))};Ce.read=function(e,n,o,i,r,t){return typeof t=="function"?z.read(e,n,o,i,r,t):new Promise((a,l)=>{z.read(e,n,o,i,r,(s,u,p)=>{if(s)return l(s);a({bytesRead:u,buffer:p})})})};Ce.write=function(e,n,...o){return typeof o[o.length-1]=="function"?z.write(e,n,...o):new Promise((i,r)=>{z.write(e,n,...o,(t,a,l)=>{if(t)return r(t);i({bytesWritten:a,buffer:l})})})};Ce.readv=function(e,n,...o){return typeof o[o.length-1]=="function"?z.readv(e,n,...o):new Promise((i,r)=>{z.readv(e,n,...o,(t,a,l)=>{if(t)return r(t);i({bytesRead:a,buffers:l})})})};Ce.writev=function(e,n,...o){return typeof o[o.length-1]=="function"?z.writev(e,n,...o):new Promise((i,r)=>{z.writev(e,n,...o,(t,a,l)=>{if(t)return r(t);i({bytesWritten:a,buffers:l})})})};typeof z.realpath.native=="function"?Ce.realpath.native=wl(z.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var Cl=v((Gg,kl)=>{"use strict";var od=require("path");kl.exports.checkPath=function(n){if(process.platform==="win32"&&/[<>:"|?*]/.test(n.replace(od.parse(n).root,""))){let i=new Error(`Path contains invalid characters: ${n}`);throw i.code="EINVAL",i}}});var ql=v((Kg,$r)=>{"use strict";var Sl=Q(),{checkPath:El}=Cl(),Rl=e=>{let n={mode:511};return typeof e=="number"?e:{...n,...e}.mode};$r.exports.makeDir=async(e,n)=>(El(e),Sl.mkdir(e,{mode:Rl(n),recursive:!0}));$r.exports.makeDirSync=(e,n)=>(El(e),Sl.mkdirSync(e,{mode:Rl(n),recursive:!0}))});var de=v((zg,Al)=>{"use strict";var ad=M().fromPromise,{makeDir:id,makeDirSync:Lr}=ql(),Mr=ad(id);Al.exports={mkdirs:Mr,mkdirsSync:Lr,mkdirp:Mr,mkdirpSync:Lr,ensureDir:Mr,ensureDirSync:Lr}});var Le=v((Qg,Il)=>{"use strict";var ld=M().fromPromise,Tl=Q();function sd(e){return Tl.access(e).then(()=>!0).catch(()=>!1)}Il.exports={pathExists:ld(sd),pathExistsSync:Tl.existsSync}});var Br=v((Xg,_l)=>{"use strict";var xn=Q(),ud=M().fromPromise;async function cd(e,n,o){let i=await xn.open(e,"r+"),r=null;try{await xn.futimes(i,n,o)}finally{try{await xn.close(i)}catch(t){r=t}}if(r)throw r}function pd(e,n,o){let i=xn.openSync(e,"r+");return xn.futimesSync(i,n,o),xn.closeSync(i)}_l.exports={utimesMillis:ud(cd),utimesMillisSync:pd}});var ze=v((Zg,Hl)=>{"use strict";var Pn=Q(),B=require("path"),jl=M().fromPromise;function fd(e,n,o){let i=o.dereference?r=>Pn.stat(r,{bigint:!0}):r=>Pn.lstat(r,{bigint:!0});return Promise.all([i(e),i(n).catch(r=>{if(r.code==="ENOENT")return null;throw r})]).then(([r,t])=>({srcStat:r,destStat:t}))}function md(e,n,o){let i,r=o.dereference?a=>Pn.statSync(a,{bigint:!0}):a=>Pn.lstatSync(a,{bigint:!0}),t=r(e);try{i=r(n)}catch(a){if(a.code==="ENOENT")return{srcStat:t,destStat:null};throw a}return{srcStat:t,destStat:i}}async function dd(e,n,o,i){let{srcStat:r,destStat:t}=await fd(e,n,i);if(t){if(Ln(r,t)){let a=B.basename(e),l=B.basename(n);if(o==="move"&&a!==l&&a.toLowerCase()===l.toLowerCase())return{srcStat:r,destStat:t,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(r.isDirectory()&&!t.isDirectory())throw new Error(`Cannot overwrite non-directory '${n}' with directory '${e}'.`);if(!r.isDirectory()&&t.isDirectory())throw new Error(`Cannot overwrite directory '${n}' with non-directory '${e}'.`)}if(r.isDirectory()&&Ur(e,n))throw new Error(wt(e,n,o));return{srcStat:r,destStat:t}}function hd(e,n,o,i){let{srcStat:r,destStat:t}=md(e,n,i);if(t){if(Ln(r,t)){let a=B.basename(e),l=B.basename(n);if(o==="move"&&a!==l&&a.toLowerCase()===l.toLowerCase())return{srcStat:r,destStat:t,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(r.isDirectory()&&!t.isDirectory())throw new Error(`Cannot overwrite non-directory '${n}' with directory '${e}'.`);if(!r.isDirectory()&&t.isDirectory())throw new Error(`Cannot overwrite directory '${n}' with non-directory '${e}'.`)}if(r.isDirectory()&&Ur(e,n))throw new Error(wt(e,n,o));return{srcStat:r,destStat:t}}async function Dl(e,n,o,i){let r=B.resolve(B.dirname(e)),t=B.resolve(B.dirname(o));if(t===r||t===B.parse(t).root)return;let a;try{a=await Pn.stat(t,{bigint:!0})}catch(l){if(l.code==="ENOENT")return;throw l}if(Ln(n,a))throw new Error(wt(e,o,i));return Dl(e,n,t,i)}function Nl(e,n,o,i){let r=B.resolve(B.dirname(e)),t=B.resolve(B.dirname(o));if(t===r||t===B.parse(t).root)return;let a;try{a=Pn.statSync(t,{bigint:!0})}catch(l){if(l.code==="ENOENT")return;throw l}if(Ln(n,a))throw new Error(wt(e,o,i));return Nl(e,n,t,i)}function Ln(e,n){return n.ino&&n.dev&&n.ino===e.ino&&n.dev===e.dev}function Ur(e,n){let o=B.resolve(e).split(B.sep).filter(r=>r),i=B.resolve(n).split(B.sep).filter(r=>r);return o.every((r,t)=>i[t]===r)}function wt(e,n,o){return`Cannot ${o} '${e}' to a subdirectory of itself, '${n}'.`}Hl.exports={checkPaths:jl(dd),checkPathsSync:hd,checkParentPaths:jl(Dl),checkParentPathsSync:Nl,isSrcSubdir:Ur,areIdentical:Ln}});var Bl=v((ex,Ml)=>{"use strict";var J=Q(),Mn=require("path"),{mkdirs:yd}=de(),{pathExists:vd}=Le(),{utimesMillis:gd}=Br(),Bn=ze();async function xd(e,n,o={}){typeof o=="function"&&(o={filter:o}),o.clobber="clobber"in o?!!o.clobber:!0,o.overwrite="overwrite"in o?!!o.overwrite:o.clobber,o.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:i,destStat:r}=await Bn.checkPaths(e,n,"copy",o);if(await Bn.checkParentPaths(e,i,n,"copy"),!await $l(e,n,o))return;let a=Mn.dirname(n);await vd(a)||await yd(a),await Ll(r,e,n,o)}async function $l(e,n,o){return o.filter?o.filter(e,n):!0}async function Ll(e,n,o,i){let t=await(i.dereference?J.stat:J.lstat)(n);if(t.isDirectory())return wd(t,e,n,o,i);if(t.isFile()||t.isCharacterDevice()||t.isBlockDevice())return Pd(t,e,n,o,i);if(t.isSymbolicLink())return kd(e,n,o,i);throw t.isSocket()?new Error(`Cannot copy a socket file: ${n}`):t.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${n}`):new Error(`Unknown file: ${n}`)}async function Pd(e,n,o,i,r){if(!n)return Fl(e,o,i,r);if(r.overwrite)return await J.unlink(i),Fl(e,o,i,r);if(r.errorOnExist)throw new Error(`'${i}' already exists`)}async function Fl(e,n,o,i){if(await J.copyFile(n,o),i.preserveTimestamps){bd(e.mode)&&await Od(o,e.mode);let r=await J.stat(n);await gd(o,r.atime,r.mtime)}return J.chmod(o,e.mode)}function bd(e){return(e&128)===0}function Od(e,n){return J.chmod(e,n|128)}async function wd(e,n,o,i,r){n||await J.mkdir(i);let t=await J.readdir(o);await Promise.all(t.map(async a=>{let l=Mn.join(o,a),s=Mn.join(i,a);if(!await $l(l,s,r))return;let{destStat:p}=await Bn.checkPaths(l,s,"copy",r);return Ll(p,l,s,r)})),n||await J.chmod(i,e.mode)}async function kd(e,n,o,i){let r=await J.readlink(n);if(i.dereference&&(r=Mn.resolve(process.cwd(),r)),!e)return J.symlink(r,o);let t=null;try{t=await J.readlink(o)}catch(a){if(a.code==="EINVAL"||a.code==="UNKNOWN")return J.symlink(r,o);throw a}if(i.dereference&&(t=Mn.resolve(process.cwd(),t)),Bn.isSrcSubdir(r,t))throw new Error(`Cannot copy '${r}' to a subdirectory of itself, '${t}'.`);if(Bn.isSrcSubdir(t,r))throw new Error(`Cannot overwrite '${t}' with '${r}'.`);return await J.unlink(o),J.symlink(r,o)}Ml.exports=xd});var Jl=v((nx,Yl)=>{"use strict";var X=gn(),Un=require("path"),Cd=de().mkdirsSync,Sd=Br().utimesMillisSync,Wn=ze();function Ed(e,n,o){typeof o=="function"&&(o={filter:o}),o=o||{},o.clobber="clobber"in o?!!o.clobber:!0,o.overwrite="overwrite"in o?!!o.overwrite:o.clobber,o.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:i,destStat:r}=Wn.checkPathsSync(e,n,"copy",o);if(Wn.checkParentPathsSync(e,i,n,"copy"),o.filter&&!o.filter(e,n))return;let t=Un.dirname(n);return X.existsSync(t)||Cd(t),Ul(r,e,n,o)}function Ul(e,n,o,i){let t=(i.dereference?X.statSync:X.lstatSync)(n);if(t.isDirectory())return jd(t,e,n,o,i);if(t.isFile()||t.isCharacterDevice()||t.isBlockDevice())return Rd(t,e,n,o,i);if(t.isSymbolicLink())return Hd(e,n,o,i);throw t.isSocket()?new Error(`Cannot copy a socket file: ${n}`):t.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${n}`):new Error(`Unknown file: ${n}`)}function Rd(e,n,o,i,r){return n?qd(e,o,i,r):Wl(e,o,i,r)}function qd(e,n,o,i){if(i.overwrite)return X.unlinkSync(o),Wl(e,n,o,i);if(i.errorOnExist)throw new Error(`'${o}' already exists`)}function Wl(e,n,o,i){return X.copyFileSync(n,o),i.preserveTimestamps&&Ad(e.mode,n,o),Wr(o,e.mode)}function Ad(e,n,o){return Td(e)&&Id(o,e),_d(n,o)}function Td(e){return(e&128)===0}function Id(e,n){return Wr(e,n|128)}function Wr(e,n){return X.chmodSync(e,n)}function _d(e,n){let o=X.statSync(e);return Sd(n,o.atime,o.mtime)}function jd(e,n,o,i,r){return n?Vl(o,i,r):Dd(e.mode,o,i,r)}function Dd(e,n,o,i){return X.mkdirSync(o),Vl(n,o,i),Wr(o,e)}function Vl(e,n,o){X.readdirSync(e).forEach(i=>Nd(i,e,n,o))}function Nd(e,n,o,i){let r=Un.join(n,e),t=Un.join(o,e);if(i.filter&&!i.filter(r,t))return;let{destStat:a}=Wn.checkPathsSync(r,t,"copy",i);return Ul(a,r,t,i)}function Hd(e,n,o,i){let r=X.readlinkSync(n);if(i.dereference&&(r=Un.resolve(process.cwd(),r)),e){let t;try{t=X.readlinkSync(o)}catch(a){if(a.code==="EINVAL"||a.code==="UNKNOWN")return X.symlinkSync(r,o);throw a}if(i.dereference&&(t=Un.resolve(process.cwd(),t)),Wn.isSrcSubdir(r,t))throw new Error(`Cannot copy '${r}' to a subdirectory of itself, '${t}'.`);if(Wn.isSrcSubdir(t,r))throw new Error(`Cannot overwrite '${t}' with '${r}'.`);return Fd(r,o)}else return X.symlinkSync(r,o)}function Fd(e,n){return X.unlinkSync(n),X.symlinkSync(e,n)}Yl.exports=Ed});var kt=v((tx,Gl)=>{"use strict";var $d=M().fromPromise;Gl.exports={copy:$d(Bl()),copySync:Jl()}});var Vn=v((rx,zl)=>{"use strict";var Kl=gn(),Ld=M().fromCallback;function Md(e,n){Kl.rm(e,{recursive:!0,force:!0},n)}function Bd(e){Kl.rmSync(e,{recursive:!0,force:!0})}zl.exports={remove:Ld(Md),removeSync:Bd}});var os=v((ox,rs)=>{"use strict";var Ud=M().fromPromise,Zl=Q(),es=require("path"),ns=de(),ts=Vn(),Ql=Ud(async function(n){let o;try{o=await Zl.readdir(n)}catch{return ns.mkdirs(n)}return Promise.all(o.map(i=>ts.remove(es.join(n,i))))});function Xl(e){let n;try{n=Zl.readdirSync(e)}catch{return ns.mkdirsSync(e)}n.forEach(o=>{o=es.join(e,o),ts.removeSync(o)})}rs.exports={emptyDirSync:Xl,emptydirSync:Xl,emptyDir:Ql,emptydir:Ql}});var ss=v((ax,ls)=>{"use strict";var Wd=M().fromPromise,as=require("path"),Se=Q(),is=de();async function Vd(e){let n;try{n=await Se.stat(e)}catch{}if(n&&n.isFile())return;let o=as.dirname(e),i=null;try{i=await Se.stat(o)}catch(r){if(r.code==="ENOENT"){await is.mkdirs(o),await Se.writeFile(e,"");return}else throw r}i.isDirectory()?await Se.writeFile(e,""):await Se.readdir(o)}function Yd(e){let n;try{n=Se.statSync(e)}catch{}if(n&&n.isFile())return;let o=as.dirname(e);try{Se.statSync(o).isDirectory()||Se.readdirSync(o)}catch(i){if(i&&i.code==="ENOENT")is.mkdirsSync(o);else throw i}Se.writeFileSync(e,"")}ls.exports={createFile:Wd(Vd),createFileSync:Yd}});var ms=v((ix,fs)=>{"use strict";var Jd=M().fromPromise,us=require("path"),Me=Q(),cs=de(),{pathExists:Gd}=Le(),{areIdentical:ps}=ze();async function Kd(e,n){let o;try{o=await Me.lstat(n)}catch{}let i;try{i=await Me.lstat(e)}catch(a){throw a.message=a.message.replace("lstat","ensureLink"),a}if(o&&ps(i,o))return;let r=us.dirname(n);await Gd(r)||await cs.mkdirs(r),await Me.link(e,n)}function zd(e,n){let o;try{o=Me.lstatSync(n)}catch{}try{let t=Me.lstatSync(e);if(o&&ps(t,o))return}catch(t){throw t.message=t.message.replace("lstat","ensureLink"),t}let i=us.dirname(n);return Me.existsSync(i)||cs.mkdirsSync(i),Me.linkSync(e,n)}fs.exports={createLink:Jd(Kd),createLinkSync:zd}});var hs=v((lx,ds)=>{"use strict";var Be=require("path"),Yn=Q(),{pathExists:Qd}=Le(),Xd=M().fromPromise;async function Zd(e,n){if(Be.isAbsolute(e)){try{await Yn.lstat(e)}catch(t){throw t.message=t.message.replace("lstat","ensureSymlink"),t}return{toCwd:e,toDst:e}}let o=Be.dirname(n),i=Be.join(o,e);if(await Qd(i))return{toCwd:i,toDst:e};try{await Yn.lstat(e)}catch(t){throw t.message=t.message.replace("lstat","ensureSymlink"),t}return{toCwd:e,toDst:Be.relative(o,e)}}function eh(e,n){if(Be.isAbsolute(e)){if(!Yn.existsSync(e))throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}let o=Be.dirname(n),i=Be.join(o,e);if(Yn.existsSync(i))return{toCwd:i,toDst:e};if(!Yn.existsSync(e))throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:Be.relative(o,e)}}ds.exports={symlinkPaths:Xd(Zd),symlinkPathsSync:eh}});var gs=v((sx,vs)=>{"use strict";var ys=Q(),nh=M().fromPromise;async function th(e,n){if(n)return n;let o;try{o=await ys.lstat(e)}catch{return"file"}return o&&o.isDirectory()?"dir":"file"}function rh(e,n){if(n)return n;let o;try{o=ys.lstatSync(e)}catch{return"file"}return o&&o.isDirectory()?"dir":"file"}vs.exports={symlinkType:nh(th),symlinkTypeSync:rh}});var Os=v((ux,bs)=>{"use strict";var oh=M().fromPromise,xs=require("path"),be=Q(),{mkdirs:ah,mkdirsSync:ih}=de(),{symlinkPaths:lh,symlinkPathsSync:sh}=hs(),{symlinkType:uh,symlinkTypeSync:ch}=gs(),{pathExists:ph}=Le(),{areIdentical:Ps}=ze();async function fh(e,n,o){let i;try{i=await be.lstat(n)}catch{}if(i&&i.isSymbolicLink()){let[l,s]=await Promise.all([be.stat(e),be.stat(n)]);if(Ps(l,s))return}let r=await lh(e,n);e=r.toDst;let t=await uh(r.toCwd,o),a=xs.dirname(n);return await ph(a)||await ah(a),be.symlink(e,n,t)}function mh(e,n,o){let i;try{i=be.lstatSync(n)}catch{}if(i&&i.isSymbolicLink()){let l=be.statSync(e),s=be.statSync(n);if(Ps(l,s))return}let r=sh(e,n);e=r.toDst,o=ch(r.toCwd,o);let t=xs.dirname(n);return be.existsSync(t)||ih(t),be.symlinkSync(e,n,o)}bs.exports={createSymlink:oh(fh),createSymlinkSync:mh}});var As=v((cx,qs)=>{"use strict";var{createFile:ws,createFileSync:ks}=ss(),{createLink:Cs,createLinkSync:Ss}=ms(),{createSymlink:Es,createSymlinkSync:Rs}=Os();qs.exports={createFile:ws,createFileSync:ks,ensureFile:ws,ensureFileSync:ks,createLink:Cs,createLinkSync:Ss,ensureLink:Cs,ensureLinkSync:Ss,createSymlink:Es,createSymlinkSync:Rs,ensureSymlink:Es,ensureSymlinkSync:Rs}});var Ct=v((px,Ts)=>{function dh(e,{EOL:n=` +`,finalEOL:o=!0,replacer:i=null,spaces:r}={}){let t=o?n:"";return JSON.stringify(e,i,r).replace(/\n/g,n)+t}function hh(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}Ts.exports={stringify:dh,stripBom:hh}});var Ds=v((fx,js)=>{var bn;try{bn=gn()}catch{bn=require("fs")}var St=M(),{stringify:Is,stripBom:_s}=Ct();async function yh(e,n={}){typeof n=="string"&&(n={encoding:n});let o=n.fs||bn,i="throws"in n?n.throws:!0,r=await St.fromCallback(o.readFile)(e,n);r=_s(r);let t;try{t=JSON.parse(r,n?n.reviver:null)}catch(a){if(i)throw a.message=`${e}: ${a.message}`,a;return null}return t}var vh=St.fromPromise(yh);function gh(e,n={}){typeof n=="string"&&(n={encoding:n});let o=n.fs||bn,i="throws"in n?n.throws:!0;try{let r=o.readFileSync(e,n);return r=_s(r),JSON.parse(r,n.reviver)}catch(r){if(i)throw r.message=`${e}: ${r.message}`,r;return null}}async function xh(e,n,o={}){let i=o.fs||bn,r=Is(n,o);await St.fromCallback(i.writeFile)(e,r,o)}var Ph=St.fromPromise(xh);function bh(e,n,o={}){let i=o.fs||bn,r=Is(n,o);return i.writeFileSync(e,r,o)}var Oh={readFile:vh,readFileSync:gh,writeFile:Ph,writeFileSync:bh};js.exports=Oh});var Hs=v((mx,Ns)=>{"use strict";var Et=Ds();Ns.exports={readJson:Et.readFile,readJsonSync:Et.readFileSync,writeJson:Et.writeFile,writeJsonSync:Et.writeFileSync}});var Rt=v((dx,Ls)=>{"use strict";var wh=M().fromPromise,Vr=Q(),Fs=require("path"),$s=de(),kh=Le().pathExists;async function Ch(e,n,o="utf-8"){let i=Fs.dirname(e);return await kh(i)||await $s.mkdirs(i),Vr.writeFile(e,n,o)}function Sh(e,...n){let o=Fs.dirname(e);Vr.existsSync(o)||$s.mkdirsSync(o),Vr.writeFileSync(e,...n)}Ls.exports={outputFile:wh(Ch),outputFileSync:Sh}});var Bs=v((hx,Ms)=>{"use strict";var{stringify:Eh}=Ct(),{outputFile:Rh}=Rt();async function qh(e,n,o={}){let i=Eh(n,o);await Rh(e,i,o)}Ms.exports=qh});var Ws=v((yx,Us)=>{"use strict";var{stringify:Ah}=Ct(),{outputFileSync:Th}=Rt();function Ih(e,n,o){let i=Ah(n,o);Th(e,i,o)}Us.exports=Ih});var Ys=v((vx,Vs)=>{"use strict";var _h=M().fromPromise,Z=Hs();Z.outputJson=_h(Bs());Z.outputJsonSync=Ws();Z.outputJSON=Z.outputJson;Z.outputJSONSync=Z.outputJsonSync;Z.writeJSON=Z.writeJson;Z.writeJSONSync=Z.writeJsonSync;Z.readJSON=Z.readJson;Z.readJSONSync=Z.readJsonSync;Vs.exports=Z});var Qs=v((gx,zs)=>{"use strict";var jh=Q(),Js=require("path"),{copy:Dh}=kt(),{remove:Ks}=Vn(),{mkdirp:Nh}=de(),{pathExists:Hh}=Le(),Gs=ze();async function Fh(e,n,o={}){let i=o.overwrite||o.clobber||!1,{srcStat:r,isChangingCase:t=!1}=await Gs.checkPaths(e,n,"move",o);await Gs.checkParentPaths(e,r,n,"move");let a=Js.dirname(n);return Js.parse(a).root!==a&&await Nh(a),$h(e,n,i,t)}async function $h(e,n,o,i){if(!i){if(o)await Ks(n);else if(await Hh(n))throw new Error("dest already exists.")}try{await jh.rename(e,n)}catch(r){if(r.code!=="EXDEV")throw r;await Lh(e,n,o)}}async function Lh(e,n,o){return await Dh(e,n,{overwrite:o,errorOnExist:!0,preserveTimestamps:!0}),Ks(e)}zs.exports=Fh});var tu=v((xx,nu)=>{"use strict";var Zs=gn(),Jr=require("path"),Mh=kt().copySync,eu=Vn().removeSync,Bh=de().mkdirpSync,Xs=ze();function Uh(e,n,o){o=o||{};let i=o.overwrite||o.clobber||!1,{srcStat:r,isChangingCase:t=!1}=Xs.checkPathsSync(e,n,"move",o);return Xs.checkParentPathsSync(e,r,n,"move"),Wh(n)||Bh(Jr.dirname(n)),Vh(e,n,i,t)}function Wh(e){let n=Jr.dirname(e);return Jr.parse(n).root===n}function Vh(e,n,o,i){if(i)return Yr(e,n,o);if(o)return eu(n),Yr(e,n,o);if(Zs.existsSync(n))throw new Error("dest already exists.");return Yr(e,n,o)}function Yr(e,n,o){try{Zs.renameSync(e,n)}catch(i){if(i.code!=="EXDEV")throw i;return Yh(e,n,o)}}function Yh(e,n,o){return Mh(e,n,{overwrite:o,errorOnExist:!0,preserveTimestamps:!0}),eu(e)}nu.exports=Uh});var ou=v((Px,ru)=>{"use strict";var Jh=M().fromPromise;ru.exports={move:Jh(Qs()),moveSync:tu()}});var iu=v((bx,au)=>{"use strict";au.exports={...Q(),...kt(),...os(),...As(),...Ys(),...de(),...ou(),...Rt(),...Le(),...Vn()}});Object.defineProperty(exports,"__esModule",{value:!0});var Jn,Gr,Ae=So(),Gh=fl(),Cn=require("os"),N=require("path"),Zn=iu();exports.HttpClient=void 0,(Jn=exports.HttpClient||(exports.HttpClient={})).FETCH="fetch",Jn.XHR="xhr",Jn.NODE="node",Jn.AXIOS="axios",Jn.ANGULAR="angular",exports.Indent=void 0,(Gr=exports.Indent||(exports.Indent={})).SPACE_4="4",Gr.SPACE_2="2",Gr.TAB="tab";var zn=/^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g,we=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Qn=e=>typeof e=="string",Pu=(e,n)=>{var o,i;let r=(o=n["x-enum-varnames"])===null||o===void 0?void 0:o.filter(Qn),t=(i=n["x-enum-descriptions"])===null||i===void 0?void 0:i.filter(Qn);return e.map((a,l)=>({name:r?.[l]||a.name,description:t?.[l]||a.description,value:a.value,type:a.type}))},bu=e=>Array.isArray(e)?e.filter((n,o,i)=>i.indexOf(n)===o).filter(n=>typeof n=="number"||typeof n=="string").map(n=>typeof n=="number"?{name:`'_${n}'`,value:String(n),type:"number",description:null}:{name:String(n).replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${n.replace(/'/g,"\\'")}'`,type:"string",description:null}):[],lu=e=>(e||e==="")&&!/^[a-zA-Z_$][\w$]+$/g.test(e)?`'${e}'`:e,Kh=new Map([["file","binary"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]),Kr=e=>e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_"),te=(e="any",n)=>{let o={type:"any",base:"any",template:null,imports:[],isNullable:!1},i=((t,a)=>a==="binary"?"binary":Kh.get(t))(e,n);if(i)return o.type=i,o.base=i,o;let r=decodeURIComponent(e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,""));if(/\[.*\]$/g.test(r)){let t=r.match(/(.*?)\[(.*)\]$/);if(t?.length){let a=te(Kr(t[1])),l=te(Kr(t[2]));return a.type==="any[]"?(o.type=`${l.type}[]`,o.base=l.type,a.imports=[]):l.type?(o.type=`${a.type}<${l.type}>`,o.base=a.type,o.template=l.type):(o.type=a.type,o.base=a.type,o.template=a.type),o.imports.push(...a.imports),o.imports.push(...l.imports),o}}if(r){let t=Kr(r);return o.type=t,o.base=t,o.imports.push(t),o}return o},Ou=(e,n,o)=>{var i;let r=[];for(let t in n.properties)if(n.properties.hasOwnProperty(t)){let a=n.properties[t],l=!!(!((i=n.required)===null||i===void 0)&&i.includes(t));if(a.$ref){let s=te(a.$ref);r.push({name:lu(t),export:"reference",type:s.type,base:s.base,template:s.template,link:null,description:a.description||null,isDefinition:!1,isReadOnly:a.readOnly===!0,isRequired:l,isNullable:a["x-nullable"]===!0,format:a.format,maximum:a.maximum,exclusiveMaximum:a.exclusiveMaximum,minimum:a.minimum,exclusiveMinimum:a.exclusiveMinimum,multipleOf:a.multipleOf,maxLength:a.maxLength,minLength:a.minLength,maxItems:a.maxItems,minItems:a.minItems,uniqueItems:a.uniqueItems,maxProperties:a.maxProperties,minProperties:a.minProperties,pattern:we(a.pattern),imports:s.imports,enum:[],enums:[],properties:[]})}else{let s=o(e,a);r.push({name:lu(t),export:s.export,type:s.type,base:s.base,template:s.template,link:s.link,description:a.description||null,isDefinition:!1,isReadOnly:a.readOnly===!0,isRequired:l,isNullable:a["x-nullable"]===!0,format:a.format,maximum:a.maximum,exclusiveMaximum:a.exclusiveMaximum,minimum:a.minimum,exclusiveMinimum:a.exclusiveMinimum,multipleOf:a.multipleOf,maxLength:a.maxLength,minLength:a.minLength,maxItems:a.maxItems,minItems:a.minItems,uniqueItems:a.uniqueItems,maxProperties:a.maxProperties,minProperties:a.minProperties,pattern:we(a.pattern),imports:s.imports,enum:s.enum,enums:s.enums,properties:s.properties})}}return r},zh=/~1/g,Qh=/~0/g,Xn=(e,n)=>{if(n.$ref){let o=n.$ref.replace(/^#/g,"").split("/").filter(r=>r),i=e;return o.forEach(r=>{let t=decodeURIComponent(r.replace(zh,"/").replace(Qh,"~"));if(!i.hasOwnProperty(t))throw new Error(`Could not find reference: "${n.$ref}"`);i=i[t]}),i}return n},Xh=(e,n,o,i,r)=>{let t={type:i,imports:[],enums:[],properties:[]},a=[];if(o.map(l=>r(e,l)).filter(l=>{let s=l.properties.length,u=l.enums.length;return!(l.type==="any"&&!s&&!u)}).forEach(l=>{t.imports.push(...l.imports),t.enums.push(...l.enums),t.properties.push(l)}),n.required){let l=((s,u,p,c)=>p.reduce((f,m)=>{if(m.$ref){let d=Xn(s,m);return[...f,...c(s,d).properties]}return[...f,...c(s,m).properties]},[]).filter(f=>!f.isRequired&&u.includes(f.name)).map(f=>({...f,isRequired:!0})))(e,n.required,o,r);l.forEach(s=>{t.imports.push(...s.imports),t.enums.push(...s.enums)}),a.push(...l)}if(n.properties){let l=Ou(e,n,r);l.forEach(s=>{t.imports.push(...s.imports),t.enums.push(...s.enums),s.export==="enum"&&t.enums.push(s)}),a.push(...l)}return a.length&&t.properties.push({name:"properties",export:"interface",type:"any",base:"any",template:null,link:null,description:"",isDefinition:!1,isReadOnly:!1,isNullable:!1,isRequired:!1,imports:[],enum:[],enums:[],properties:a}),t},Ze=(e,n,o=!1,i="")=>{var r;let t={name:i,export:"interface",type:"any",base:"any",template:null,link:null,description:n.description||null,isDefinition:o,isReadOnly:n.readOnly===!0,isNullable:n["x-nullable"]===!0,isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:we(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){let a=te(n.$ref);return t.export="reference",t.type=a.type,t.base=a.base,t.template=a.template,t.imports.push(...a.imports),t}if(n.enum&&n.type!=="boolean"){let a=bu(n.enum),l=Pu(a,n);if(l.length)return t.export="enum",t.type="string",t.base="string",t.enum.push(...l),t}if(n.type==="array"&&n.items){if(n.items.$ref){let a=te(n.items.$ref);return t.export="array",t.type=a.type,t.base=a.base,t.template=a.template,t.imports.push(...a.imports),t}{let a=Ze(e,n.items);return t.export="array",t.type=a.type,t.base=a.base,t.template=a.template,t.link=a,t.imports.push(...a.imports),t}}if(n.type==="object"&&typeof n.additionalProperties=="object"){if(n.additionalProperties.$ref){let a=te(n.additionalProperties.$ref);return t.export="dictionary",t.type=a.type,t.base=a.base,t.template=a.template,t.imports.push(...a.imports),t}{let a=Ze(e,n.additionalProperties);return t.export="dictionary",t.type=a.type,t.base=a.base,t.template=a.template,t.link=a,t.imports.push(...a.imports),t}}if(!((r=n.allOf)===null||r===void 0)&&r.length){let a=Xh(e,n,n.allOf,"all-of",Ze);return t.export=a.type,t.imports.push(...a.imports),t.properties.push(...a.properties),t.enums.push(...a.enums),t}if(n.type==="object")return t.export="interface",t.type="any",t.base="any",n.properties&&Ou(e,n,Ze).forEach(a=>{t.imports.push(...a.imports),t.enums.push(...a.enums),t.properties.push(a),a.export==="enum"&&t.enums.push(a)}),t;if(n.type){let a=te(n.type,n.format);return t.export="generic",t.type=a.type,t.base=a.base,t.template=a.template,t.imports.push(...a.imports),t}return t},nn=(e,n,o)=>o.indexOf(e)===n,Qe=(e,n)=>{var o;if(e.default!==void 0){if(e.default===null)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return n.export==="enum"&&(!((o=n.enum)===null||o===void 0)&&o[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch{}}}},Zh=e=>{let n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return Ae(n).replace(zn,"_$1")},wu=(e,n)=>{let o={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach(i=>{let r=Xn(e,i),t=((a,l)=>{var s;let u={in:l.in,prop:l.name,export:"interface",name:Zh(l.name),type:"any",base:"any",template:null,link:null,description:l.description||null,isDefinition:!1,isReadOnly:!1,isRequired:l.required===!0,isNullable:l["x-nullable"]===!0,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,pattern:we(l.pattern),imports:[],enum:[],enums:[],properties:[],mediaType:null};if(l.$ref){let c=te(l.$ref);return u.export="reference",u.type=c.type,u.base=c.base,u.template=c.template,u.imports.push(...c.imports),u.default=Qe(l,u),u}if(l.enum){let c=bu(l.enum),f=Pu(c,l);if(f.length)return u.export="enum",u.type="string",u.base="string",u.enum.push(...f),u.default=Qe(l,u),u}if(l.type==="array"&&l.items){let c=te(l.items.type,l.items.format);return u.export="array",u.type=c.type,u.base=c.base,u.template=c.template,u.imports.push(...c.imports),u.default=Qe(l,u),u}if(l.type==="object"&&l.items){let c=te(l.items.type,l.items.format);return u.export="dictionary",u.type=c.type,u.base=c.base,u.template=c.template,u.imports.push(...c.imports),u.default=Qe(l,u),u}let p=l.schema;if(p){if(!((s=p.$ref)===null||s===void 0)&&s.startsWith("#/parameters/")&&(p=Xn(a,p)),p.$ref){let c=te(p.$ref);return u.export="reference",u.type=c.type,u.base=c.base,u.template=c.template,u.imports.push(...c.imports),u.default=Qe(l,u),u}{let c=Ze(a,p);return u.export=c.export,u.type=c.type,u.base=c.base,u.template=c.template,u.link=c.link,u.imports.push(...c.imports),u.enum.push(...c.enum),u.enums.push(...c.enums),u.properties.push(...c.properties),u.default=Qe(l,u),u}}if(l.type){let c=te(l.type,l.format);return u.export="generic",u.type=c.type,u.base=c.base,u.template=c.template,u.imports.push(...c.imports),u.default=Qe(l,u),u}return u})(e,r);if(t.prop!=="api-version")switch(t.in){case"path":o.parametersPath.push(t),o.parameters.push(t),o.imports.push(...t.imports);break;case"query":o.parametersQuery.push(t),o.parameters.push(t),o.imports.push(...t.imports);break;case"header":o.parametersHeader.push(t),o.parameters.push(t),o.imports.push(...t.imports);break;case"formData":o.parametersForm.push(t),o.parameters.push(t),o.imports.push(...t.imports);break;case"body":o.parametersBody=t,o.parameters.push(t),o.imports.push(...t.imports)}}),o},ey=(e,n,o)=>{var i;let r={in:"response",name:"",code:o,description:n.description||null,export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]},t=n.schema;if(t){if(!((i=t.$ref)===null||i===void 0)&&i.startsWith("#/responses/")&&(t=Xn(e,t)),t.$ref){let a=te(t.$ref);return r.export="reference",r.type=a.type,r.base=a.base,r.template=a.template,r.imports.push(...a.imports),r}{let a=Ze(e,t);return r.export=a.export,r.type=a.type,r.base=a.base,r.template=a.template,r.link=a.link,r.isReadOnly=a.isReadOnly,r.isRequired=a.isRequired,r.isNullable=a.isNullable,r.format=a.format,r.maximum=a.maximum,r.exclusiveMaximum=a.exclusiveMaximum,r.minimum=a.minimum,r.exclusiveMinimum=a.exclusiveMinimum,r.multipleOf=a.multipleOf,r.maxLength=a.maxLength,r.minLength=a.minLength,r.maxItems=a.maxItems,r.minItems=a.minItems,r.uniqueItems=a.uniqueItems,r.maxProperties=a.maxProperties,r.minProperties=a.minProperties,r.pattern=we(a.pattern),r.imports.push(...a.imports),r.enum.push(...a.enum),r.enums.push(...a.enums),r.properties.push(...a.properties),r}}if(n.headers){for(let a in n.headers)if(n.headers.hasOwnProperty(a))return r.in="header",r.name=a,r.type="string",r.base="string",r}return r},ny=e=>{if(e==="default")return 200;if(/[0-9]+/g.test(e)){let n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null},ku=(e,n)=>{let o=e.type===n.type&&e.base===n.base&&e.template===n.template;return o&&e.link&&n.link?ku(e.link,n.link):o},ty=(e,n)=>{let o=e.isRequired&&e.default===void 0,i=n.isRequired&&n.default===void 0;return o&&!i?-1:i&&!o?1:0},ry=(e,n,o,i,r,t)=>{let a=(u=>{let p=u.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return Ae(p,{pascalCase:!0})})(i),l=((u,p,c)=>{if(c)return Ae(c.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim());let f=u.replace(/[^/]*?{api-version}.*?\//g,"").replace(/{(.*?)}/g,"").replace(/\//g,"-");return Ae(`${p}-${f}`)})(n,o,r.operationId),s={service:a,name:l,summary:r.summary||null,description:r.description||null,deprecated:r.deprecated===!0,method:o.toUpperCase(),path:n,parameters:[...t.parameters],parametersPath:[...t.parametersPath],parametersQuery:[...t.parametersQuery],parametersForm:[...t.parametersForm],parametersHeader:[...t.parametersHeader],parametersCookie:[...t.parametersCookie],parametersBody:t.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){let u=wu(e,r.parameters);s.imports.push(...u.imports),s.parameters.push(...u.parameters),s.parametersPath.push(...u.parametersPath),s.parametersQuery.push(...u.parametersQuery),s.parametersForm.push(...u.parametersForm),s.parametersHeader.push(...u.parametersHeader),s.parametersCookie.push(...u.parametersCookie),s.parametersBody=u.parametersBody}if(r.responses){let u=((c,f)=>{let m=[];for(let d in f)if(f.hasOwnProperty(d)){let y=f[d],g=Xn(c,y),P=ny(d);if(P){let x=ey(c,g,P);m.push(x)}}return m.sort((d,y)=>d.codey.code?1:0)})(e,r.responses),p=(c=>{let f=[];return c.forEach(m=>{let{code:d}=m;d&&d!==204&&d>=200&&d<300&&f.push(m)}),f.length||f.push({in:"response",name:"",code:200,description:"",export:"generic",type:"void",base:"void",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),f.filter((m,d,y)=>y.findIndex(g=>ku(g,m))===d)})(u);s.errors=(c=>c.filter(f=>f.code>=300&&f.description).map(f=>({code:f.code,description:f.description})))(u),s.responseHeader=(c=>{let f=c.find(m=>m.in==="header");return f?f.name:null})(p),p.forEach(c=>{s.results.push(c),s.imports.push(...c.imports)})}return s.parameters=s.parameters.sort(ty),s},oy=e=>{let n=((t="1.0")=>String(t).replace(/^v/gi,""))(e.info.version),o=(t=>{var a;let l=((a=t.schemes)===null||a===void 0?void 0:a[0])||"http",s=t.host,u=t.basePath||"";return(s?`${l}://${s}${u}`:u).replace(/\/$/g,"")})(e),i=(t=>{let a=[];for(let l in t.definitions)if(t.definitions.hasOwnProperty(l)){let s=t.definitions[l],u=te(l),p=Ze(t,s,!0,u.base.replace(zn,"_$1"));a.push(p)}return a})(e),r=(t=>{var a;let l=new Map;for(let s in t.paths)if(t.paths.hasOwnProperty(s)){let u=t.paths[s],p=wu(t,u.parameters||[]);for(let c in u)if(u.hasOwnProperty(c))switch(c){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":let f=u[c];(!((a=f.tags)===null||a===void 0)&&a.length?f.tags.filter(nn):["Default"]).forEach(m=>{let d=ry(t,s,c,m,f,p),y=l.get(d.service)||{name:d.service,operations:[],imports:[]};y.operations.push(d),y.imports.push(...d.imports),l.set(d.service,y)})}}return Array.from(l.values())})(e);return{version:n,server:o,models:i,services:r}},go=e=>e.trim().replace(/^#\/components\/schemas\//,"").replace(/^#\/components\/responses\//,"").replace(/^#\/components\/parameters\//,"").replace(/^#\/components\/examples\//,"").replace(/^#\/components\/requestBodies\//,"").replace(/^#\/components\/headers\//,"").replace(/^#\/components\/securitySchemes\//,"").replace(/^#\/components\/links\//,"").replace(/^#\/components\/callbacks\//,""),ay=(e,n)=>{if(e.mapping){let o=(r=>{let t={};for(let a in r)t[r[a]]=a;return t})(e.mapping),i=Object.keys(o).find(r=>go(r)==n.name);if(i&&o[i])return o[i]}return n.name},iy=e=>(e||e==="")&&!/^[a-zA-Z_$][\w$]+$/g.test(e)?`'${e}'`:e,en=e=>e!=null&&e!=="",ly=new Map([["file","binary"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]),su=(e,n)=>n==="binary"?"binary":ly.get(e),zr=e=>e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_"),oe=(e="any",n)=>{let o={type:"any",base:"any",template:null,imports:[],isNullable:!1};if(Array.isArray(e)){let t=e.filter(a=>a!=="null").map(a=>su(a,n)).filter(en).join(" | ");return o.type=t,o.base=t,o.isNullable=e.includes("null"),o}let i=su(e,n);if(i)return o.type=i,o.base=i,o;let r=decodeURIComponent(go(e));if(/\[.*\]$/g.test(r)){let t=r.match(/(.*?)\[(.*)\]$/);if(t?.length){let a=oe(zr(t[1])),l=oe(zr(t[2]));return a.type==="any[]"?(o.type=`${l.type}[]`,o.base=`${l.type}`,a.imports=[]):l.type?(o.type=`${a.type}<${l.type}>`,o.base=a.type,o.template=l.type):(o.type=a.type,o.base=a.type,o.template=a.type),o.imports.push(...a.imports),o.imports.push(...l.imports),o}}if(r){let t=zr(r);return o.type=t,o.base=t,o.imports.push(t),o}return o},Cu=(e,n,o,i)=>{var r;let t=[],a=((l,s)=>{var u;if(l.components&&s){for(let p in l.components.schemas)if(l.components.schemas.hasOwnProperty(p)){let c=l.components.schemas[p];if(c.discriminator&&(!((u=c.oneOf)===null||u===void 0)&&u.length)&&c.oneOf.some(f=>f.$ref&&go(f.$ref)==s.name))return c.discriminator}}})(e,i);for(let l in n.properties)if(n.properties.hasOwnProperty(l)){let s=n.properties[l],u=!!(!((r=n.required)===null||r===void 0)&&r.includes(l)),p={name:iy(l),description:s.description||null,deprecated:s.deprecated===!0,isDefinition:!1,isReadOnly:s.readOnly===!0,isRequired:u,format:s.format,maximum:s.maximum,exclusiveMaximum:s.exclusiveMaximum,minimum:s.minimum,exclusiveMinimum:s.exclusiveMinimum,multipleOf:s.multipleOf,maxLength:s.maxLength,minLength:s.minLength,maxItems:s.maxItems,minItems:s.minItems,uniqueItems:s.uniqueItems,maxProperties:s.maxProperties,minProperties:s.minProperties,pattern:we(s.pattern)};if(i&&a?.propertyName==l)t.push({export:"reference",type:"string",base:`'${ay(a,i)}'`,template:null,isNullable:s.nullable===!0,link:null,imports:[],enum:[],enums:[],properties:[],...p});else if(s.$ref){let c=oe(s.$ref);t.push({export:"reference",type:c.type,base:c.base,template:c.template,link:null,isNullable:c.isNullable||s.nullable===!0,imports:c.imports,enum:[],enums:[],properties:[],...p})}else{let c=o(e,s);t.push({export:c.export,type:c.type,base:c.base,template:c.template,link:c.link,isNullable:c.isNullable||s.nullable===!0,imports:c.imports,enum:c.enum,enums:c.enums,properties:c.properties,...p})}}return t},sy=/~1/g,uy=/~0/g,Sn=(e,n)=>{if(n.$ref){let o=n.$ref.replace(/^#/g,"").split("/").filter(r=>r),i=e;return o.forEach(r=>{let t=decodeURIComponent(r.replace(sy,"/").replace(uy,"~"));if(!i.hasOwnProperty(t))throw new Error(`Could not find reference: "${n.$ref}"`);i=i[t]}),i}return n},Qr=(e,n,o,i,r)=>{let t={type:i,imports:[],enums:[],properties:[]},a=[];if(o.map(l=>r(e,l)).filter(l=>{let s=l.properties.length,u=l.enums.length,p=l.type==="any",c=l.export==="dictionary";return!(p&&!s&&!u)||c}).forEach(l=>{t.imports.push(...l.imports),t.enums.push(...l.enums),t.properties.push(l)}),n.required){let l=((s,u,p,c)=>p.reduce((f,m)=>{if(m.$ref){let d=Sn(s,m);return[...f,...c(s,d).properties]}return[...f,...c(s,m).properties]},[]).filter(f=>!f.isRequired&&u.includes(f.name)).map(f=>({...f,isRequired:!0})))(e,n.required,o,r);l.forEach(s=>{t.imports.push(...s.imports),t.enums.push(...s.enums)}),a.push(...l)}if(n.properties){let l=Cu(e,n,r);l.forEach(s=>{t.imports.push(...s.imports),t.enums.push(...s.enums),s.export==="enum"&&t.enums.push(s)}),a.push(...l)}return a.length&&t.properties.push({name:"properties",export:"interface",type:"any",base:"any",template:null,link:null,description:"",isDefinition:!1,isReadOnly:!1,isNullable:!1,isRequired:!1,imports:[],enum:[],enums:[],properties:a}),t},Oe=(e,n)=>{var o;if(e.default!==void 0){if(e.default===null)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return n?.export==="enum"&&(!((o=n.enum)===null||o===void 0)&&o[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch{}}}},se=(e,n,o=!1,i="")=>{var r,t,a;let l={name:i,export:"interface",type:"any",base:"any",template:null,link:null,description:n.description||null,deprecated:n.deprecated===!0,isDefinition:o,isReadOnly:n.readOnly===!0,isNullable:n.nullable===!0,isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:we(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){let u=oe(n.$ref);return l.export="reference",l.type=u.type,l.base=u.base,l.template=u.template,l.imports.push(...u.imports),l.default=Oe(n,l),l}if(n.enum&&n.type!=="boolean"){let u=(s=n.enum,Array.isArray(s)?s.filter((c,f,m)=>m.indexOf(c)===f).filter(c=>typeof c=="number"||typeof c=="string").map(c=>typeof c=="number"?{name:`'_${c}'`,value:String(c),type:"number",description:null}:{name:String(c).replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${c.replace(/'/g,"\\'")}'`,type:"string",description:null}):[]),p=((c,f)=>{var m,d;let y=(m=f["x-enum-varnames"])===null||m===void 0?void 0:m.filter(Qn),g=(d=f["x-enum-descriptions"])===null||d===void 0?void 0:d.filter(Qn);return c.map((P,x)=>({name:y?.[x]||P.name,description:g?.[x]||P.description,value:P.value,type:P.type}))})(u,n);if(p.length)return l.export="enum",l.type="string",l.base="string",l.enum.push(...p),l.default=Oe(n,l),l}var s;if(n.type==="array"&&n.items){if(n.items.$ref){let u=oe(n.items.$ref);return l.export="array",l.type=u.type,l.base=u.base,l.template=u.template,l.imports.push(...u.imports),l.default=Oe(n,l),l}{let u=se(e,n.items);return l.export="array",l.type=u.type,l.base=u.base,l.template=u.template,l.link=u,l.imports.push(...u.imports),l.default=Oe(n,l),l}}if(n.type==="object"&&(typeof n.additionalProperties=="object"||n.additionalProperties===!0)){let u=typeof n.additionalProperties=="object"?n.additionalProperties:{};if(u.$ref){let p=oe(u.$ref);return l.export="dictionary",l.type=p.type,l.base=p.base,l.template=p.template,l.imports.push(...p.imports),l.default=Oe(n,l),l}{let p=se(e,u);return l.export="dictionary",l.type=p.type,l.base=p.base,l.template=p.template,l.link=p,l.imports.push(...p.imports),l.default=Oe(n,l),l}}if(!((r=n.oneOf)===null||r===void 0)&&r.length){let u=Qr(e,n,n.oneOf,"one-of",se);return l.export=u.type,l.imports.push(...u.imports),l.properties.push(...u.properties),l.enums.push(...u.enums),l}if(!((t=n.anyOf)===null||t===void 0)&&t.length){let u=Qr(e,n,n.anyOf,"any-of",se);return l.export=u.type,l.imports.push(...u.imports),l.properties.push(...u.properties),l.enums.push(...u.enums),l}if(!((a=n.allOf)===null||a===void 0)&&a.length){let u=Qr(e,n,n.allOf,"all-of",se);return l.export=u.type,l.imports.push(...u.imports),l.properties.push(...u.properties),l.enums.push(...u.enums),l}if(n.type==="object"){if(n.properties)return l.export="interface",l.type="any",l.base="any",l.default=Oe(n,l),Cu(e,n,se,l).forEach(u=>{l.imports.push(...u.imports),l.enums.push(...u.enums),l.properties.push(u),u.export==="enum"&&l.enums.push(u)}),l;{let u=se(e,{});return l.export="dictionary",l.type=u.type,l.base=u.base,l.template=u.template,l.link=u,l.imports.push(...u.imports),l.default=Oe(n,l),l}}if(n.type){let u=oe(n.type,n.format);return l.export="generic",l.type=u.type,l.base=u.base,l.template=u.template,l.isNullable=u.isNullable||l.isNullable,l.imports.push(...u.imports),l.default=Oe(n,l),l}return l},cy=e=>{let n=e.replace(/^[^a-zA-Z]+/g,"").replace("[]","Array").replace(/[^\w\-]+/g,"-").trim();return Ae(n).replace(zn,"_$1")},Su=(e,n)=>{let o={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach(i=>{let r=Sn(e,i),t=((a,l)=>{var s;let u={in:l.in,prop:l.name,export:"interface",name:cy(l.name),type:"any",base:"any",template:null,link:null,description:l.description||null,deprecated:l.deprecated===!0,isDefinition:!1,isReadOnly:!1,isRequired:l.required===!0,isNullable:l.nullable===!0,imports:[],enum:[],enums:[],properties:[],mediaType:null};if(l.$ref){let c=oe(l.$ref);return u.export="reference",u.type=c.type,u.base=c.base,u.template=c.template,u.imports.push(...c.imports),u}let p=l.schema;if(p){if(!((s=p.$ref)===null||s===void 0)&&s.startsWith("#/components/parameters/")&&(p=Sn(a,p)),p.$ref){let c=oe(p.$ref);return u.export="reference",u.type=c.type,u.base=c.base,u.template=c.template,u.imports.push(...c.imports),u.default=Oe(p),u}{let c=se(a,p);return u.export=c.export,u.type=c.type,u.base=c.base,u.template=c.template,u.link=c.link,u.isReadOnly=c.isReadOnly,u.isRequired=u.isRequired||c.isRequired,u.isNullable=u.isNullable||c.isNullable,u.format=c.format,u.maximum=c.maximum,u.exclusiveMaximum=c.exclusiveMaximum,u.minimum=c.minimum,u.exclusiveMinimum=c.exclusiveMinimum,u.multipleOf=c.multipleOf,u.maxLength=c.maxLength,u.minLength=c.minLength,u.maxItems=c.maxItems,u.minItems=c.minItems,u.uniqueItems=c.uniqueItems,u.maxProperties=c.maxProperties,u.minProperties=c.minProperties,u.pattern=we(c.pattern),u.default=c.default,u.imports.push(...c.imports),u.enum.push(...c.enum),u.enums.push(...c.enums),u.properties.push(...c.properties),u}}return u})(e,r);if(t.prop!=="api-version")switch(r.in){case"path":o.parametersPath.push(t),o.parameters.push(t),o.imports.push(...t.imports);break;case"query":o.parametersQuery.push(t),o.parameters.push(t),o.imports.push(...t.imports);break;case"formData":o.parametersForm.push(t),o.parameters.push(t),o.imports.push(...t.imports);break;case"cookie":o.parametersCookie.push(t),o.parameters.push(t),o.imports.push(...t.imports);break;case"header":o.parametersHeader.push(t),o.parameters.push(t),o.imports.push(...t.imports)}}),o},py=["application/json-patch+json","application/json","application/x-www-form-urlencoded","text/json","text/plain","multipart/form-data","multipart/mixed","multipart/related","multipart/batch"],Eu=(e,n)=>{let o=Object.keys(n).filter(r=>{let t=r.split(";")[0].trim();return py.includes(t)}).find(r=>{var t;return en((t=n[r])===null||t===void 0?void 0:t.schema)});if(o)return{mediaType:o,schema:n[o].schema};let i=Object.keys(n).find(r=>{var t;return en((t=n[r])===null||t===void 0?void 0:t.schema)});return i?{mediaType:i,schema:n[i].schema}:null},fy=(e,n,o)=>{var i;let r={in:"response",name:"",code:o,description:n.description||null,export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.content){let t=Eu(0,n.content);if(t){if(!((i=t.schema.$ref)===null||i===void 0)&&i.startsWith("#/components/responses/")&&(t.schema=Sn(e,t.schema)),t.schema.$ref){let a=oe(t.schema.$ref);return r.export="reference",r.type=a.type,r.base=a.base,r.template=a.template,r.imports.push(...a.imports),r}{let a=se(e,t.schema);return r.export=a.export,r.type=a.type,r.base=a.base,r.template=a.template,r.link=a.link,r.isReadOnly=a.isReadOnly,r.isRequired=a.isRequired,r.isNullable=a.isNullable,r.format=a.format,r.maximum=a.maximum,r.exclusiveMaximum=a.exclusiveMaximum,r.minimum=a.minimum,r.exclusiveMinimum=a.exclusiveMinimum,r.multipleOf=a.multipleOf,r.maxLength=a.maxLength,r.minLength=a.minLength,r.maxItems=a.maxItems,r.minItems=a.minItems,r.uniqueItems=a.uniqueItems,r.maxProperties=a.maxProperties,r.minProperties=a.minProperties,r.pattern=we(a.pattern),r.imports.push(...a.imports),r.enum.push(...a.enum),r.enums.push(...a.enums),r.properties.push(...a.properties),r}}}if(n.headers){for(let t in n.headers)if(n.headers.hasOwnProperty(t))return r.in="header",r.name=t,r.type="string",r.base="string",r}return r},my=e=>{if(e==="default")return 200;if(/[0-9]+/g.test(e)){let n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null},Ru=(e,n)=>{let o=e.type===n.type&&e.base===n.base&&e.template===n.template;return o&&e.link&&n.link?Ru(e.link,n.link):o},dy=(e,n)=>{let o=e.isRequired&&e.default===void 0,i=n.isRequired&&n.default===void 0;return o&&!i?-1:i&&!o?1:0},hy=(e,n,o,i,r,t)=>{let a=(u=>{let p=u.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return Ae(p,{pascalCase:!0})})(i),l=((u,p,c)=>{if(c)return Ae(c.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim());let f=u.replace(/[^/]*?{api-version}.*?\//g,"").replace(/{(.*?)}/g,"").replace(/\//g,"-");return Ae(`${p}-${f}`)})(n,o,r.operationId),s={service:a,name:l,summary:r.summary||null,description:r.description||null,deprecated:r.deprecated===!0,method:o.toUpperCase(),path:n,parameters:[...t.parameters],parametersPath:[...t.parametersPath],parametersQuery:[...t.parametersQuery],parametersForm:[...t.parametersForm],parametersHeader:[...t.parametersHeader],parametersCookie:[...t.parametersCookie],parametersBody:t.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){let u=Su(e,r.parameters);s.imports.push(...u.imports),s.parameters.push(...u.parameters),s.parametersPath.push(...u.parametersPath),s.parametersQuery.push(...u.parametersQuery),s.parametersForm.push(...u.parametersForm),s.parametersHeader.push(...u.parametersHeader),s.parametersCookie.push(...u.parametersCookie),s.parametersBody=u.parametersBody}if(r.requestBody){let u=((p,c)=>{let f={in:"body",export:"interface",prop:"requestBody",name:"requestBody",type:"any",base:"any",template:null,link:null,description:c.description||null,default:void 0,isDefinition:!1,isReadOnly:!1,isRequired:c.required===!0,isNullable:c.nullable===!0,imports:[],enum:[],enums:[],properties:[],mediaType:null};if(c.content){let m=Eu(0,c.content);if(m){switch(f.mediaType=m.mediaType,f.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":f.in="formData",f.name="formData",f.prop="formData"}if(m.schema.$ref){let d=oe(m.schema.$ref);return f.export="reference",f.type=d.type,f.base=d.base,f.template=d.template,f.imports.push(...d.imports),f}{let d=se(p,m.schema);return f.export=d.export,f.type=d.type,f.base=d.base,f.template=d.template,f.link=d.link,f.isReadOnly=d.isReadOnly,f.isRequired=f.isRequired||d.isRequired,f.isNullable=f.isNullable||d.isNullable,f.format=d.format,f.maximum=d.maximum,f.exclusiveMaximum=d.exclusiveMaximum,f.minimum=d.minimum,f.exclusiveMinimum=d.exclusiveMinimum,f.multipleOf=d.multipleOf,f.maxLength=d.maxLength,f.minLength=d.minLength,f.maxItems=d.maxItems,f.minItems=d.minItems,f.uniqueItems=d.uniqueItems,f.maxProperties=d.maxProperties,f.minProperties=d.minProperties,f.pattern=we(d.pattern),f.imports.push(...d.imports),f.enum.push(...d.enum),f.enums.push(...d.enums),f.properties.push(...d.properties),f}}}return f})(e,Sn(e,r.requestBody));s.imports.push(...u.imports),s.parameters.push(u),s.parametersBody=u}if(r.responses){let u=((c,f)=>{let m=[];for(let d in f)if(f.hasOwnProperty(d)){let y=f[d],g=Sn(c,y),P=my(d);if(P){let x=fy(c,g,P);m.push(x)}}return m.sort((d,y)=>d.codey.code?1:0)})(e,r.responses),p=(c=>{let f=[];return c.forEach(m=>{let{code:d}=m;d&&d!==204&&d>=200&&d<300&&f.push(m)}),f.length||f.push({in:"response",name:"",code:200,description:"",export:"generic",type:"void",base:"void",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),f.filter((m,d,y)=>y.findIndex(g=>Ru(g,m))===d)})(u);s.errors=(c=>c.filter(f=>f.code>=300&&f.description).map(f=>({code:f.code,description:f.description})))(u),s.responseHeader=(c=>{let f=c.find(m=>m.in==="header");return f?f.name:null})(p),p.forEach(c=>{s.results.push(c),s.imports.push(...c.imports)})}return s.parameters=s.parameters.sort(dy),s},yy=e=>{let n=((t="1.0")=>String(t).replace(/^v/gi,""))(e.info.version),o=(t=>{var a;let l=(a=t.servers)===null||a===void 0?void 0:a[0],s=l?.variables||{},u=l?.url||"";for(let p in s)s.hasOwnProperty(p)&&(u=u.replace(`{${p}}`,s[p].default));return u.replace(/\/$/g,"")})(e),i=(t=>{let a=[];if(t.components){for(let l in t.components.schemas)if(t.components.schemas.hasOwnProperty(l)){let s=t.components.schemas[l],u=oe(l),p=se(t,s,!0,u.base.replace(zn,"_$1"));a.push(p)}for(let l in t.components.parameters)if(t.components.parameters.hasOwnProperty(l)){let s=t.components.parameters[l],u=oe(l),p=s.schema;if(p){let c=se(t,p,!0,u.base.replace(zn,"_$1"));c.description=s.description||null,c.deprecated=s.deprecated,a.push(c)}}}return a})(e),r=(t=>{var a;let l=new Map;for(let s in t.paths)if(t.paths.hasOwnProperty(s)){let u=t.paths[s],p=Su(t,u.parameters||[]);for(let c in u)if(u.hasOwnProperty(c))switch(c){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":let f=u[c];(!((a=f.tags)===null||a===void 0)&&a.length?f.tags.filter(nn):["Default"]).forEach(m=>{let d=hy(t,s,c,m,f,p),y=l.get(d.service)||{name:d.service,operations:[],imports:[]};y.operations.push(d),y.imports.push(...d.imports),l.set(d.service,y)})}}return Array.from(l.values())})(e);return{version:n,server:o,models:i,services:r}},wn;(function(e){e[e.V2=2]="V2",e[e.V3=3]="V3"})(wn||(wn={}));var vy=e=>e.enum.filter((n,o,i)=>i.findIndex(r=>r.name===n.name)===o),gy=e=>e.enums.filter((n,o,i)=>i.findIndex(r=>r.name===n.name)===o),qu=(e,n)=>{let o=e.toLowerCase(),i=n.toLowerCase();return o.localeCompare(i,"en")},xy=e=>e.imports.filter(nn).sort(qu).filter(n=>e.name!==n),uu=(e,n)=>{let o=[];return e.map(n).forEach(i=>{o.push(...i)}),o},Py=e=>{let n={...e};return n.operations=(o=>{let i=new Map;return o.operations.map(r=>{let t={...r};t.imports.push(...uu(t.parameters,s=>s.imports)),t.imports.push(...uu(t.results,s=>s.imports));let a=t.name,l=i.get(a)||0;return l>0&&(t.name=`${a}${l}`),i.set(a,l+1),t})})(n),n.operations.forEach(o=>{n.imports.push(...o.imports)}),n.imports=(o=>o.imports.filter(nn).sort(qu))(n),n},cu=e=>({...e,models:e.models.map(n=>(o=>({...o,imports:xy(o),enums:gy(o),enum:vy(o)}))(n)),services:e.services.map(n=>Py(n))}),Gn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function by(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var no={exports:{}},he={},H={__esModule:!0};H.extend=pu,H.indexOf=function(e,n){for(var o=0,i=e.length;o":">",'"':""","'":"'","`":"`","=":"="},wy=/[&<>"'`=]/g,ky=/[&<>"'`=]/;function Cy(e){return Oy[e]}function pu(e){for(var n=1;n0?(t.ids&&(t.ids=[t.name]),i.helpers.each(r,t)):a(this);if(t.data&&t.ids){var s=o.createFrame(t.data);s.contextPath=o.appendContextPath(t.data.contextPath,t.name),t={data:s}}return l(r,t)})},e.exports=n.default})(ro,ro.exports);var Sy=ro.exports,oo={exports:{}};(function(e,n){n.__esModule=!0;var o,i=H,r=(o=tn)&&o.__esModule?o:{default:o};n.default=function(t){t.registerHelper("each",function(a,l){if(!l)throw new r.default("Must pass iterator to #each");var s,u=l.fn,p=l.inverse,c=0,f="",m=void 0,d=void 0;function y(L,ae,_){m&&(m.key=L,m.index=ae,m.first=ae===0,m.last=!!_,d&&(m.contextPath=d+L)),f+=u(a[L],{data:m,blockParams:i.blockParams([a[L],L],[d+L,null])})}if(l.data&&l.ids&&(d=i.appendContextPath(l.data.contextPath,l.ids[0])+"."),i.isFunction(a)&&(a=a.call(this)),l.data&&(m=i.createFrame(l.data)),a&&typeof a=="object")if(i.isArray(a))for(var g=a.length;c=0?t:parseInt(r,10)}return r},log:function(r){if(r=i.lookupLevel(r),typeof console<"u"&&i.lookupLevel(i.level)<=r){var t=i.methodMap[r];console[t]||(t="log");for(var a=arguments.length,l=Array(a>1?a-1:0),s=1;s= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var eo="[object Object]";function mo(e,n,o){this.helpers=e||{},this.partials=n||{},this.decorators=o||{},Yy.registerDefaultHelpers(this),Jy.registerDefaultDecorators(this)}mo.prototype={constructor:mo,logger:jt.default,log:jt.default.log,registerHelper:function(e,n){if(Xe.toString.call(e)===eo){if(n)throw new Zr.default("Arg not supported with multiple helpers");Xe.extend(this.helpers,e)}else this.helpers[e]=n},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){if(Xe.toString.call(e)===eo)Xe.extend(this.partials,e);else{if(n===void 0)throw new Zr.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=n}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,n){if(Xe.toString.call(e)===eo){if(n)throw new Zr.default("Arg not supported with multiple decorators");Xe.extend(this.decorators,e)}else this.decorators[e]=n},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){Gy.resetLoggedProperties()}};var Ky=jt.default.log;he.log=Ky,he.createFrame=Xe.createFrame,he.logger=jt.default;var ho={exports:{}};(function(e,n){function o(i){this.string=i}n.__esModule=!0,o.prototype.toString=o.prototype.toHTML=function(){return""+this.string},n.default=o,e.exports=n.default})(ho,ho.exports);var zy=ho.exports,Ue={},yo={};yo.__esModule=!0,yo.wrapHelper=function(e,n){return typeof e!="function"?e:function(){return arguments[arguments.length-1]=n(arguments[arguments.length-1]),e.apply(this,arguments)}},Ue.__esModule=!0,Ue.checkRevision=function(e){var n=e&&e[0]||1,o=Re.COMPILER_REVISION;if(!(n>=Re.LAST_COMPATIBLE_COMPILER_REVISION&&n<=Re.COMPILER_REVISION)){if(n BaseHttpRequest; + +export class `+((t=l(a(n,"clientName",{start:{line:54,column:16},end:{line:54,column:26}}),n))!=null?t:"")+` { + +`+((t=u(o,"each").call(s,u(n,"services"),{name:"each",hash:{},fn:e.program(12,r,0),inverse:e.noop,data:r,loc:{start:{line:56,column:1},end:{line:58,column:10}}}))!=null?t:"")+` + public readonly request: BaseHttpRequest; + + constructor(config?: Partial, HttpRequest: HttpRequestConstructor = `+((t=l(a(n,"httpRequest",{start:{line:62,column:87},end:{line:62,column:98}}),n))!=null?t:"")+`) { + this.request = new HttpRequest({ + BASE: config?.BASE ?? '`+((t=l(a(n,"server",{start:{line:64,column:29},end:{line:64,column:35}}),n))!=null?t:"")+`', + VERSION: config?.VERSION ?? '`+((t=l(a(n,"version",{start:{line:65,column:35},end:{line:65,column:42}}),n))!=null?t:"")+`', + WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false, + CREDENTIALS: config?.CREDENTIALS ?? 'include', + TOKEN: config?.TOKEN, + USERNAME: config?.USERNAME, + PASSWORD: config?.PASSWORD, + HEADERS: config?.HEADERS, + ENCODE_PATH: config?.ENCODE_PATH, + }); + +`+((t=u(o,"each").call(s,u(n,"services"),{name:"each",hash:{},fn:e.program(14,r,0),inverse:e.noop,data:r,loc:{start:{line:75,column:2},end:{line:77,column:11}}}))!=null?t:"")+` } +} +`},12:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return" public readonly "+((t=s(o,"camelCase").call(n??(e.nullContext||{}),s(n,"name"),{name:"camelCase",hash:{},data:r,loc:{start:{line:57,column:17},end:{line:57,column:37}}}))!=null?t:"")+": "+((t=l(a(n,"name",{start:{line:57,column:42},end:{line:57,column:46}}),n))!=null?t:"")+((t=l(a(s(r,"root"),"postfix",{start:{line:57,column:52},end:{line:57,column:65}}),n))!=null?t:"")+`; +`},14:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return" this."+((t=s(o,"camelCase").call(n??(e.nullContext||{}),s(n,"name"),{name:"camelCase",hash:{},data:r,loc:{start:{line:76,column:7},end:{line:76,column:27}}}))!=null?t:"")+" = new "+((t=l(a(n,"name",{start:{line:76,column:37},end:{line:76,column:41}}),n))!=null?t:"")+((t=l(a(s(r,"root"),"postfix",{start:{line:76,column:47},end:{line:76,column:60}}),n))!=null?t:"")+`(this.request); +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=e.invokePartial(l(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:3,column:0},end:{line:15,column:11}}}))!=null?t:"")+` +`+((t=l(o,"if").call(a,l(n,"services"),{name:"if",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:17,column:0},end:{line:21,column:7}}}))!=null?t:"")+` +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(8,r,0),inverse:e.program(11,r,0),data:r,loc:{start:{line:23,column:0},end:{line:80,column:11}}}))!=null?t:"")},usePartial:!0,useData:!0},e0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getHeaders = (config: OpenAPIConfig, options: ApiRequestOptions): Observable => { + return forkJoin({ + token: resolve(options, config.TOKEN), + username: resolve(options, config.USERNAME), + password: resolve(options, config.PASSWORD), + additionalHeaders: resolve(options, config.HEADERS), + }).pipe( + map(({ token, username, password, additionalHeaders }) => { + const headers = Object.entries({ + Accept: 'application/json', + ...additionalHeaders, + ...options.headers, + }) + .filter(([_, value]) => isDefined(value)) + .reduce((headers, [key, value]) => ({ + ...headers, + [key]: String(value), + }), {} as Record); + + if (isStringWithValue(token)) { + headers['Authorization'] = \`Bearer \${token}\`; + } + + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(\`\${username}:\${password}\`); + headers['Authorization'] = \`Basic \${credentials}\`; + } + + if (options.body) { + if (options.mediaType) { + headers['Content-Type'] = options.mediaType; + } else if (isBlob(options.body)) { + headers['Content-Type'] = options.body.type || 'application/octet-stream'; + } else if (isString(options.body)) { + headers['Content-Type'] = 'text/plain'; + } else if (!isFormData(options.body)) { + headers['Content-Type'] = 'application/json'; + } + } + + return new HttpHeaders(headers); + }), + ); +};`},useData:!0},n0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getRequestBody = (options: ApiRequestOptions): any => { + if (options.body) { + if (options.mediaType?.includes('/json')) { + return JSON.stringify(options.body) + } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { + return options.body; + } else { + return JSON.stringify(options.body); + } + } + return undefined; +};`},useData:!0},t0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseBody = (response: HttpResponse): T | undefined => { + if (response.status !== 204 && response.body !== null) { + return response.body; + } + return undefined; +};`},useData:!0},r0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseHeader = (response: HttpResponse, responseHeader?: string): string | undefined => { + if (responseHeader) { + const value = response.headers.get(responseHeader); + if (isString(value)) { + return value; + } + } + return undefined; +};`},useData:!0},o0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import type { HttpResponse, HttpErrorResponse } from '@angular/common/http'; +import { forkJoin, of, throwError } from 'rxjs'; +import { catchError, map, switchMap } from 'rxjs/operators'; +import type { Observable } from 'rxjs'; + +import { ApiError } from './ApiError'; +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; +import type { OpenAPIConfig } from './OpenAPI'; + +`+((t=e.invokePartial(a(i,"functions/isDefined"),n,{name:"functions/isDefined",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isString"),n,{name:"functions/isString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isBlob"),n,{name:"functions/isBlob",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isFormData"),n,{name:"functions/isFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/base64"),n,{name:"functions/base64",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getQueryString"),n,{name:"functions/getQueryString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getUrl"),n,{name:"functions/getUrl",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getFormData"),n,{name:"functions/getFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/resolve"),n,{name:"functions/resolve",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"angular/getHeaders"),n,{name:"angular/getHeaders",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"angular/getRequestBody"),n,{name:"angular/getRequestBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"angular/sendRequest"),n,{name:"angular/sendRequest",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"angular/getResponseHeader"),n,{name:"angular/getResponseHeader",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"angular/getResponseBody"),n,{name:"angular/getResponseBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +/** + * Request method + * @param config The OpenAPI configuration object + * @param http The Angular HTTP client + * @param options The request options from the service + * @returns Observable + * @throws ApiError + */ +export const request = (config: OpenAPIConfig, http: HttpClient, options: ApiRequestOptions): Observable => { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + + return getHeaders(config, options).pipe( + switchMap(headers => { + return sendRequest(config, options, http, url, formData, body, headers); + }), + map(response => { + const responseBody = getResponseBody(response); + const responseHeader = getResponseHeader(response, options.responseHeader); + return { + url, + ok: response.ok, + status: response.status, + statusText: response.statusText, + body: responseHeader ?? responseBody, + } as ApiResult; + }), + catchError((error: HttpErrorResponse) => { + if (!error.status) { + return throwError(error); + } + return of({ + url, + ok: error.ok, + status: error.status, + statusText: error.statusText, + body: error.error ?? error.statusText, + } as ApiResult); + }), + map(result => { + catchErrorCodes(options, result); + return result.body as T; + }), + catchError((error: ApiError) => { + return throwError(error); + }), + ); +};`},usePartial:!0,useData:!0},a0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const sendRequest = ( + config: OpenAPIConfig, + options: ApiRequestOptions, + http: HttpClient, + url: string, + body: any, + formData: FormData | undefined, + headers: HttpHeaders +): Observable> => { + return http.request(options.method, url, { + headers, + body: body ?? formData, + withCredentials: config.WITH_CREDENTIALS, + observe: 'response', + }); +};`},useData:!0},i0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; + +export class ApiError extends Error { + public readonly url: string; + public readonly status: number; + public readonly statusText: string; + public readonly body: any; + public readonly request: ApiRequestOptions; + + constructor(request: ApiRequestOptions, response: ApiResult, message: string) { + super(message); + + this.name = 'ApiError'; + this.url = response.url; + this.status = response.status; + this.statusText = response.statusText; + this.body = response.body; + this.request = request; + } +}`},usePartial:!0,useData:!0},l0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +export type ApiRequestOptions = { + readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; + readonly url: string; + readonly path?: Record; + readonly cookies?: Record; + readonly headers?: Record; + readonly query?: Record; + readonly formData?: Record; + readonly body?: any; + readonly mediaType?: string; + readonly responseHeader?: string; + readonly errors?: Record; +};`},usePartial:!0,useData:!0},s0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +export type ApiResult = { + readonly url: string; + readonly ok: boolean; + readonly status: number; + readonly statusText: string; + readonly body: any; +};`},usePartial:!0,useData:!0},u0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise> => { + const token = await resolve(options, config.TOKEN); + const username = await resolve(options, config.USERNAME); + const password = await resolve(options, config.PASSWORD); + const additionalHeaders = await resolve(options, config.HEADERS); + const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {} + + const headers = Object.entries({ + Accept: 'application/json', + ...additionalHeaders, + ...options.headers, + ...formHeaders, + }) + .filter(([_, value]) => isDefined(value)) + .reduce((headers, [key, value]) => ({ + ...headers, + [key]: String(value), + }), {} as Record); + + if (isStringWithValue(token)) { + headers['Authorization'] = \`Bearer \${token}\`; + } + + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(\`\${username}:\${password}\`); + headers['Authorization'] = \`Basic \${credentials}\`; + } + + if (options.body) { + if (options.mediaType) { + headers['Content-Type'] = options.mediaType; + } else if (isBlob(options.body)) { + headers['Content-Type'] = options.body.type || 'application/octet-stream'; + } else if (isString(options.body)) { + headers['Content-Type'] = 'text/plain'; + } else if (!isFormData(options.body)) { + headers['Content-Type'] = 'application/json'; + } + } + + return headers; +};`},useData:!0},c0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getRequestBody = (options: ApiRequestOptions): any => { + if (options.body) { + return options.body; + } + return undefined; +};`},useData:!0},p0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseBody = (response: AxiosResponse): any => { + if (response.status !== 204) { + return response.data; + } + return undefined; +};`},useData:!0},f0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseHeader = (response: AxiosResponse, responseHeader?: string): string | undefined => { + if (responseHeader) { + const content = response.headers[responseHeader]; + if (isString(content)) { + return content; + } + } + return undefined; +};`},useData:!0},m0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +import axios from 'axios'; +import type { AxiosError, AxiosRequestConfig, AxiosResponse, AxiosInstance } from 'axios'; +import FormData from 'form-data'; + +import { ApiError } from './ApiError'; +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; +import { CancelablePromise } from './CancelablePromise'; +import type { OnCancel } from './CancelablePromise'; +import type { OpenAPIConfig } from './OpenAPI'; + +`+((t=e.invokePartial(a(i,"functions/isDefined"),n,{name:"functions/isDefined",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isString"),n,{name:"functions/isString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isBlob"),n,{name:"functions/isBlob",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isFormData"),n,{name:"functions/isFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isSuccess"),n,{name:"functions/isSuccess",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/base64"),n,{name:"functions/base64",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getQueryString"),n,{name:"functions/getQueryString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getUrl"),n,{name:"functions/getUrl",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getFormData"),n,{name:"functions/getFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/resolve"),n,{name:"functions/resolve",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"axios/getHeaders"),n,{name:"axios/getHeaders",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"axios/getRequestBody"),n,{name:"axios/getRequestBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"axios/sendRequest"),n,{name:"axios/sendRequest",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"axios/getResponseHeader"),n,{name:"axios/getResponseHeader",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"axios/getResponseBody"),n,{name:"axios/getResponseBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +/** + * Request method + * @param config The OpenAPI configuration object + * @param options The request options from the service + * @param axiosClient The axios client instance to use + * @returns CancelablePromise + * @throws ApiError + */ +export const request = (config: OpenAPIConfig, options: ApiRequestOptions, axiosClient: AxiosInstance = axios): CancelablePromise => { + return new CancelablePromise(async (resolve, reject, onCancel) => { + try { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + const headers = await getHeaders(config, options, formData); + + if (!onCancel.isCancelled) { + const response = await sendRequest(config, options, url, body, formData, headers, onCancel, axiosClient); + const responseBody = getResponseBody(response); + const responseHeader = getResponseHeader(response, options.responseHeader); + + const result: ApiResult = { + url, + ok: isSuccess(response.status), + status: response.status, + statusText: response.statusText, + body: responseHeader ?? responseBody, + }; + + catchErrorCodes(options, result); + + resolve(result.body); + } + } catch (error) { + reject(error); + } + }); +};`},usePartial:!0,useData:!0},d0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const sendRequest = async ( + config: OpenAPIConfig, + options: ApiRequestOptions, + url: string, + body: any, + formData: FormData | undefined, + headers: Record, + onCancel: OnCancel, + axiosClient: AxiosInstance +): Promise> => { + const source = axios.CancelToken.source(); + + const requestConfig: AxiosRequestConfig = { + url, + headers, + data: body ?? formData, + method: options.method, + withCredentials: config.WITH_CREDENTIALS, + cancelToken: source.token, + }; + + onCancel(() => source.cancel('The user aborted a request.')); + + try { + return await axiosClient.request(requestConfig); + } catch (error) { + const axiosError = error as AxiosError; + if (axiosError.response) { + return axiosError.response; + } + throw error; + } +};`},useData:!0},h0={1:function(e,n,o,i,r){return`import type { HttpClient } from '@angular/common/http'; +import type { Observable } from 'rxjs'; + +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { OpenAPIConfig } from './OpenAPI'; +`},3:function(e,n,o,i,r){return`import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { CancelablePromise } from './CancelablePromise'; +import type { OpenAPIConfig } from './OpenAPI'; +`},5:function(e,n,o,i,r){return` constructor( + public readonly config: OpenAPIConfig, + public readonly http: HttpClient, + ) {} +`},7:function(e,n,o,i,r){return` constructor(public readonly config: OpenAPIConfig) {} +`},9:function(e,n,o,i,r){return` public abstract request(options: ApiRequestOptions): Observable; +`},11:function(e,n,o,i,r){return` public abstract request(options: ApiRequestOptions): CancelablePromise; +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=e.invokePartial(l(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:3,column:0},end:{line:13,column:11}}}))!=null?t:"")+` +export abstract class BaseHttpRequest { + +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(5,r,0),inverse:e.program(7,r,0),data:r,loc:{start:{line:17,column:1},end:{line:24,column:12}}}))!=null?t:"")+` +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(9,r,0),inverse:e.program(11,r,0),data:r,loc:{start:{line:26,column:1},end:{line:30,column:12}}}))!=null?t:"")+"}"},usePartial:!0,useData:!0},y0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +export class CancelError extends Error { + + constructor(message: string) { + super(message); + this.name = 'CancelError'; + } + + public get isCancelled(): boolean { + return true; + } +} + +export interface OnCancel { + readonly isResolved: boolean; + readonly isRejected: boolean; + readonly isCancelled: boolean; + + (cancelHandler: () => void): void; +} + +export class CancelablePromise implements Promise { + #isResolved: boolean; + #isRejected: boolean; + #isCancelled: boolean; + readonly #cancelHandlers: (() => void)[]; + readonly #promise: Promise; + #resolve?: (value: T | PromiseLike) => void; + #reject?: (reason?: any) => void; + + constructor( + executor: ( + resolve: (value: T | PromiseLike) => void, + reject: (reason?: any) => void, + onCancel: OnCancel + ) => void + ) { + this.#isResolved = false; + this.#isRejected = false; + this.#isCancelled = false; + this.#cancelHandlers = []; + this.#promise = new Promise((resolve, reject) => { + this.#resolve = resolve; + this.#reject = reject; + + const onResolve = (value: T | PromiseLike): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isResolved = true; + this.#resolve?.(value); + }; + + const onReject = (reason?: any): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isRejected = true; + this.#reject?.(reason); + }; + + const onCancel = (cancelHandler: () => void): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#cancelHandlers.push(cancelHandler); + }; + + Object.defineProperty(onCancel, 'isResolved', { + get: (): boolean => this.#isResolved, + }); + + Object.defineProperty(onCancel, 'isRejected', { + get: (): boolean => this.#isRejected, + }); + + Object.defineProperty(onCancel, 'isCancelled', { + get: (): boolean => this.#isCancelled, + }); + + return executor(onResolve, onReject, onCancel as OnCancel); + }); + } + + get [Symbol.toStringTag]() { + return "Cancellable Promise"; + } + + public then( + onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, + onRejected?: ((reason: any) => TResult2 | PromiseLike) | null + ): Promise { + return this.#promise.then(onFulfilled, onRejected); + } + + public catch( + onRejected?: ((reason: any) => TResult | PromiseLike) | null + ): Promise { + return this.#promise.catch(onRejected); + } + + public finally(onFinally?: (() => void) | null): Promise { + return this.#promise.finally(onFinally); + } + + public cancel(): void { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isCancelled = true; + if (this.#cancelHandlers.length) { + try { + for (const cancelHandler of this.#cancelHandlers) { + cancelHandler(); + } + } catch (error) { + console.warn('Cancellation threw an error', error); + return; + } + } + this.#cancelHandlers.length = 0; + this.#reject?.(new CancelError('Request aborted')); + } + + public get isCancelled(): boolean { + return this.#isCancelled; + } +}`},usePartial:!0,useData:!0},v0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { + const token = await resolve(options, config.TOKEN); + const username = await resolve(options, config.USERNAME); + const password = await resolve(options, config.PASSWORD); + const additionalHeaders = await resolve(options, config.HEADERS); + + const headers = Object.entries({ + Accept: 'application/json', + ...additionalHeaders, + ...options.headers, + }) + .filter(([_, value]) => isDefined(value)) + .reduce((headers, [key, value]) => ({ + ...headers, + [key]: String(value), + }), {} as Record); + + if (isStringWithValue(token)) { + headers['Authorization'] = \`Bearer \${token}\`; + } + + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(\`\${username}:\${password}\`); + headers['Authorization'] = \`Basic \${credentials}\`; + } + + if (options.body) { + if (options.mediaType) { + headers['Content-Type'] = options.mediaType; + } else if (isBlob(options.body)) { + headers['Content-Type'] = options.body.type || 'application/octet-stream'; + } else if (isString(options.body)) { + headers['Content-Type'] = 'text/plain'; + } else if (!isFormData(options.body)) { + headers['Content-Type'] = 'application/json'; + } + } + + return new Headers(headers); +};`},useData:!0},g0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getRequestBody = (options: ApiRequestOptions): any => { + if (options.body !== undefined) { + if (options.mediaType?.includes('/json')) { + return JSON.stringify(options.body) + } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { + return options.body; + } else { + return JSON.stringify(options.body); + } + } + return undefined; +};`},useData:!0},x0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseBody = async (response: Response): Promise => { + if (response.status !== 204) { + try { + const contentType = response.headers.get('Content-Type'); + if (contentType) { + const jsonTypes = ['application/json', 'application/problem+json'] + const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); + if (isJSON) { + return await response.json(); + } else { + return await response.text(); + } + } + } catch (error) { + console.error(error); + } + } + return undefined; +};`},useData:!0},P0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => { + if (responseHeader) { + const content = response.headers.get(responseHeader); + if (isString(content)) { + return content; + } + } + return undefined; +};`},useData:!0},b0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +import { ApiError } from './ApiError'; +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; +import { CancelablePromise } from './CancelablePromise'; +import type { OnCancel } from './CancelablePromise'; +import type { OpenAPIConfig } from './OpenAPI'; + +`+((t=e.invokePartial(a(i,"functions/isDefined"),n,{name:"functions/isDefined",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isString"),n,{name:"functions/isString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isBlob"),n,{name:"functions/isBlob",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isFormData"),n,{name:"functions/isFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/base64"),n,{name:"functions/base64",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getQueryString"),n,{name:"functions/getQueryString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getUrl"),n,{name:"functions/getUrl",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getFormData"),n,{name:"functions/getFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/resolve"),n,{name:"functions/resolve",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"fetch/getRequestBody"),n,{name:"fetch/getRequestBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"fetch/sendRequest"),n,{name:"fetch/sendRequest",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"fetch/getResponseHeader"),n,{name:"fetch/getResponseHeader",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"fetch/getResponseBody"),n,{name:"fetch/getResponseBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +/** + * Request method + * @param config The OpenAPI configuration object + * @param options The request options from the service + * @returns CancelablePromise + * @throws ApiError + */ +export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { + return new CancelablePromise(async (resolve, reject, onCancel) => { + try { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + const headers = await getHeaders(config, options); + + if (!onCancel.isCancelled) { + const response = await sendRequest(config, options, url, body, formData, headers, onCancel); + const responseBody = await getResponseBody(response); + const responseHeader = getResponseHeader(response, options.responseHeader); + + const result: ApiResult = { + url, + ok: response.ok, + status: response.status, + statusText: response.statusText, + body: responseHeader ?? responseBody, + }; + + catchErrorCodes(options, result); + + resolve(result.body); + } + } catch (error) { + reject(error); + } + }); +};`},usePartial:!0,useData:!0},O0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const sendRequest = async ( + config: OpenAPIConfig, + options: ApiRequestOptions, + url: string, + body: any, + formData: FormData | undefined, + headers: Headers, + onCancel: OnCancel +): Promise => { + const controller = new AbortController(); + + const request: RequestInit = { + headers, + body: body ?? formData, + method: options.method, + signal: controller.signal, + }; + + if (config.WITH_CREDENTIALS) { + request.credentials = config.CREDENTIALS; + } + + onCancel(() => controller.abort()); + + return await fetch(url, request); +};`},useData:!0},w0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const base64 = (str: string): string => { + try { + return btoa(str); + } catch (err) { + // @ts-ignore + return Buffer.from(str).toString('base64'); + } +};`},useData:!0},k0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => { + const errors: Record = { + 400: 'Bad Request', + 401: 'Unauthorized', + 403: 'Forbidden', + 404: 'Not Found', + 500: 'Internal Server Error', + 502: 'Bad Gateway', + 503: 'Service Unavailable', + ...options.errors, + } + + const error = errors[result.status]; + if (error) { + throw new ApiError(options, result, error); + } + + if (!result.ok) { + const errorStatus = result.status ?? 'unknown'; + const errorStatusText = result.statusText ?? 'unknown'; + const errorBody = (() => { + try { + return JSON.stringify(result.body, null, 2); + } catch (e) { + return undefined; + } + })(); + + throw new ApiError(options, result, + \`Generic Error: status: \${errorStatus}; status text: \${errorStatusText}; body: \${errorBody}\` + ); + } +};`},useData:!0},C0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getFormData = (options: ApiRequestOptions): FormData | undefined => { + if (options.formData) { + const formData = new FormData(); + + const process = (key: string, value: any) => { + if (isString(value) || isBlob(value)) { + formData.append(key, value); + } else { + formData.append(key, JSON.stringify(value)); + } + }; + + Object.entries(options.formData) + .filter(([_, value]) => isDefined(value)) + .forEach(([key, value]) => { + if (Array.isArray(value)) { + value.forEach(v => process(key, v)); + } else { + process(key, value); + } + }); + + return formData; + } + return undefined; +};`},useData:!0},S0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getQueryString = (params: Record): string => { + const qs: string[] = []; + + const append = (key: string, value: any) => { + qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); + }; + + const process = (key: string, value: any) => { + if (isDefined(value)) { + if (Array.isArray(value)) { + value.forEach(v => { + process(key, v); + }); + } else if (typeof value === 'object') { + Object.entries(value).forEach(([k, v]) => { + process(\`\${key}[\${k}]\`, v); + }); + } else { + append(key, value); + } + } + }; + + Object.entries(params).forEach(([key, value]) => { + process(key, value); + }); + + if (qs.length > 0) { + return \`?\${qs.join('&')}\`; + } + + return ''; +};`},useData:!0},E0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { + const encoder = config.ENCODE_PATH || encodeURI; + + const path = options.url + .replace('{api-version}', config.VERSION) + .replace(/{(.*?)}/g, (substring: string, group: string) => { + if (options.path?.hasOwnProperty(group)) { + return encoder(String(options.path[group])); + } + return substring; + }); + + const url = \`\${config.BASE}\${path}\`; + if (options.query) { + return \`\${url}\${getQueryString(options.query)}\`; + } + return url; +};`},useData:!0},R0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const isBlob = (value: any): value is Blob => { + return ( + typeof value === 'object' && + typeof value.type === 'string' && + typeof value.stream === 'function' && + typeof value.arrayBuffer === 'function' && + typeof value.constructor === 'function' && + typeof value.constructor.name === 'string' && + /^(Blob|File)$/.test(value.constructor.name) && + /^(Blob|File)$/.test(value[Symbol.toStringTag]) + ); +};`},useData:!0},q0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const isDefined = (value: T | null | undefined): value is Exclude => { + return value !== undefined && value !== null; +};`},useData:!0},A0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const isFormData = (value: any): value is FormData => { + return value instanceof FormData; +};`},useData:!0},T0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const isString = (value: any): value is string => { + return typeof value === 'string'; +};`},useData:!0},I0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const isStringWithValue = (value: any): value is string => { + return isString(value) && value !== ''; +};`},useData:!0},_0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const isSuccess = (status: number): boolean => { + return status >= 200 && status < 300; +};`},useData:!0},j0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`type Resolver = (options: ApiRequestOptions) => Promise; + +export const resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => { + if (typeof resolver === 'function') { + return (resolver as Resolver)(options); + } + return resolver; +};`},useData:!0},D0={1:function(e,n,o,i,r){return`import { Inject, Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import type { Observable } from 'rxjs'; + +import type { ApiRequestOptions } from './ApiRequestOptions'; +import { BaseHttpRequest } from './BaseHttpRequest'; +import type { OpenAPIConfig } from './OpenAPI'; +import { OpenAPI } from './OpenAPI'; +import { request as __request } from './request'; +`},3:function(e,n,o,i,r){return`import type { ApiRequestOptions } from './ApiRequestOptions'; +import { BaseHttpRequest } from './BaseHttpRequest'; +import type { CancelablePromise } from './CancelablePromise'; +import type { OpenAPIConfig } from './OpenAPI'; +import { request as __request } from './request'; +`},5:function(e,n,o,i,r){return`@Injectable() +`},7:function(e,n,o,i,r){return` constructor( + @Inject(OpenAPI) + config: OpenAPIConfig, + http: HttpClient, + ) { + super(config, http); + } +`},9:function(e,n,o,i,r){return` constructor(config: OpenAPIConfig) { + super(config); + } +`},11:function(e,n,o,i,r){return` /** + * Request method + * @param options The request options from the service + * @returns Observable + * @throws ApiError + */ + public override request(options: ApiRequestOptions): Observable { + return __request(this.config, this.http, options); + } +`},13:function(e,n,o,i,r){return` /** + * Request method + * @param options The request options from the service + * @returns CancelablePromise + * @throws ApiError + */ + public override request(options: ApiRequestOptions): CancelablePromise { + return __request(this.config, options); + } +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=e.invokePartial(l(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:3,column:0},end:{line:19,column:11}}}))!=null?t:"")+` +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:21,column:0},end:{line:23,column:11}}}))!=null?t:"")+"export class "+((t=e.lambda(e.strict(n,"httpRequest",{start:{line:24,column:15},end:{line:24,column:26}}),n))!=null?t:"")+` extends BaseHttpRequest { + +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(7,r,0),inverse:e.program(9,r,0),data:r,loc:{start:{line:26,column:1},end:{line:38,column:12}}}))!=null?t:"")+` +`+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(11,r,0),inverse:e.program(13,r,0),data:r,loc:{start:{line:40,column:1},end:{line:60,column:12}}}))!=null?t:"")+"}"},usePartial:!0,useData:!0},N0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { + const token = await resolve(options, config.TOKEN); + const username = await resolve(options, config.USERNAME); + const password = await resolve(options, config.PASSWORD); + const additionalHeaders = await resolve(options, config.HEADERS); + + const headers = Object.entries({ + Accept: 'application/json', + ...additionalHeaders, + ...options.headers, + }) + .filter(([_, value]) => isDefined(value)) + .reduce((headers, [key, value]) => ({ + ...headers, + [key]: String(value), + }), {} as Record); + + if (isStringWithValue(token)) { + headers['Authorization'] = \`Bearer \${token}\`; + } + + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(\`\${username}:\${password}\`); + headers['Authorization'] = \`Basic \${credentials}\`; + } + + if (options.body) { + if (options.mediaType) { + headers['Content-Type'] = options.mediaType; + } else if (isBlob(options.body)) { + headers['Content-Type'] = 'application/octet-stream'; + } else if (isString(options.body)) { + headers['Content-Type'] = 'text/plain'; + } else if (!isFormData(options.body)) { + headers['Content-Type'] = 'application/json'; + } + } + + return new Headers(headers); +};`},useData:!0},H0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getRequestBody = (options: ApiRequestOptions): any => { + if (options.body !== undefined) { + if (options.mediaType?.includes('/json')) { + return JSON.stringify(options.body) + } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { + return options.body as any; + } else { + return JSON.stringify(options.body); + } + } + return undefined; +};`},useData:!0},F0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseBody = async (response: Response): Promise => { + if (response.status !== 204) { + try { + const contentType = response.headers.get('Content-Type'); + if (contentType) { + const jsonTypes = ['application/json', 'application/problem+json'] + const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); + if (isJSON) { + return await response.json(); + } else { + return await response.text(); + } + } + } catch (error) { + console.error(error); + } + } + return undefined; +};`},useData:!0},$0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => { + if (responseHeader) { + const content = response.headers.get(responseHeader); + if (isString(content)) { + return content; + } + } + return undefined; +};`},useData:!0},L0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +import FormData from 'form-data'; +import fetch, { Headers } from 'node-fetch'; +import type { RequestInit, Response } from 'node-fetch'; +import type { AbortSignal } from 'node-fetch/externals'; + +import { ApiError } from './ApiError'; +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; +import { CancelablePromise } from './CancelablePromise'; +import type { OnCancel } from './CancelablePromise'; +import type { OpenAPIConfig } from './OpenAPI'; + +`+((t=e.invokePartial(a(i,"functions/isDefined"),n,{name:"functions/isDefined",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isString"),n,{name:"functions/isString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isBlob"),n,{name:"functions/isBlob",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isFormData"),n,{name:"functions/isFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/base64"),n,{name:"functions/base64",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getQueryString"),n,{name:"functions/getQueryString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getUrl"),n,{name:"functions/getUrl",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getFormData"),n,{name:"functions/getFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/resolve"),n,{name:"functions/resolve",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"node/getHeaders"),n,{name:"node/getHeaders",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"node/getRequestBody"),n,{name:"node/getRequestBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"node/sendRequest"),n,{name:"node/sendRequest",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"node/getResponseHeader"),n,{name:"node/getResponseHeader",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"node/getResponseBody"),n,{name:"node/getResponseBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +/** + * Request method + * @param config The OpenAPI configuration object + * @param options The request options from the service + * @returns CancelablePromise + * @throws ApiError + */ +export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { + return new CancelablePromise(async (resolve, reject, onCancel) => { + try { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + const headers = await getHeaders(config, options); + + if (!onCancel.isCancelled) { + const response = await sendRequest(options, url, body, formData, headers, onCancel); + const responseBody = await getResponseBody(response); + const responseHeader = getResponseHeader(response, options.responseHeader); + + const result: ApiResult = { + url, + ok: response.ok, + status: response.status, + statusText: response.statusText, + body: responseHeader ?? responseBody, + }; + + catchErrorCodes(options, result); + + resolve(result.body); + } + } catch (error) { + reject(error); + } + }); +};`},usePartial:!0,useData:!0},M0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const sendRequest = async ( + options: ApiRequestOptions, + url: string, + body: any, + formData: FormData | undefined, + headers: Headers, + onCancel: OnCancel +): Promise => { + const controller = new AbortController(); + + const request: RequestInit = { + headers, + method: options.method, + body: body ?? formData, + signal: controller.signal as AbortSignal, + }; + + onCancel(() => controller.abort()); + + return await fetch(url, request); +};`},useData:!0},B0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return((t=e.invokePartial(s(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +import type { ApiRequestOptions } from './ApiRequestOptions'; + +type Resolver = (options: ApiRequestOptions) => Promise; +type Headers = Record; + +export type OpenAPIConfig = { + BASE: string; + VERSION: string; + WITH_CREDENTIALS: boolean; + CREDENTIALS: 'include' | 'omit' | 'same-origin'; + TOKEN?: string | Resolver | undefined; + USERNAME?: string | Resolver | undefined; + PASSWORD?: string | Resolver | undefined; + HEADERS?: Headers | Resolver | undefined; + ENCODE_PATH?: ((path: string) => string) | undefined; +}; + +export const OpenAPI: OpenAPIConfig = { + BASE: '`+((t=l(a(n,"server",{start:{line:21,column:11},end:{line:21,column:17}}),n))!=null?t:"")+`', + VERSION: '`+((t=l(a(n,"version",{start:{line:22,column:14},end:{line:22,column:21}}),n))!=null?t:"")+`', + WITH_CREDENTIALS: false, + CREDENTIALS: 'include', + TOKEN: undefined, + USERNAME: undefined, + PASSWORD: undefined, + HEADERS: undefined, + ENCODE_PATH: undefined, +};`},usePartial:!0,useData:!0},U0={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"fetch/request"),n,{name:"fetch/request",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"xhr/request"),n,{name:"xhr/request",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},5:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"axios/request"),n,{name:"axios/request",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},7:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"angular/request"),n,{name:"angular/request",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},9:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"node/request"),n,{name:"node/request",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:1,column:67}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,r,0),inverse:e.noop,data:r,loc:{start:{line:2,column:0},end:{line:2,column:63}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"axios",{name:"equals",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:3,column:67}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:4,column:0},end:{line:4,column:71}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(9,r,0),inverse:e.noop,data:r,loc:{start:{line:5,column:0},end:{line:5,column:65}}}))!=null?t:"")},usePartial:!0,useData:!0},W0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { + const token = await resolve(options, config.TOKEN); + const username = await resolve(options, config.USERNAME); + const password = await resolve(options, config.PASSWORD); + const additionalHeaders = await resolve(options, config.HEADERS); + + const headers = Object.entries({ + Accept: 'application/json', + ...additionalHeaders, + ...options.headers, + }) + .filter(([_, value]) => isDefined(value)) + .reduce((headers, [key, value]) => ({ + ...headers, + [key]: String(value), + }), {} as Record); + + if (isStringWithValue(token)) { + headers['Authorization'] = \`Bearer \${token}\`; + } + + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(\`\${username}:\${password}\`); + headers['Authorization'] = \`Basic \${credentials}\`; + } + + if (options.body) { + if (options.mediaType) { + headers['Content-Type'] = options.mediaType; + } else if (isBlob(options.body)) { + headers['Content-Type'] = options.body.type || 'application/octet-stream'; + } else if (isString(options.body)) { + headers['Content-Type'] = 'text/plain'; + } else if (!isFormData(options.body)) { + headers['Content-Type'] = 'application/json'; + } + } + + return new Headers(headers); +};`},useData:!0},V0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getRequestBody = (options: ApiRequestOptions): any => { + if (options.body !== undefined) { + if (options.mediaType?.includes('/json')) { + return JSON.stringify(options.body) + } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { + return options.body; + } else { + return JSON.stringify(options.body); + } + } + return undefined; +};`},useData:!0},Y0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseBody = (xhr: XMLHttpRequest): any => { + if (xhr.status !== 204) { + try { + const contentType = xhr.getResponseHeader('Content-Type'); + if (contentType) { + const jsonTypes = ['application/json', 'application/problem+json'] + const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); + if (isJSON) { + return JSON.parse(xhr.responseText); + } else { + return xhr.responseText; + } + } + } catch (error) { + console.error(error); + } + } + return undefined; +};`},useData:!0},J0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const getResponseHeader = (xhr: XMLHttpRequest, responseHeader?: string): string | undefined => { + if (responseHeader) { + const content = xhr.getResponseHeader(responseHeader); + if (isString(content)) { + return content; + } + } + return undefined; +};`},useData:!0},G0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +import { ApiError } from './ApiError'; +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; +import { CancelablePromise } from './CancelablePromise'; +import type { OnCancel } from './CancelablePromise'; +import type { OpenAPIConfig } from './OpenAPI'; + +`+((t=e.invokePartial(a(i,"functions/isDefined"),n,{name:"functions/isDefined",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isString"),n,{name:"functions/isString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isBlob"),n,{name:"functions/isBlob",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isFormData"),n,{name:"functions/isFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/isSuccess"),n,{name:"functions/isSuccess",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/base64"),n,{name:"functions/base64",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getQueryString"),n,{name:"functions/getQueryString",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getUrl"),n,{name:"functions/getUrl",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/getFormData"),n,{name:"functions/getFormData",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/resolve"),n,{name:"functions/resolve",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"xhr/getRequestBody"),n,{name:"xhr/getRequestBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"xhr/sendRequest"),n,{name:"xhr/sendRequest",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"xhr/getResponseHeader"),n,{name:"xhr/getResponseHeader",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"xhr/getResponseBody"),n,{name:"xhr/getResponseBody",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +`+((t=e.invokePartial(a(i,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` + +/** + * Request method + * @param config The OpenAPI configuration object + * @param options The request options from the service + * @returns CancelablePromise + * @throws ApiError + */ +export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { + return new CancelablePromise(async (resolve, reject, onCancel) => { + try { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + const headers = await getHeaders(config, options); + + if (!onCancel.isCancelled) { + const response = await sendRequest(config, options, url, body, formData, headers, onCancel); + const responseBody = getResponseBody(response); + const responseHeader = getResponseHeader(response, options.responseHeader); + + const result: ApiResult = { + url, + ok: isSuccess(response.status), + status: response.status, + statusText: response.statusText, + body: responseHeader ?? responseBody, + }; + + catchErrorCodes(options, result); + + resolve(result.body); + } + } catch (error) { + reject(error); + } + }); +};`},usePartial:!0,useData:!0},K0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`export const sendRequest = async ( + config: OpenAPIConfig, + options: ApiRequestOptions, + url: string, + body: any, + formData: FormData | undefined, + headers: Headers, + onCancel: OnCancel +): Promise => { + const xhr = new XMLHttpRequest(); + xhr.open(options.method, url, true); + xhr.withCredentials = config.WITH_CREDENTIALS; + + headers.forEach((value, key) => { + xhr.setRequestHeader(key, value); + }); + + return new Promise((resolve, reject) => { + xhr.onload = () => resolve(xhr); + xhr.onabort = () => reject(new Error('Request aborted')); + xhr.onerror = () => reject(new Error('Network error')); + xhr.send(body ?? formData); + + onCancel(() => xhr.abort()); + }); +};`},useData:!0},z0={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"imports"),{name:"each",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:5,column:0},end:{line:7,column:9}}}))!=null?t:"")},2:function(e,n,o,i,r){var t,a=e.lambda;return"import type { "+((t=a(n,n))!=null?t:"")+" } from './"+((t=a(n,n))!=null?t:"")+`'; +`},4:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"exportInterface"),n,{name:"exportInterface",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},6:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(7,r,0),inverse:e.program(9,r,0),data:r,loc:{start:{line:12,column:0},end:{line:26,column:0}}}))!=null?t:""},7:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"exportComposition"),n,{name:"exportComposition",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},9:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(7,r,0),inverse:e.program(10,r,0),data:r,loc:{start:{line:14,column:0},end:{line:26,column:0}}}))!=null?t:""},10:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(7,r,0),inverse:e.program(11,r,0),data:r,loc:{start:{line:16,column:0},end:{line:26,column:0}}}))!=null?t:""},11:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(12,r,0),inverse:e.program(13,r,0),data:r,loc:{start:{line:18,column:0},end:{line:26,column:0}}}))!=null?t:""},12:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(a(r,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(13,r,0),inverse:e.program(15,r,0),data:r,loc:{start:{line:19,column:0},end:{line:23,column:7}}}))!=null?t:""},13:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"exportType"),n,{name:"exportType",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},15:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"exportEnum"),n,{name:"exportEnum",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=e.invokePartial(l(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +`+((t=l(o,"if").call(a,l(n,"imports"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:8,column:7}}}))!=null?t:"")+` +`+((t=l(o,"equals").call(a,l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(4,r,0),inverse:e.program(6,r,0),data:r,loc:{start:{line:10,column:0},end:{line:26,column:11}}}))!=null?t:"")},usePartial:!0,useData:!0},Q0={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +export const $`+((t=e.lambda(e.strict(n,"name",{start:{line:3,column:17},end:{line:3,column:21}}),n))!=null?t:"")+" = "+((t=e.invokePartial(a(i,"schema"),n,{name:"schema",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+" as const;"},usePartial:!0,useData:!0},X0={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=a(o,"if").call(n??(e.nullContext||{}),a(a(r,"root"),"exportClient"),{name:"if",hash:{},fn:e.program(2,r,0),inverse:e.program(4,r,0),data:r,loc:{start:{line:4,column:0},end:{line:11,column:7}}}))!=null?t:"")+` +`},2:function(e,n,o,i,r){return`import { Injectable } from '@angular/core'; +import type { Observable } from 'rxjs'; +`},4:function(e,n,o,i,r){return`import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import type { Observable } from 'rxjs'; +`},6:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"imports"),{name:"each",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:15,column:0},end:{line:17,column:9}}}))!=null?t:"")+` +`},7:function(e,n,o,i,r){var t,a=e.lambda;return"import type { "+((t=a(n,n))!=null?t:"")+" } from '../models/"+((t=a(n,n))!=null?t:"")+`'; +`},9:function(e,n,o,i,r){return`import type { CancelablePromise } from '../core/CancelablePromise'; +`},11:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(a(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(12,r,0),inverse:e.program(14,r,0),data:r,loc:{start:{line:24,column:0},end:{line:28,column:11}}}))!=null?t:""},12:function(e,n,o,i,r){return`import { BaseHttpRequest } from '../core/BaseHttpRequest'; +`},14:function(e,n,o,i,r){return`import type { BaseHttpRequest } from '../core/BaseHttpRequest'; +`},16:function(e,n,o,i,r){return`import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +`},18:function(e,n,o,i,r){return`@Injectable({ + providedIn: 'root', +}) +`},20:function(e,n,o,i,r){return` + constructor(public readonly httpRequest: BaseHttpRequest) {} +`},22:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(a(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(23,r,0),inverse:e.noop,data:r,loc:{start:{line:44,column:1},end:{line:47,column:12}}}))!=null?t:""},23:function(e,n,o,i,r){return` + constructor(public readonly http: HttpClient) {} +`},25:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.strict,s=e.lambda,u=e.lookupProperty||function(p,c){if(Object.prototype.hasOwnProperty.call(p,c))return p[c]};return` /** +`+((t=u(o,"if").call(a,u(n,"deprecated"),{name:"if",hash:{},fn:e.program(26,r,0),inverse:e.noop,data:r,loc:{start:{line:52,column:1},end:{line:54,column:8}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"summary"),{name:"if",hash:{},fn:e.program(28,r,0),inverse:e.noop,data:r,loc:{start:{line:55,column:1},end:{line:57,column:8}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"description"),{name:"if",hash:{},fn:e.program(30,r,0),inverse:e.noop,data:r,loc:{start:{line:58,column:1},end:{line:60,column:8}}}))!=null?t:"")+((t=u(o,"unless").call(a,u(u(r,"root"),"useOptions"),{name:"unless",hash:{},fn:e.program(32,r,0),inverse:e.noop,data:r,loc:{start:{line:61,column:1},end:{line:67,column:12}}}))!=null?t:"")+((t=u(o,"each").call(a,u(n,"results"),{name:"each",hash:{},fn:e.program(37,r,0),inverse:e.noop,data:r,loc:{start:{line:68,column:1},end:{line:70,column:10}}}))!=null?t:"")+` * @throws ApiError + */ +`+((t=u(o,"if").call(a,u(u(r,"root"),"exportClient"),{name:"if",hash:{},fn:e.program(39,r,0),inverse:e.program(44,r,0),data:r,loc:{start:{line:73,column:1},end:{line:89,column:8}}}))!=null?t:"")+" method: '"+((t=s(l(n,"method",{start:{line:90,column:15},end:{line:90,column:21}}),n))!=null?t:"")+`', + url: '`+((t=s(l(n,"path",{start:{line:91,column:12},end:{line:91,column:16}}),n))!=null?t:"")+`', +`+((t=u(o,"if").call(a,u(n,"parametersPath"),{name:"if",hash:{},fn:e.program(49,r,0),inverse:e.noop,data:r,loc:{start:{line:92,column:3},end:{line:98,column:10}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"parametersCookie"),{name:"if",hash:{},fn:e.program(52,r,0),inverse:e.noop,data:r,loc:{start:{line:99,column:3},end:{line:105,column:10}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"parametersHeader"),{name:"if",hash:{},fn:e.program(54,r,0),inverse:e.noop,data:r,loc:{start:{line:106,column:3},end:{line:112,column:10}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"parametersQuery"),{name:"if",hash:{},fn:e.program(56,r,0),inverse:e.noop,data:r,loc:{start:{line:113,column:3},end:{line:119,column:10}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"parametersForm"),{name:"if",hash:{},fn:e.program(58,r,0),inverse:e.noop,data:r,loc:{start:{line:120,column:3},end:{line:126,column:10}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"parametersBody"),{name:"if",hash:{},fn:e.program(60,r,0),inverse:e.noop,data:r,loc:{start:{line:127,column:3},end:{line:137,column:10}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"responseHeader"),{name:"if",hash:{},fn:e.program(67,r,0),inverse:e.noop,data:r,loc:{start:{line:138,column:3},end:{line:140,column:10}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"errors"),{name:"if",hash:{},fn:e.program(69,r,0),inverse:e.noop,data:r,loc:{start:{line:141,column:3},end:{line:147,column:10}}}))!=null?t:"")+` }); + } + +`},26:function(e,n,o,i,r){return` * @deprecated +`},28:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"summary"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:56,column:4},end:{line:56,column:31}}}))!=null?t:"")+` +`},30:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:59,column:4},end:{line:59,column:35}}}))!=null?t:"")+` +`},32:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"parameters"),{name:"if",hash:{},fn:e.program(33,r,0),inverse:e.noop,data:r,loc:{start:{line:62,column:1},end:{line:66,column:8}}}))!=null?t:""},33:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"each").call(n??(e.nullContext||{}),a(n,"parameters"),{name:"each",hash:{},fn:e.program(34,r,0),inverse:e.noop,data:r,loc:{start:{line:63,column:1},end:{line:65,column:10}}}))!=null?t:""},34:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * @param "+((t=e.lambda(e.strict(n,"name",{start:{line:64,column:14},end:{line:64,column:18}}),n))!=null?t:"")+" "+((t=a(o,"if").call(n??(e.nullContext||{}),a(n,"description"),{name:"if",hash:{},fn:e.program(35,r,0),inverse:e.noop,data:r,loc:{start:{line:64,column:22},end:{line:64,column:79}}}))!=null?t:"")+` +`},35:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:64,column:41},end:{line:64,column:72}}}))!=null?t:""},37:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * @returns "+((t=e.lambda(e.strict(n,"type",{start:{line:69,column:16},end:{line:69,column:20}}),n))!=null?t:"")+" "+((t=a(o,"if").call(n??(e.nullContext||{}),a(n,"description"),{name:"if",hash:{},fn:e.program(35,r,0),inverse:e.noop,data:r,loc:{start:{line:69,column:24},end:{line:69,column:81}}}))!=null?t:"")+` +`},39:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(a(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(40,r,0),inverse:e.program(42,r,0),data:r,loc:{start:{line:74,column:1},end:{line:80,column:12}}}))!=null?t:""},40:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" public "+((t=e.lambda(e.strict(n,"name",{start:{line:75,column:11},end:{line:75,column:15}}),n))!=null?t:"")+"("+((t=e.invokePartial(a(i,"parameters"),n,{name:"parameters",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+"): Observable<"+((t=e.invokePartial(a(i,"result"),n,{name:"result",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`> { + return this.httpRequest.request({ +`},42:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" public "+((t=e.lambda(e.strict(n,"name",{start:{line:78,column:11},end:{line:78,column:15}}),n))!=null?t:"")+"("+((t=e.invokePartial(a(i,"parameters"),n,{name:"parameters",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+"): CancelablePromise<"+((t=e.invokePartial(a(i,"result"),n,{name:"result",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`> { + return this.httpRequest.request({ +`},44:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(a(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(45,r,0),inverse:e.program(47,r,0),data:r,loc:{start:{line:82,column:1},end:{line:88,column:12}}}))!=null?t:""},45:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" public "+((t=e.lambda(e.strict(n,"name",{start:{line:83,column:11},end:{line:83,column:15}}),n))!=null?t:"")+"("+((t=e.invokePartial(a(i,"parameters"),n,{name:"parameters",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+"): Observable<"+((t=e.invokePartial(a(i,"result"),n,{name:"result",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`> { + return __request(OpenAPI, this.http, { +`},47:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" public static "+((t=e.lambda(e.strict(n,"name",{start:{line:86,column:18},end:{line:86,column:22}}),n))!=null?t:"")+"("+((t=e.invokePartial(a(i,"parameters"),n,{name:"parameters",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+"): CancelablePromise<"+((t=e.invokePartial(a(i,"result"),n,{name:"result",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`> { + return __request(OpenAPI, { +`},49:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` path: { +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"parametersPath"),{name:"each",hash:{},fn:e.program(50,r,0),inverse:e.noop,data:r,loc:{start:{line:94,column:4},end:{line:96,column:13}}}))!=null?t:"")+` }, +`},50:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda;return" '"+((t=l(a(n,"prop",{start:{line:95,column:8},end:{line:95,column:12}}),n))!=null?t:"")+"': "+((t=l(a(n,"name",{start:{line:95,column:21},end:{line:95,column:25}}),n))!=null?t:"")+`, +`},52:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` cookies: { +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"parametersCookie"),{name:"each",hash:{},fn:e.program(50,r,0),inverse:e.noop,data:r,loc:{start:{line:101,column:4},end:{line:103,column:13}}}))!=null?t:"")+` }, +`},54:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` headers: { +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"parametersHeader"),{name:"each",hash:{},fn:e.program(50,r,0),inverse:e.noop,data:r,loc:{start:{line:108,column:4},end:{line:110,column:13}}}))!=null?t:"")+` }, +`},56:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` query: { +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"parametersQuery"),{name:"each",hash:{},fn:e.program(50,r,0),inverse:e.noop,data:r,loc:{start:{line:115,column:4},end:{line:117,column:13}}}))!=null?t:"")+` }, +`},58:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` formData: { +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"parametersForm"),{name:"each",hash:{},fn:e.program(50,r,0),inverse:e.noop,data:r,loc:{start:{line:122,column:4},end:{line:124,column:13}}}))!=null?t:"")+` }, +`},60:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=l(o,"equals").call(a,l(l(n,"parametersBody"),"in"),"formData",{name:"equals",hash:{},fn:e.program(61,r,0),inverse:e.noop,data:r,loc:{start:{line:128,column:3},end:{line:130,column:14}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(n,"parametersBody"),"in"),"body",{name:"equals",hash:{},fn:e.program(63,r,0),inverse:e.noop,data:r,loc:{start:{line:131,column:3},end:{line:133,column:14}}}))!=null?t:"")+((t=l(o,"if").call(a,l(l(n,"parametersBody"),"mediaType"),{name:"if",hash:{},fn:e.program(65,r,0),inverse:e.noop,data:r,loc:{start:{line:134,column:3},end:{line:136,column:10}}}))!=null?t:"")},61:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" formData: "+((t=e.lambda(e.strict(a(n,"parametersBody"),"name",{start:{line:129,column:16},end:{line:129,column:35}}),n))!=null?t:"")+`, +`},63:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" body: "+((t=e.lambda(e.strict(a(n,"parametersBody"),"name",{start:{line:132,column:12},end:{line:132,column:31}}),n))!=null?t:"")+`, +`},65:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" mediaType: '"+((t=e.lambda(e.strict(a(n,"parametersBody"),"mediaType",{start:{line:135,column:18},end:{line:135,column:42}}),n))!=null?t:"")+`', +`},67:function(e,n,o,i,r){var t;return" responseHeader: '"+((t=e.lambda(e.strict(n,"responseHeader",{start:{line:139,column:23},end:{line:139,column:37}}),n))!=null?t:"")+`', +`},69:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` errors: { +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"errors"),{name:"each",hash:{},fn:e.program(70,r,0),inverse:e.noop,data:r,loc:{start:{line:143,column:4},end:{line:145,column:13}}}))!=null?t:"")+` }, +`},70:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" "+((t=e.lambda(e.strict(n,"code",{start:{line:144,column:7},end:{line:144,column:11}}),n))!=null?t:"")+": `"+((t=a(o,"escapeDescription").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeDescription",hash:{},data:r,loc:{start:{line:144,column:17},end:{line:144,column:52}}}))!=null?t:"")+"`,\n"},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.strict,s=e.lambda,u=e.lookupProperty||function(p,c){if(Object.prototype.hasOwnProperty.call(p,c))return p[c]};return((t=e.invokePartial(u(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +`+((t=u(o,"equals").call(a,u(u(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:13,column:11}}}))!=null?t:"")+((t=u(o,"if").call(a,u(n,"imports"),{name:"if",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:14,column:0},end:{line:19,column:7}}}))!=null?t:"")+((t=u(o,"notEquals").call(a,u(u(r,"root"),"httpClient"),"angular",{name:"notEquals",hash:{},fn:e.program(9,r,0),inverse:e.noop,data:r,loc:{start:{line:20,column:0},end:{line:22,column:14}}}))!=null?t:"")+((t=u(o,"if").call(a,u(u(r,"root"),"exportClient"),{name:"if",hash:{},fn:e.program(11,r,0),inverse:e.program(16,r,0),data:r,loc:{start:{line:23,column:0},end:{line:32,column:7}}}))!=null?t:"")+` +`+((t=u(o,"equals").call(a,u(u(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(18,r,0),inverse:e.noop,data:r,loc:{start:{line:34,column:0},end:{line:38,column:11}}}))!=null?t:"")+"export class "+((t=s(l(n,"name",{start:{line:39,column:16},end:{line:39,column:20}}),n))!=null?t:"")+((t=s(l(u(r,"root"),"postfix",{start:{line:39,column:26},end:{line:39,column:39}}),n))!=null?t:"")+` { +`+((t=u(o,"if").call(a,u(u(r,"root"),"exportClient"),{name:"if",hash:{},fn:e.program(20,r,0),inverse:e.program(22,r,0),data:r,loc:{start:{line:40,column:1},end:{line:48,column:8}}}))!=null?t:"")+` +`+((t=u(o,"each").call(a,u(n,"operations"),{name:"each",hash:{},fn:e.program(25,r,0),inverse:e.noop,data:r,loc:{start:{line:50,column:1},end:{line:151,column:10}}}))!=null?t:"")+"}"},usePartial:!0,useData:!0},Z0={1:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda;return"export { "+((t=l(a(n,"clientName",{start:{line:4,column:12},end:{line:4,column:22}}),n))!=null?t:"")+" } from './"+((t=l(a(n,"clientName",{start:{line:4,column:39},end:{line:4,column:49}}),n))!=null?t:"")+`'; + +`},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return`export { ApiError } from './core/ApiError'; +`+((t=a(o,"if").call(n??(e.nullContext||{}),a(a(r,"root"),"exportClient"),{name:"if",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))!=null?t:"")+`export { CancelablePromise, CancelError } from './core/CancelablePromise'; +export { OpenAPI } from './core/OpenAPI'; +export type { OpenAPIConfig } from './core/OpenAPI'; +`},4:function(e,n,o,i,r){return`export { BaseHttpRequest } from './core/BaseHttpRequest'; +`},6:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"models"),{name:"if",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:17,column:0},end:{line:30,column:7}}}))!=null?t:""},7:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"models"),{name:"each",hash:{},fn:e.program(8,r,0),inverse:e.noop,data:r,loc:{start:{line:19,column:0},end:{line:29,column:9}}}))!=null?t:"")},8:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(a(r,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(9,r,0),inverse:e.program(12,r,0),data:r,loc:{start:{line:20,column:0},end:{line:28,column:7}}}))!=null?t:""},9:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return"export type { "+((t=l(a(n,"name",{start:{line:21,column:17},end:{line:21,column:21}}),n))!=null?t:"")+((t=s(o,"if").call(n??(e.nullContext||{}),s(s(r,"root"),"postfixModels"),{name:"if",hash:{},fn:e.program(10,r,0),inverse:e.noop,data:r,loc:{start:{line:21,column:24},end:{line:21,column:97}}}))!=null?t:"")+" } from './models/"+((t=l(a(n,"name",{start:{line:21,column:118},end:{line:21,column:122}}),n))!=null?t:"")+`'; +`},10:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return" as "+((t=l(a(n,"name",{start:{line:21,column:58},end:{line:21,column:62}}),n))!=null?t:"")+((t=l(a(s(r,"root"),"postfixModels",{start:{line:21,column:68},end:{line:21,column:87}}),n))!=null?t:"")},12:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"enum"),{name:"if",hash:{},fn:e.program(13,r,0),inverse:e.program(15,r,0),data:r,loc:{start:{line:22,column:0},end:{line:28,column:0}}}))!=null?t:""},13:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return"export { "+((t=l(a(n,"name",{start:{line:23,column:12},end:{line:23,column:16}}),n))!=null?t:"")+((t=s(o,"if").call(n??(e.nullContext||{}),s(s(r,"root"),"postfixModels"),{name:"if",hash:{},fn:e.program(10,r,0),inverse:e.noop,data:r,loc:{start:{line:23,column:19},end:{line:23,column:92}}}))!=null?t:"")+" } from './models/"+((t=l(a(n,"name",{start:{line:23,column:113},end:{line:23,column:117}}),n))!=null?t:"")+`'; +`},15:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"enums"),{name:"if",hash:{},fn:e.program(13,r,0),inverse:e.program(9,r,0),data:r,loc:{start:{line:24,column:0},end:{line:28,column:0}}}))!=null?t:""},17:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"models"),{name:"if",hash:{},fn:e.program(18,r,0),inverse:e.noop,data:r,loc:{start:{line:33,column:0},end:{line:38,column:7}}}))!=null?t:""},18:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"models"),{name:"each",hash:{},fn:e.program(19,r,0),inverse:e.noop,data:r,loc:{start:{line:35,column:0},end:{line:37,column:9}}}))!=null?t:"")},19:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda;return"export { $"+((t=l(a(n,"name",{start:{line:36,column:13},end:{line:36,column:17}}),n))!=null?t:"")+" } from './schemas/$"+((t=l(a(n,"name",{start:{line:36,column:43},end:{line:36,column:47}}),n))!=null?t:"")+`'; +`},21:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"services"),{name:"if",hash:{},fn:e.program(22,r,0),inverse:e.noop,data:r,loc:{start:{line:41,column:0},end:{line:46,column:7}}}))!=null?t:""},22:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"services"),{name:"each",hash:{},fn:e.program(23,r,0),inverse:e.noop,data:r,loc:{start:{line:43,column:0},end:{line:45,column:9}}}))!=null?t:"")},23:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return"export { "+((t=l(a(n,"name",{start:{line:44,column:12},end:{line:44,column:16}}),n))!=null?t:"")+((t=l(a(s(r,"root"),"postfixServices",{start:{line:44,column:22},end:{line:44,column:43}}),n))!=null?t:"")+" } from './services/"+((t=l(a(n,"name",{start:{line:44,column:69},end:{line:44,column:73}}),n))!=null?t:"")+((t=l(a(s(r,"root"),"postfixServices",{start:{line:44,column:79},end:{line:44,column:100}}),n))!=null?t:"")+`'; +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=e.invokePartial(l(i,"header"),n,{name:"header",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+` +`+((t=l(o,"if").call(a,l(l(r,"root"),"exportClient"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:6,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(l(r,"root"),"exportCore"),{name:"if",hash:{},fn:e.program(3,r,0),inverse:e.noop,data:r,loc:{start:{line:7,column:0},end:{line:15,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(l(r,"root"),"exportModels"),{name:"if",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:16,column:0},end:{line:31,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(l(r,"root"),"exportSchemas"),{name:"if",hash:{},fn:e.program(17,r,0),inverse:e.noop,data:r,loc:{start:{line:32,column:0},end:{line:39,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(l(r,"root"),"exportServices"),{name:"if",hash:{},fn:e.program(21,r,0),inverse:e.noop,data:r,loc:{start:{line:40,column:0},end:{line:47,column:7}}}))!=null?t:"")},usePartial:!0,useData:!0},ev={1:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:2,column:0},end:{line:2,column:53}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:3,column:51}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"axios",{name:"equals",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:4,column:0},end:{line:4,column:53}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"angular",{name:"equals",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:5,column:0},end:{line:5,column:55}}}))!=null?t:"")+((t=l(o,"equals").call(a,l(l(r,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:0},end:{line:6,column:52}}}))!=null?t:"")},2:function(e,n,o,i,r){return"Blob"},4:function(e,n,o,i,r){var t;return(t=e.lambda(e.strict(n,"base",{start:{line:8,column:3},end:{line:8,column:7}}),n))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"base"),"binary",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(4,r,0),data:r,loc:{start:{line:1,column:0},end:{line:9,column:13}}}))!=null?t:""},useData:!0},nv={1:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`/** +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"deprecated"),{name:"if",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))!=null?t:"")+` */ +`},2:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:4,column:3},end:{line:4,column:34}}}))!=null?t:"")+` +`},4:function(e,n,o,i,r){return` * @deprecated +`},6:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"unless").call(n??(e.nullContext||{}),a(a(r,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:13,column:0},end:{line:37,column:11}}}))!=null?t:""},7:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` +export namespace `+((t=e.lambda(e.strict(n,"name",{start:{line:15,column:20},end:{line:15,column:24}}),n))!=null?t:"")+` { + +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"enums"),{name:"each",hash:{},fn:e.program(8,r,0),inverse:e.noop,data:r,loc:{start:{line:17,column:1},end:{line:34,column:10}}}))!=null?t:"")+` +} +`},8:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=l(o,"ifdef").call(a,l(n,"description"),l(n,"deprecated"),{name:"ifdef",hash:{},fn:e.program(9,r,0),inverse:e.noop,data:r,loc:{start:{line:18,column:1},end:{line:27,column:11}}}))!=null?t:"")+" export enum "+((t=e.lambda(e.strict(n,"name",{start:{line:28,column:16},end:{line:28,column:20}}),n))!=null?t:"")+` { +`+((t=l(o,"each").call(a,l(n,"enum"),{name:"each",hash:{},fn:e.program(14,r,0),inverse:e.noop,data:r,loc:{start:{line:29,column:2},end:{line:31,column:11}}}))!=null?t:"")+` } + +`},9:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return` /** +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(10,r,0),inverse:e.noop,data:r,loc:{start:{line:20,column:1},end:{line:22,column:8}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"deprecated"),{name:"if",hash:{},fn:e.program(12,r,0),inverse:e.noop,data:r,loc:{start:{line:23,column:1},end:{line:25,column:8}}}))!=null?t:"")+` */ +`},10:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:21,column:4},end:{line:21,column:35}}}))!=null?t:"")+` +`},12:function(e,n,o,i,r){return` * @deprecated +`},14:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda;return" "+((t=l(a(n,"name",{start:{line:30,column:5},end:{line:30,column:9}}),n))!=null?t:"")+" = "+((t=l(a(n,"value",{start:{line:30,column:18},end:{line:30,column:23}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=l(o,"ifdef").call(a,l(n,"description"),l(n,"deprecated"),{name:"ifdef",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:10,column:10}}}))!=null?t:"")+"export type "+((t=e.lambda(e.strict(n,"name",{start:{line:11,column:15},end:{line:11,column:19}}),n))!=null?t:"")+" = "+((t=e.invokePartial(l(i,"type"),n,{name:"type",hash:{parent:l(n,"name")},data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`; +`+((t=l(o,"if").call(a,l(n,"enums"),{name:"if",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:12,column:0},end:{line:38,column:7}}}))!=null?t:"")},usePartial:!0,useData:!0},tv={1:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`/** +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"deprecated"),{name:"if",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))!=null?t:"")+` */ +`},2:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:4,column:3},end:{line:4,column:34}}}))!=null?t:"")+` +`},4:function(e,n,o,i,r){return` * @deprecated +`},6:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:13,column:1},end:{line:17,column:8}}}))!=null?t:"")+((t=l(o,"containsSpaces").call(a,l(n,"name"),{name:"containsSpaces",hash:{},fn:e.program(9,r,0),inverse:e.program(11,r,0),data:r,loc:{start:{line:18,column:1},end:{line:22,column:20}}}))!=null?t:"")},7:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` /** + * `+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:15,column:4},end:{line:15,column:35}}}))!=null?t:"")+` + */ +`},9:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda;return" '"+((t=l(a(n,"name",{start:{line:19,column:5},end:{line:19,column:9}}),n))!=null?t:"")+"' = "+((t=l(a(n,"value",{start:{line:19,column:19},end:{line:19,column:24}}),n))!=null?t:"")+`, +`},11:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda;return" "+((t=l(a(n,"name",{start:{line:21,column:4},end:{line:21,column:8}}),n))!=null?t:"")+" = "+((t=l(a(n,"value",{start:{line:21,column:17},end:{line:21,column:22}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=l(o,"ifdef").call(a,l(n,"description"),l(n,"deprecated"),{name:"ifdef",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:10,column:10}}}))!=null?t:"")+"export enum "+((t=e.lambda(e.strict(n,"name",{start:{line:11,column:15},end:{line:11,column:19}}),n))!=null?t:"")+` { +`+((t=l(o,"each").call(a,l(n,"enum"),{name:"each",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:12,column:1},end:{line:23,column:10}}}))!=null?t:"")+"}"},useData:!0},rv={1:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`/** +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"deprecated"),{name:"if",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))!=null?t:"")+` */ +`},2:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:4,column:3},end:{line:4,column:34}}}))!=null?t:"")+` +`},4:function(e,n,o,i,r){return` * @deprecated +`},6:function(e,n,o,i,r,t,a){var l,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return((l=s(o,"ifdef").call(n??(e.nullContext||{}),s(n,"description"),s(n,"deprecated"),{name:"ifdef",hash:{},fn:e.program(7,r,0,t,a),inverse:e.noop,data:r,loc:{start:{line:13,column:1},end:{line:22,column:11}}}))!=null?l:"")+" "+((l=e.invokePartial(s(i,"isReadOnly"),n,{name:"isReadOnly",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?l:"")+((l=e.lambda(e.strict(n,"name",{start:{line:23,column:19},end:{line:23,column:23}}),n))!=null?l:"")+((l=e.invokePartial(s(i,"isRequired"),n,{name:"isRequired",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?l:"")+": "+((l=e.invokePartial(s(i,"type"),n,{name:"type",hash:{parent:s(a[1],"name")},data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?l:"")+`; +`},7:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return` /** +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(8,r,0),inverse:e.noop,data:r,loc:{start:{line:15,column:1},end:{line:17,column:8}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"deprecated"),{name:"if",hash:{},fn:e.program(10,r,0),inverse:e.noop,data:r,loc:{start:{line:18,column:1},end:{line:20,column:8}}}))!=null?t:"")+` */ +`},8:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:16,column:4},end:{line:16,column:35}}}))!=null?t:"")+` +`},10:function(e,n,o,i,r){return` * @deprecated +`},12:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"unless").call(n??(e.nullContext||{}),a(a(r,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(13,r,0),inverse:e.noop,data:r,loc:{start:{line:27,column:0},end:{line:46,column:11}}}))!=null?t:""},13:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` +export namespace `+((t=e.lambda(e.strict(n,"name",{start:{line:29,column:20},end:{line:29,column:24}}),n))!=null?t:"")+` { + +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"enums"),{name:"each",hash:{},fn:e.program(14,r,0),inverse:e.noop,data:r,loc:{start:{line:31,column:1},end:{line:43,column:10}}}))!=null?t:"")+` +} +`},14:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(15,r,0),inverse:e.noop,data:r,loc:{start:{line:32,column:1},end:{line:36,column:8}}}))!=null?t:"")+" export enum "+((t=e.lambda(e.strict(n,"name",{start:{line:37,column:16},end:{line:37,column:20}}),n))!=null?t:"")+` { +`+((t=l(o,"each").call(a,l(n,"enum"),{name:"each",hash:{},fn:e.program(17,r,0),inverse:e.noop,data:r,loc:{start:{line:38,column:2},end:{line:40,column:11}}}))!=null?t:"")+` } + +`},15:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` /** + * `+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:34,column:4},end:{line:34,column:35}}}))!=null?t:"")+` + */ +`},17:function(e,n,o,i,r){var t,a=e.strict,l=e.lambda;return" "+((t=l(a(n,"name",{start:{line:39,column:5},end:{line:39,column:9}}),n))!=null?t:"")+" = "+((t=l(a(n,"value",{start:{line:39,column:18},end:{line:39,column:23}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r,t,a){var l,s=n??(e.nullContext||{}),u=e.lookupProperty||function(p,c){if(Object.prototype.hasOwnProperty.call(p,c))return p[c]};return((l=u(o,"ifdef").call(s,u(n,"description"),u(n,"deprecated"),{name:"ifdef",hash:{},fn:e.program(1,r,0,t,a),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:10,column:10}}}))!=null?l:"")+"export type "+((l=e.lambda(e.strict(n,"name",{start:{line:11,column:15},end:{line:11,column:19}}),n))!=null?l:"")+` = { +`+((l=u(o,"each").call(s,u(n,"properties"),{name:"each",hash:{},fn:e.program(6,r,0,t,a),inverse:e.noop,data:r,loc:{start:{line:12,column:1},end:{line:24,column:10}}}))!=null?l:"")+`}; +`+((l=u(o,"if").call(s,u(n,"enums"),{name:"if",hash:{},fn:e.program(12,r,0,t,a),inverse:e.noop,data:r,loc:{start:{line:26,column:0},end:{line:47,column:7}}}))!=null?l:"")},usePartial:!0,useData:!0,useDepths:!0},ov={1:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`/** +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"deprecated"),{name:"if",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))!=null?t:"")+` */ +`},2:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:4,column:3},end:{line:4,column:34}}}))!=null?t:"")+` +`},4:function(e,n,o,i,r){return` * @deprecated +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=a(o,"ifdef").call(n??(e.nullContext||{}),a(n,"description"),a(n,"deprecated"),{name:"ifdef",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:10,column:10}}}))!=null?t:"")+"export type "+((t=e.lambda(e.strict(n,"name",{start:{line:11,column:15},end:{line:11,column:19}}),n))!=null?t:"")+" = "+((t=e.invokePartial(a(i,"type"),n,{name:"type",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+";"},usePartial:!0,useData:!0},av={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){return`/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */`},useData:!0},iv={1:function(e,n,o,i,r){return" | null"},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"isNullable"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:1,column:32}}}))!=null?t:""},useData:!0},lv={1:function(e,n,o,i,r){return"readonly "},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:1,column:34}}}))!=null?t:""},useData:!0},sv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"unless").call(n??(e.nullContext||{}),a(n,"isRequired"),{name:"unless",hash:{},fn:e.program(2,r,0),inverse:e.program(4,r,0),data:r,loc:{start:{line:2,column:0},end:{line:2,column:54}}}))!=null?t:""},2:function(e,n,o,i,r){return"?"},4:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"default"),{name:"if",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:2,column:23},end:{line:2,column:43}}}))!=null?t:""},6:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"unless").call(n??(e.nullContext||{}),a(n,"isRequired"),{name:"unless",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:4,column:0},end:{line:4,column:64}}}))!=null?t:""},7:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"unless").call(n??(e.nullContext||{}),a(n,"default"),{name:"unless",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:4,column:22},end:{line:4,column:53}}}))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(a(r,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.program(6,r,0),data:r,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?t:""},useData:!0},uv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(a(r,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(2,r,0),inverse:e.program(12,r,0),data:r,loc:{start:{line:2,column:0},end:{line:27,column:7}}}))!=null?t:""},2:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`{ +`+((t=l(o,"each").call(a,l(n,"parameters"),{name:"each",hash:{},fn:e.program(3,r,0),inverse:e.noop,data:r,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))!=null?t:"")+`}: { +`+((t=l(o,"each").call(a,l(n,"parameters"),{name:"each",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:8,column:0},end:{line:20,column:9}}}))!=null?t:"")+"}"},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.lambda(e.strict(n,"name",{start:{line:5,column:3},end:{line:5,column:7}}),n))!=null?t:"")+((t=a(o,"if").call(n??(e.nullContext||{}),a(n,"default"),{name:"if",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:5,column:10},end:{line:5,column:48}}}))!=null?t:"")+`, +`},4:function(e,n,o,i,r){var t;return" = "+((t=e.lambda(e.strict(n,"default",{start:{line:5,column:31},end:{line:5,column:38}}),n))!=null?t:"")},6:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=a(o,"ifdef").call(n??(e.nullContext||{}),a(n,"description"),a(n,"deprecated"),{name:"ifdef",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:9,column:0},end:{line:18,column:10}}}))!=null?t:"")+((t=e.lambda(e.strict(n,"name",{start:{line:19,column:3},end:{line:19,column:7}}),n))!=null?t:"")+((t=e.invokePartial(a(i,"isRequired"),n,{name:"isRequired",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+": "+((t=e.invokePartial(a(i,"type"),n,{name:"type",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`, +`},7:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`/** +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(8,r,0),inverse:e.noop,data:r,loc:{start:{line:11,column:0},end:{line:13,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"deprecated"),{name:"if",hash:{},fn:e.program(10,r,0),inverse:e.noop,data:r,loc:{start:{line:14,column:0},end:{line:16,column:7}}}))!=null?t:"")+` */ +`},8:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:12,column:3},end:{line:12,column:34}}}))!=null?t:"")+` +`},10:function(e,n,o,i,r){return` * @deprecated +`},12:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return` +`+((t=a(o,"each").call(n??(e.nullContext||{}),a(n,"parameters"),{name:"each",hash:{},fn:e.program(13,r,0),inverse:e.noop,data:r,loc:{start:{line:24,column:0},end:{line:26,column:9}}}))!=null?t:"")},13:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.lambda(e.strict(n,"name",{start:{line:25,column:3},end:{line:25,column:7}}),n))!=null?t:"")+((t=e.invokePartial(a(i,"isRequired"),n,{name:"isRequired",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+": "+((t=e.invokePartial(a(i,"type"),n,{name:"type",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+((t=a(o,"if").call(n??(e.nullContext||{}),a(n,"default"),{name:"if",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:25,column:36},end:{line:25,column:74}}}))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"parameters"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:28,column:7}}}))!=null?t:""},usePartial:!0,useData:!0},cv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"each").call(n??(e.nullContext||{}),a(n,"results"),{name:"each",hash:{},fn:e.program(2,r,0),inverse:e.noop,data:r,loc:{start:{line:2,column:0},end:{line:2,column:66}}}))!=null?t:""},2:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"type"),n,{name:"type",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+((t=a(o,"unless").call(n??(e.nullContext||{}),a(r,"last"),{name:"unless",hash:{},fn:e.program(3,r,0),inverse:e.noop,data:r,loc:{start:{line:2,column:26},end:{line:2,column:57}}}))!=null?t:"")},3:function(e,n,o,i,r){return" | "},5:function(e,n,o,i,r){return"void"},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"results"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.program(5,r,0),data:r,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?t:""},usePartial:!0,useData:!0},pv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"schemaInterface"),n,{name:"schemaInterface",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(4,r,0),inverse:e.program(6,r,0),data:r,loc:{start:{line:3,column:0},end:{line:17,column:0}}}))!=null?t:""},4:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"schemaEnum"),n,{name:"schemaEnum",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},6:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"array",{name:"equals",hash:{},fn:e.program(7,r,0),inverse:e.program(9,r,0),data:r,loc:{start:{line:5,column:0},end:{line:17,column:0}}}))!=null?t:""},7:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"schemaArray"),n,{name:"schemaArray",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},9:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(10,r,0),inverse:e.program(12,r,0),data:r,loc:{start:{line:7,column:0},end:{line:17,column:0}}}))!=null?t:""},10:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"schemaDictionary"),n,{name:"schemaDictionary",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},12:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(13,r,0),inverse:e.program(15,r,0),data:r,loc:{start:{line:9,column:0},end:{line:17,column:0}}}))!=null?t:""},13:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"schemaComposition"),n,{name:"schemaComposition",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},15:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(13,r,0),inverse:e.program(16,r,0),data:r,loc:{start:{line:11,column:0},end:{line:17,column:0}}}))!=null?t:""},16:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(13,r,0),inverse:e.program(17,r,0),data:r,loc:{start:{line:13,column:0},end:{line:17,column:0}}}))!=null?t:""},17:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"schemaGeneric"),n,{name:"schemaGeneric",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:1,column:0},end:{line:17,column:11}}}))!=null?t:""},usePartial:!0,useData:!0},fv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" contains: "+((t=e.invokePartial(a(i,"schema"),a(n,"link"),{name:"schema",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`, +`},3:function(e,n,o,i,r){var t;return` contains: { + type: '`+((t=e.lambda(e.strict(n,"base",{start:{line:7,column:12},end:{line:7,column:16}}),n))!=null?t:"")+`', + }, +`},5:function(e,n,o,i,r){var t;return" isReadOnly: "+((t=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:16},end:{line:11,column:26}}),n))!=null?t:"")+`, +`},7:function(e,n,o,i,r){var t;return" isRequired: "+((t=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:16},end:{line:14,column:26}}),n))!=null?t:"")+`, +`},9:function(e,n,o,i,r){var t;return" isNullable: "+((t=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:16},end:{line:17,column:26}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`{ + type: 'array', +`+((t=l(o,"if").call(a,l(n,"link"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,r,0),inverse:e.noop,data:r,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))!=null?t:"")+"}"},usePartial:!0,useData:!0},mv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" description: `"+((t=a(o,"escapeDescription").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeDescription",hash:{},data:r,loc:{start:{line:4,column:15},end:{line:4,column:50}}}))!=null?t:"")+"`,\n"},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"schema"),n,{name:"schema",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+((t=a(o,"unless").call(n??(e.nullContext||{}),a(r,"last"),{name:"unless",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:43},end:{line:6,column:73}}}))!=null?t:"")},4:function(e,n,o,i,r){return", "},6:function(e,n,o,i,r){var t;return" isReadOnly: "+((t=e.lambda(e.strict(n,"isReadOnly",{start:{line:8,column:16},end:{line:8,column:26}}),n))!=null?t:"")+`, +`},8:function(e,n,o,i,r){var t;return" isRequired: "+((t=e.lambda(e.strict(n,"isRequired",{start:{line:11,column:16},end:{line:11,column:26}}),n))!=null?t:"")+`, +`},10:function(e,n,o,i,r){var t;return" isNullable: "+((t=e.lambda(e.strict(n,"isNullable",{start:{line:14,column:16},end:{line:14,column:26}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`{ + type: '`+((t=e.lambda(e.strict(n,"export",{start:{line:2,column:10},end:{line:2,column:16}}),n))!=null?t:"")+`', +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))!=null?t:"")+" contains: ["+((t=l(o,"each").call(a,l(n,"properties"),{name:"each",hash:{},fn:e.program(3,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:12},end:{line:6,column:82}}}))!=null?t:"")+`], +`+((t=l(o,"if").call(a,l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:7,column:0},end:{line:9,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isRequired"),{name:"if",hash:{},fn:e.program(8,r,0),inverse:e.noop,data:r,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isNullable"),{name:"if",hash:{},fn:e.program(10,r,0),inverse:e.noop,data:r,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))!=null?t:"")+"}"},usePartial:!0,useData:!0},dv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" contains: "+((t=e.invokePartial(a(i,"schema"),a(n,"link"),{name:"schema",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`, +`},3:function(e,n,o,i,r){var t;return` contains: { + type: '`+((t=e.lambda(e.strict(n,"base",{start:{line:7,column:12},end:{line:7,column:16}}),n))!=null?t:"")+`', + }, +`},5:function(e,n,o,i,r){var t;return" isReadOnly: "+((t=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:16},end:{line:11,column:26}}),n))!=null?t:"")+`, +`},7:function(e,n,o,i,r){var t;return" isRequired: "+((t=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:16},end:{line:14,column:26}}),n))!=null?t:"")+`, +`},9:function(e,n,o,i,r){var t;return" isNullable: "+((t=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:16},end:{line:17,column:26}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`{ + type: 'dictionary', +`+((t=l(o,"if").call(a,l(n,"link"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,r,0),inverse:e.noop,data:r,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))!=null?t:"")+"}"},usePartial:!0,useData:!0},hv={1:function(e,n,o,i,r){var t;return" isReadOnly: "+((t=e.lambda(e.strict(n,"isReadOnly",{start:{line:4,column:16},end:{line:4,column:26}}),n))!=null?t:"")+`, +`},3:function(e,n,o,i,r){var t;return" isRequired: "+((t=e.lambda(e.strict(n,"isRequired",{start:{line:7,column:16},end:{line:7,column:26}}),n))!=null?t:"")+`, +`},5:function(e,n,o,i,r){var t;return" isNullable: "+((t=e.lambda(e.strict(n,"isNullable",{start:{line:10,column:16},end:{line:10,column:26}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`{ + type: 'Enum', +`+((t=l(o,"if").call(a,l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isRequired"),{name:"if",hash:{},fn:e.program(3,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isNullable"),{name:"if",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))!=null?t:"")+"}"},useData:!0},yv={1:function(e,n,o,i,r){var t;return" type: '"+((t=e.lambda(e.strict(n,"type",{start:{line:3,column:11},end:{line:3,column:15}}),n))!=null?t:"")+`', +`},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" description: `"+((t=a(o,"escapeDescription").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeDescription",hash:{},data:r,loc:{start:{line:6,column:15},end:{line:6,column:50}}}))!=null?t:"")+"`,\n"},5:function(e,n,o,i,r){var t;return" isReadOnly: "+((t=e.lambda(e.strict(n,"isReadOnly",{start:{line:9,column:16},end:{line:9,column:26}}),n))!=null?t:"")+`, +`},7:function(e,n,o,i,r){var t;return" isRequired: "+((t=e.lambda(e.strict(n,"isRequired",{start:{line:12,column:16},end:{line:12,column:26}}),n))!=null?t:"")+`, +`},9:function(e,n,o,i,r){var t;return" isNullable: "+((t=e.lambda(e.strict(n,"isNullable",{start:{line:15,column:16},end:{line:15,column:26}}),n))!=null?t:"")+`, +`},11:function(e,n,o,i,r){var t;return" format: '"+((t=e.lambda(e.strict(n,"format",{start:{line:18,column:13},end:{line:18,column:19}}),n))!=null?t:"")+`', +`},13:function(e,n,o,i,r){var t;return" maximum: "+((t=e.lambda(e.strict(n,"maximum",{start:{line:21,column:13},end:{line:21,column:20}}),n))!=null?t:"")+`, +`},15:function(e,n,o,i,r){var t;return" exclusiveMaximum: "+((t=e.lambda(e.strict(n,"exclusiveMaximum",{start:{line:24,column:22},end:{line:24,column:38}}),n))!=null?t:"")+`, +`},17:function(e,n,o,i,r){var t;return" minimum: "+((t=e.lambda(e.strict(n,"minimum",{start:{line:27,column:13},end:{line:27,column:20}}),n))!=null?t:"")+`, +`},19:function(e,n,o,i,r){var t;return" exclusiveMinimum: "+((t=e.lambda(e.strict(n,"exclusiveMinimum",{start:{line:30,column:22},end:{line:30,column:38}}),n))!=null?t:"")+`, +`},21:function(e,n,o,i,r){var t;return" multipleOf: "+((t=e.lambda(e.strict(n,"multipleOf",{start:{line:33,column:16},end:{line:33,column:26}}),n))!=null?t:"")+`, +`},23:function(e,n,o,i,r){var t;return" maxLength: "+((t=e.lambda(e.strict(n,"maxLength",{start:{line:36,column:15},end:{line:36,column:24}}),n))!=null?t:"")+`, +`},25:function(e,n,o,i,r){var t;return" minLength: "+((t=e.lambda(e.strict(n,"minLength",{start:{line:39,column:15},end:{line:39,column:24}}),n))!=null?t:"")+`, +`},27:function(e,n,o,i,r){var t;return" pattern: '"+((t=e.lambda(e.strict(n,"pattern",{start:{line:42,column:14},end:{line:42,column:21}}),n))!=null?t:"")+`', +`},29:function(e,n,o,i,r){var t;return" maxItems: "+((t=e.lambda(e.strict(n,"maxItems",{start:{line:45,column:14},end:{line:45,column:22}}),n))!=null?t:"")+`, +`},31:function(e,n,o,i,r){var t;return" minItems: "+((t=e.lambda(e.strict(n,"minItems",{start:{line:48,column:14},end:{line:48,column:22}}),n))!=null?t:"")+`, +`},33:function(e,n,o,i,r){var t;return" uniqueItems: "+((t=e.lambda(e.strict(n,"uniqueItems",{start:{line:51,column:17},end:{line:51,column:28}}),n))!=null?t:"")+`, +`},35:function(e,n,o,i,r){var t;return" maxProperties: "+((t=e.lambda(e.strict(n,"maxProperties",{start:{line:54,column:19},end:{line:54,column:32}}),n))!=null?t:"")+`, +`},37:function(e,n,o,i,r){var t;return" minProperties: "+((t=e.lambda(e.strict(n,"minProperties",{start:{line:57,column:19},end:{line:57,column:32}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`{ +`+((t=l(o,"if").call(a,l(n,"type"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:2,column:0},end:{line:4,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(3,r,0),inverse:e.noop,data:r,loc:{start:{line:5,column:0},end:{line:7,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:8,column:0},end:{line:10,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,r,0),inverse:e.noop,data:r,loc:{start:{line:11,column:0},end:{line:13,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,r,0),inverse:e.noop,data:r,loc:{start:{line:14,column:0},end:{line:16,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"format"),{name:"if",hash:{},fn:e.program(11,r,0),inverse:e.noop,data:r,loc:{start:{line:17,column:0},end:{line:19,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"maximum"),{name:"if",hash:{},fn:e.program(13,r,0),inverse:e.noop,data:r,loc:{start:{line:20,column:0},end:{line:22,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"exclusiveMaximum"),{name:"if",hash:{},fn:e.program(15,r,0),inverse:e.noop,data:r,loc:{start:{line:23,column:0},end:{line:25,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"minimum"),{name:"if",hash:{},fn:e.program(17,r,0),inverse:e.noop,data:r,loc:{start:{line:26,column:0},end:{line:28,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"exclusiveMinimum"),{name:"if",hash:{},fn:e.program(19,r,0),inverse:e.noop,data:r,loc:{start:{line:29,column:0},end:{line:31,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"multipleOf"),{name:"if",hash:{},fn:e.program(21,r,0),inverse:e.noop,data:r,loc:{start:{line:32,column:0},end:{line:34,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"maxLength"),{name:"if",hash:{},fn:e.program(23,r,0),inverse:e.noop,data:r,loc:{start:{line:35,column:0},end:{line:37,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"minLength"),{name:"if",hash:{},fn:e.program(25,r,0),inverse:e.noop,data:r,loc:{start:{line:38,column:0},end:{line:40,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"pattern"),{name:"if",hash:{},fn:e.program(27,r,0),inverse:e.noop,data:r,loc:{start:{line:41,column:0},end:{line:43,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"maxItems"),{name:"if",hash:{},fn:e.program(29,r,0),inverse:e.noop,data:r,loc:{start:{line:44,column:0},end:{line:46,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"minItems"),{name:"if",hash:{},fn:e.program(31,r,0),inverse:e.noop,data:r,loc:{start:{line:47,column:0},end:{line:49,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"uniqueItems"),{name:"if",hash:{},fn:e.program(33,r,0),inverse:e.noop,data:r,loc:{start:{line:50,column:0},end:{line:52,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"maxProperties"),{name:"if",hash:{},fn:e.program(35,r,0),inverse:e.noop,data:r,loc:{start:{line:53,column:0},end:{line:55,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"minProperties"),{name:"if",hash:{},fn:e.program(37,r,0),inverse:e.noop,data:r,loc:{start:{line:56,column:0},end:{line:58,column:7}}}))!=null?t:"")+"}"},useData:!0},vv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" description: `"+((t=a(o,"escapeDescription").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeDescription",hash:{},data:r,loc:{start:{line:3,column:15},end:{line:3,column:50}}}))!=null?t:"")+"`,\n"},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"each").call(n??(e.nullContext||{}),a(n,"properties"),{name:"each",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:7,column:1},end:{line:9,column:10}}}))!=null?t:""},4:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" "+((t=e.lambda(e.strict(n,"name",{start:{line:8,column:5},end:{line:8,column:9}}),n))!=null?t:"")+": "+((t=e.invokePartial(a(i,"schema"),n,{name:"schema",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`, +`},6:function(e,n,o,i,r){var t;return" isReadOnly: "+((t=e.lambda(e.strict(n,"isReadOnly",{start:{line:13,column:16},end:{line:13,column:26}}),n))!=null?t:"")+`, +`},8:function(e,n,o,i,r){var t;return" isRequired: "+((t=e.lambda(e.strict(n,"isRequired",{start:{line:16,column:16},end:{line:16,column:26}}),n))!=null?t:"")+`, +`},10:function(e,n,o,i,r){var t;return" isNullable: "+((t=e.lambda(e.strict(n,"isNullable",{start:{line:19,column:16},end:{line:19,column:26}}),n))!=null?t:"")+`, +`},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`{ +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:2,column:0},end:{line:4,column:7}}}))!=null?t:"")+` properties: { +`+((t=l(o,"if").call(a,l(n,"properties"),{name:"if",hash:{},fn:e.program(3,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:0},end:{line:10,column:7}}}))!=null?t:"")+` }, +`+((t=l(o,"if").call(a,l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:12,column:0},end:{line:14,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isRequired"),{name:"if",hash:{},fn:e.program(8,r,0),inverse:e.noop,data:r,loc:{start:{line:15,column:0},end:{line:17,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"isNullable"),{name:"if",hash:{},fn:e.program(10,r,0),inverse:e.noop,data:r,loc:{start:{line:18,column:0},end:{line:20,column:7}}}))!=null?t:"")+"}"},usePartial:!0,useData:!0},gv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"typeInterface"),n,{name:"typeInterface",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"reference",{name:"equals",hash:{},fn:e.program(4,r,0),inverse:e.program(6,r,0),data:r,loc:{start:{line:3,column:0},end:{line:19,column:0}}}))!=null?t:""},4:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"typeReference"),n,{name:"typeReference",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},6:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(7,r,0),inverse:e.program(9,r,0),data:r,loc:{start:{line:5,column:0},end:{line:19,column:0}}}))!=null?t:""},7:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"typeEnum"),n,{name:"typeEnum",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},9:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"array",{name:"equals",hash:{},fn:e.program(10,r,0),inverse:e.program(12,r,0),data:r,loc:{start:{line:7,column:0},end:{line:19,column:0}}}))!=null?t:""},10:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"typeArray"),n,{name:"typeArray",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},12:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(13,r,0),inverse:e.program(15,r,0),data:r,loc:{start:{line:9,column:0},end:{line:19,column:0}}}))!=null?t:""},13:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"typeDictionary"),n,{name:"typeDictionary",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},15:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(16,r,0),inverse:e.program(18,r,0),data:r,loc:{start:{line:11,column:0},end:{line:19,column:0}}}))!=null?t:""},16:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"typeUnion"),n,{name:"typeUnion",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},18:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(16,r,0),inverse:e.program(19,r,0),data:r,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))!=null?t:""},19:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(20,r,0),inverse:e.program(22,r,0),data:r,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))!=null?t:""},20:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"typeIntersection"),n,{name:"typeIntersection",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},22:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=e.invokePartial(a(i,"typeGeneric"),n,{name:"typeGeneric",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"equals").call(n??(e.nullContext||{}),a(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:1,column:0},end:{line:19,column:11}}}))!=null?t:""},usePartial:!0,useData:!0},xv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return"Array<"+((t=e.invokePartial(a(i,"type"),a(n,"link"),{name:"type",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+">"+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return"Array<"+((t=e.invokePartial(a(i,"base"),n,{name:"base",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+">"+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"link"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?t:""},usePartial:!0,useData:!0},Pv={1:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return"Record"+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},3:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return"Record"+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return(t=a(o,"if").call(n??(e.nullContext||{}),a(n,"link"),{name:"if",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?t:""},usePartial:!0,useData:!0},bv={1:function(e,n,o,i,r){var t;return(t=e.lambda(n,n))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=a(o,"enumerator").call(n??(e.nullContext||{}),a(n,"enum"),a(n,"parent"),a(n,"name"),{name:"enumerator",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:1,column:55}}}))!=null?t:"")+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},usePartial:!0,useData:!0},Ov={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"base"),n,{name:"base",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},usePartial:!0,useData:!0},wv={1:function(e,n,o,i,r,t,a){var l,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return`{ +`+((l=s(o,"each").call(n??(e.nullContext||{}),s(n,"properties"),{name:"each",hash:{},fn:e.program(2,r,0,t,a),inverse:e.noop,data:r,loc:{start:{line:3,column:0},end:{line:19,column:9}}}))!=null?l:"")+"}"+((l=e.invokePartial(s(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?l:"")},2:function(e,n,o,i,r,t,a){var l,s=n??(e.nullContext||{}),u=e.lookupProperty||function(p,c){if(Object.prototype.hasOwnProperty.call(p,c))return p[c]};return((l=u(o,"ifdef").call(s,u(n,"description"),u(n,"deprecated"),{name:"ifdef",hash:{},fn:e.program(3,r,0,t,a),inverse:e.noop,data:r,loc:{start:{line:4,column:0},end:{line:13,column:10}}}))!=null?l:"")+((l=u(o,"if").call(s,u(a[1],"parent"),{name:"if",hash:{},fn:e.program(8,r,0,t,a),inverse:e.program(10,r,0,t,a),data:r,loc:{start:{line:14,column:0},end:{line:18,column:7}}}))!=null?l:"")},3:function(e,n,o,i,r){var t,a=n??(e.nullContext||{}),l=e.lookupProperty||function(s,u){if(Object.prototype.hasOwnProperty.call(s,u))return s[u]};return`/** +`+((t=l(o,"if").call(a,l(n,"description"),{name:"if",hash:{},fn:e.program(4,r,0),inverse:e.noop,data:r,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))!=null?t:"")+((t=l(o,"if").call(a,l(n,"deprecated"),{name:"if",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))!=null?t:"")+` */ +`},4:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return" * "+((t=a(o,"escapeComment").call(n??(e.nullContext||{}),a(n,"description"),{name:"escapeComment",hash:{},data:r,loc:{start:{line:7,column:3},end:{line:7,column:34}}}))!=null?t:"")+` +`},6:function(e,n,o,i,r){return` * @deprecated +`},8:function(e,n,o,i,r,t,a){var l,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return((l=e.invokePartial(s(i,"isReadOnly"),n,{name:"isReadOnly",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?l:"")+((l=e.lambda(e.strict(n,"name",{start:{line:15,column:18},end:{line:15,column:22}}),n))!=null?l:"")+((l=e.invokePartial(s(i,"isRequired"),n,{name:"isRequired",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?l:"")+": "+((l=e.invokePartial(s(i,"type"),n,{name:"type",hash:{parent:s(a[1],"parent")},data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?l:"")+`; +`},10:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"isReadOnly"),n,{name:"isReadOnly",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+((t=e.lambda(e.strict(n,"name",{start:{line:17,column:18},end:{line:17,column:22}}),n))!=null?t:"")+((t=e.invokePartial(a(i,"isRequired"),n,{name:"isRequired",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+": "+((t=e.invokePartial(a(i,"type"),n,{name:"type",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+`; +`},12:function(e,n,o,i,r){return"any"},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r,t,a){var l,s=e.lookupProperty||function(u,p){if(Object.prototype.hasOwnProperty.call(u,p))return u[p]};return(l=s(o,"if").call(n??(e.nullContext||{}),s(n,"properties"),{name:"if",hash:{},fn:e.program(1,r,0,t,a),inverse:e.program(12,r,0,t,a),data:r,loc:{start:{line:1,column:0},end:{line:23,column:9}}}))!=null?l:""},usePartial:!0,useData:!0,useDepths:!0},kv={1:function(e,n,o,i,r){var t;return(t=e.lambda(n,n))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=a(o,"intersection").call(n??(e.nullContext||{}),a(n,"properties"),a(n,"parent"),{name:"intersection",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:1,column:60}}}))!=null?t:"")+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},usePartial:!0,useData:!0},Cv={compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=e.invokePartial(a(i,"base"),n,{name:"base",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},usePartial:!0,useData:!0},Sv={1:function(e,n,o,i,r){var t;return(t=e.lambda(n,n))!=null?t:""},compiler:[8,">= 4.3.0"],main:function(e,n,o,i,r){var t,a=e.lookupProperty||function(l,s){if(Object.prototype.hasOwnProperty.call(l,s))return l[s]};return((t=a(o,"union").call(n??(e.nullContext||{}),a(n,"properties"),a(n,"parent"),{name:"union",hash:{},fn:e.program(1,r,0),inverse:e.noop,data:r,loc:{start:{line:1,column:0},end:{line:1,column:46}}}))!=null?t:"")+((t=e.invokePartial(a(i,"isNullable"),n,{name:"isNullable",data:r,helpers:o,partials:i,decorators:e.decorators}))!=null?t:"")},usePartial:!0,useData:!0},Ev=e=>{h.registerHelper("ifdef",function(...n){let o=n.pop();return n.every(i=>!i)?o.inverse(this):o.fn(this)}),h.registerHelper("equals",function(n,o,i){return n===o?i.fn(this):i.inverse(this)}),h.registerHelper("notEquals",function(n,o,i){return n!==o?i.fn(this):i.inverse(this)}),h.registerHelper("containsSpaces",function(n,o){return/\s+/.test(n)?o.fn(this):o.inverse(this)}),h.registerHelper("union",function(n,o,i){let r=h.partials.type,t=n.map(l=>r({...e,...l,parent:o})).filter(nn),a=t.join(" | ");return t.length>1&&(a=`(${a})`),i.fn(a)}),h.registerHelper("intersection",function(n,o,i){let r=h.partials.type,t=n.map(l=>r({...e,...l,parent:o})).filter(nn),a=t.join(" & ");return t.length>1&&(a=`(${a})`),i.fn(a)}),h.registerHelper("enumerator",function(n,o,i,r){return!e.useUnionTypes&&o&&i?`${o}.${i}`:r.fn(n.map(t=>t.value).filter(nn).join(" | "))}),h.registerHelper("escapeComment",function(n){return n.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,(o,i)=>`${Cn.EOL} * ${i.trim()}`)}),h.registerHelper("escapeDescription",function(n){return n.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\${/g,"\\${")}),h.registerHelper("camelCase",function(n){return Ae(n)})},re=Zn.writeFile,Rv=Zn.copyFile,qv=Zn.pathExists,On=Zn.mkdirp,Tt=Zn.remove,It=e=>{let n=0,o=e.split(Cn.EOL);return o=o.map(i=>{i=i.trim().replace(/^\*/g," *");let r=n;(i.endsWith("(")||i.endsWith("{")||i.endsWith("["))&&n++,(i.startsWith(")")||i.startsWith("}")||i.startsWith("]"))&&r&&(n--,r--);let t=`${" ".repeat(r)}${i}`;return t.trim()===""?"":t}),o.join(Cn.EOL)},le=(e,n)=>{let o=e.split(Cn.EOL);return o=o.map(i=>{switch(n){case exports.Indent.SPACE_4:return i.replace(/\t/g," ");case exports.Indent.SPACE_2:return i.replace(/\t/g," ");case exports.Indent.TAB:return i}}),`${o.join(Cn.EOL)}${Cn.EOL}`},yu=e=>{switch(e){case exports.HttpClient.FETCH:return"FetchHttpRequest";case exports.HttpClient.XHR:return"XHRHttpRequest";case exports.HttpClient.NODE:return"NodeHttpRequest";case exports.HttpClient.AXIOS:return"AxiosHttpRequest";case exports.HttpClient.ANGULAR:return"AngularHttpRequest"}},vu=e=>e.sort((n,o)=>{let i=n.name.toLowerCase(),r=o.name.toLowerCase();return i.localeCompare(r,"en")}),gu=e=>e.sort((n,o)=>{let i=n.name.toLowerCase(),r=o.name.toLowerCase();return i.localeCompare(r,"en")}),xu=async(e,n,o,i,r,t,a,l,s,u,p,c,f,m,d)=>{let y=N.resolve(process.cwd(),o),g=N.resolve(y,"core"),P=N.resolve(y,"models"),x=N.resolve(y,"schemas"),S=N.resolve(y,"services");if(L=process.cwd(),ae=o,!N.relative(ae,L).startsWith(".."))throw new Error("Output folder is not a subdirectory of the current working directory");var L,ae;a&&(await Tt(g),await On(g),await(async(_,F,j,b,w,k,E)=>{let q=yu(b),C={httpClient:b,clientName:k,httpRequest:q,server:_.server,version:_.version};if(await re(N.resolve(j,"OpenAPI.ts"),le(F.core.settings(C),w)),await re(N.resolve(j,"ApiError.ts"),le(F.core.apiError(C),w)),await re(N.resolve(j,"ApiRequestOptions.ts"),le(F.core.apiRequestOptions(C),w)),await re(N.resolve(j,"ApiResult.ts"),le(F.core.apiResult(C),w)),await re(N.resolve(j,"CancelablePromise.ts"),le(F.core.cancelablePromise(C),w)),await re(N.resolve(j,"request.ts"),le(F.core.request(C),w)),en(k)&&(await re(N.resolve(j,"BaseHttpRequest.ts"),le(F.core.baseHttpRequest(C),w)),await re(N.resolve(j,`${q}.ts`),le(F.core.httpRequest(C),w))),E){let R=N.resolve(process.cwd(),E);if(!await qv(R))throw new Error(`Custom request file "${R}" does not exists`);await Rv(R,N.resolve(j,"request.ts"))}})(e,n,g,i,p,m,d)),l&&(await Tt(S),await On(S),await(async(_,F,j,b,w,k,E,q,C)=>{for(let R of _){let T=N.resolve(j,`${R.name}${q}.ts`),A=F.exports.service({...R,httpClient:b,useUnionTypes:w,useOptions:k,postfix:q,exportClient:en(C)});await re(T,le(It(A),E))}})(e.services,n,S,i,t,r,p,c,m)),u&&(await Tt(x),await On(x),await(async(_,F,j,b,w,k)=>{for(let E of _){let q=N.resolve(j,`$${E.name}.ts`),C=F.exports.schema({...E,httpClient:b,useUnionTypes:w});await re(q,le(It(C),k))}})(e.models,n,x,i,t,p)),s&&(await Tt(P),await On(P),await(async(_,F,j,b,w,k)=>{for(let E of _){let q=N.resolve(j,`${E.name}.ts`),C=F.exports.model({...E,httpClient:b,useUnionTypes:w});await re(q,le(It(C),k))}})(e.models,n,P,i,t,p)),en(m)&&(await On(y),await(async(_,F,j,b,w,k,E)=>{let q=F.client({clientName:w,httpClient:b,postfix:E,server:_.server,version:_.version,models:vu(_.models),services:gu(_.services),httpRequest:yu(b)});await re(N.resolve(j,`${w}.ts`),le(It(q),k))})(e,n,y,i,m,p,c)),(a||l||u||s)&&(await On(y),await(async(_,F,j,b,w,k,E,q,C,R,T)=>{let A=F.index({exportCore:w,exportServices:k,exportModels:E,exportSchemas:q,useUnionTypes:b,postfixServices:C,postfixModels:R,clientName:T,server:_.server,version:_.version,models:vu(_.models),services:gu(_.services),exportClient:en(T)});await re(N.resolve(j,"index.ts"),A)})(e,n,y,t,a,l,s,u,c,f,m))},ju=async({input:e,output:n,httpClient:o=exports.HttpClient.FETCH,clientName:i,useOptions:r=!1,useUnionTypes:t=!1,exportCore:a=!0,exportServices:l=!0,exportModels:s=!0,exportSchemas:u=!1,indent:p=exports.Indent.SPACE_4,postfixServices:c="Service",postfixModels:f="",request:m,write:d=!0})=>{let y=Qn(e)?await(async x=>await Gh.bundle(x,x,{}))(e):e,g=(x=>{let S=x.swagger||x.openapi;if(typeof S=="string"){let L=S.charAt(0),ae=Number.parseInt(L);if(ae===wn.V2||ae===wn.V3)return ae}throw new Error(`Unsupported Open API version: "${String(S)}"`)})(y),P=(x=>{Ev(x);let S={index:h.template(Z0),client:h.template(Zy),exports:{model:h.template(z0),schema:h.template(Q0),service:h.template(X0)},core:{settings:h.template(B0),apiError:h.template(i0),apiRequestOptions:h.template(l0),apiResult:h.template(s0),cancelablePromise:h.template(y0),request:h.template(U0),baseHttpRequest:h.template(h0),httpRequest:h.template(D0)}};return h.registerPartial("exportEnum",h.template(tv)),h.registerPartial("exportInterface",h.template(rv)),h.registerPartial("exportComposition",h.template(nv)),h.registerPartial("exportType",h.template(ov)),h.registerPartial("header",h.template(av)),h.registerPartial("isNullable",h.template(iv)),h.registerPartial("isReadOnly",h.template(lv)),h.registerPartial("isRequired",h.template(sv)),h.registerPartial("parameters",h.template(uv)),h.registerPartial("result",h.template(cv)),h.registerPartial("schema",h.template(pv)),h.registerPartial("schemaArray",h.template(fv)),h.registerPartial("schemaDictionary",h.template(dv)),h.registerPartial("schemaEnum",h.template(hv)),h.registerPartial("schemaGeneric",h.template(yv)),h.registerPartial("schemaInterface",h.template(vv)),h.registerPartial("schemaComposition",h.template(mv)),h.registerPartial("type",h.template(gv)),h.registerPartial("typeArray",h.template(xv)),h.registerPartial("typeDictionary",h.template(Pv)),h.registerPartial("typeEnum",h.template(bv)),h.registerPartial("typeGeneric",h.template(Ov)),h.registerPartial("typeInterface",h.template(wv)),h.registerPartial("typeReference",h.template(Cv)),h.registerPartial("typeUnion",h.template(Sv)),h.registerPartial("typeIntersection",h.template(kv)),h.registerPartial("base",h.template(ev)),h.registerPartial("functions/catchErrorCodes",h.template(k0)),h.registerPartial("functions/getFormData",h.template(C0)),h.registerPartial("functions/getQueryString",h.template(S0)),h.registerPartial("functions/getUrl",h.template(E0)),h.registerPartial("functions/isBlob",h.template(R0)),h.registerPartial("functions/isDefined",h.template(q0)),h.registerPartial("functions/isFormData",h.template(A0)),h.registerPartial("functions/isString",h.template(T0)),h.registerPartial("functions/isStringWithValue",h.template(I0)),h.registerPartial("functions/isSuccess",h.template(_0)),h.registerPartial("functions/base64",h.template(w0)),h.registerPartial("functions/resolve",h.template(j0)),h.registerPartial("fetch/getHeaders",h.template(v0)),h.registerPartial("fetch/getRequestBody",h.template(g0)),h.registerPartial("fetch/getResponseBody",h.template(x0)),h.registerPartial("fetch/getResponseHeader",h.template(P0)),h.registerPartial("fetch/sendRequest",h.template(O0)),h.registerPartial("fetch/request",h.template(b0)),h.registerPartial("xhr/getHeaders",h.template(W0)),h.registerPartial("xhr/getRequestBody",h.template(V0)),h.registerPartial("xhr/getResponseBody",h.template(Y0)),h.registerPartial("xhr/getResponseHeader",h.template(J0)),h.registerPartial("xhr/sendRequest",h.template(K0)),h.registerPartial("xhr/request",h.template(G0)),h.registerPartial("node/getHeaders",h.template(N0)),h.registerPartial("node/getRequestBody",h.template(H0)),h.registerPartial("node/getResponseBody",h.template(F0)),h.registerPartial("node/getResponseHeader",h.template($0)),h.registerPartial("node/sendRequest",h.template(M0)),h.registerPartial("node/request",h.template(L0)),h.registerPartial("axios/getHeaders",h.template(u0)),h.registerPartial("axios/getRequestBody",h.template(c0)),h.registerPartial("axios/getResponseBody",h.template(p0)),h.registerPartial("axios/getResponseHeader",h.template(f0)),h.registerPartial("axios/sendRequest",h.template(d0)),h.registerPartial("axios/request",h.template(m0)),h.registerPartial("angular/getHeaders",h.template(e0)),h.registerPartial("angular/getRequestBody",h.template(n0)),h.registerPartial("angular/getResponseBody",h.template(t0)),h.registerPartial("angular/getResponseHeader",h.template(r0)),h.registerPartial("angular/sendRequest",h.template(a0)),h.registerPartial("angular/request",h.template(o0)),S})({httpClient:o,useUnionTypes:t,useOptions:r});switch(g){case wn.V2:{let x=oy(y),S=cu(x);if(!d)break;await xu(S,P,n,o,r,t,a,l,s,u,p,c,f,i,m);break}case wn.V3:{let x=yy(y),S=cu(x);if(!d)break;await xu(S,P,n,o,r,t,a,l,s,u,p,c,f,i,m);break}}},Av={HttpClient:exports.HttpClient,generate:ju};exports.default=Av,exports.generate=ju; diff --git a/packages/openapi-fetch/vitest.config.ts b/packages/openapi-fetch/vitest.config.ts index 412b39e51..3cdd106a6 100644 --- a/packages/openapi-fetch/vitest.config.ts +++ b/packages/openapi-fetch/vitest.config.ts @@ -7,5 +7,6 @@ export default defineConfig({ enabled: true, tsconfig: "./tsconfig.json", }, + restoreMocks: true, }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4d59c061c..bd52eee04 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,9 +53,6 @@ importers: openapi-typescript-helpers: specifier: workspace:^ version: link:../openapi-typescript-helpers - vitest-fetch-mock: - specifier: ^0.3.0 - version: 0.3.0(vitest@2.0.5(@types/node@22.5.2)(jsdom@20.0.3)) devDependencies: axios: specifier: ^1.7.7 @@ -1947,9 +1944,6 @@ packages: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} - cross-fetch@4.0.0: - resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} - cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} @@ -3528,12 +3522,6 @@ packages: postcss: optional: true - vitest-fetch-mock@0.3.0: - resolution: {integrity: sha512-g6upWcL8/32fXL43/5f4VHcocuwQIi9Fj5othcK9gPO8XqSEGtnIZdenr2IaipDr61ReRFt+vaOEgo8jiUUX5w==} - engines: {node: '>=14.14.0'} - peerDependencies: - vitest: '>=2.0.0' - vitest@2.0.5: resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5326,12 +5314,6 @@ snapshots: dependencies: is-what: 4.1.16 - cross-fetch@4.0.0: - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - cross-spawn@5.1.0: dependencies: lru-cache: 4.1.5 @@ -5379,6 +5361,10 @@ snapshots: optionalDependencies: supports-color: 9.4.0 + debug@4.3.6: + dependencies: + ms: 2.1.2 + debug@4.3.6(supports-color@9.4.0): dependencies: ms: 2.1.2 @@ -6634,7 +6620,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.6(supports-color@9.4.0) + debug: 4.3.6 fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 3.5.1 @@ -6897,13 +6883,6 @@ snapshots: - typescript - universal-cookie - vitest-fetch-mock@0.3.0(vitest@2.0.5(@types/node@22.5.2)(jsdom@20.0.3)): - dependencies: - cross-fetch: 4.0.0 - vitest: 2.0.5(@types/node@22.5.2)(jsdom@20.0.3) - transitivePeerDependencies: - - encoding - vitest@2.0.5(@types/node@22.5.2)(jsdom@20.0.3): dependencies: '@ampproject/remapping': 2.3.0 From a9cd9aa56dd9dec043a4e4fd85527acac227a142 Mon Sep 17 00:00:00 2001 From: Brad Harker Date: Tue, 3 Sep 2024 16:08:04 -0400 Subject: [PATCH 15/67] feat(openapi-typescript): Optional Export Root Type Aliases (#1876) * Add root component type aliases * Add tests for root component types * Add root types CLI option docs * Add unit test for components root types * Add schema name conflict detection * Add tests for components root types beyond schemas * Add cross-component conflict checks * Update examples * Fix biome linting issues * Add changeset --------- Co-authored-by: bdh9 --- .changeset/late-geese-begin.md | 5 + docs/cli.md | 7 +- .../test/common/schemas/common.d.ts | 1532 +- packages/openapi-typescript/bin/cli.js | 3 + .../examples/github-api-root-types.ts | 118762 +++++++++++++++ packages/openapi-typescript/package.json | 1 + .../scripts/update-examples.ts | 1 + packages/openapi-typescript/src/index.ts | 1 + .../src/transform/components-object.ts | 43 +- .../openapi-typescript/src/transform/index.ts | 55 +- packages/openapi-typescript/src/types.ts | 3 + packages/openapi-typescript/test/cli.test.ts | 8 + .../openapi-typescript/test/test-helpers.ts | 1 + .../test/transform/components-object.test.ts | 235 + pnpm-lock.yaml | 14 +- 15 files changed, 119872 insertions(+), 799 deletions(-) create mode 100644 .changeset/late-geese-begin.md create mode 100644 packages/openapi-typescript/examples/github-api-root-types.ts diff --git a/.changeset/late-geese-begin.md b/.changeset/late-geese-begin.md new file mode 100644 index 000000000..8a73acc1b --- /dev/null +++ b/.changeset/late-geese-begin.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": minor +--- + +Add option to export all root component types diff --git a/docs/cli.md b/docs/cli.md index 1c3c8b7c2..a044c02e9 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -104,21 +104,22 @@ The following flags are supported in the CLI: | `--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? | -| `--redocly [location]` | | | Path to a `redocly.yaml` file (see [Multiple schemas](#multiple-schemas)) | +| `--redocly [location]` | | | Path to a `redocly.yaml` file (see [Multiple schemas](#multiple-schemas)) | | `--additional-properties` | | `false` | Allow arbitrary properties for all schema objects without `additionalProperties: false` | | `--alphabetize` | | `false` | Sort types alphabetically | | `--array-length` | | `false` | Generate tuples using array `minItems` / `maxItems` | -| `--default-non-nullable` | | `true` | Treat schema objects with default values as non-nullable (with the exception of parameters) | +| `--default-non-nullable` | | `true` | Treat schema objects with default values as non-nullable (with the exception of parameters) | | `--properties-required-by-default` | | `false` | Treat schema objects without `required` as having all properties required. | | `--empty-objects-unknown` | | `false` | Allow arbitrary properties for schema objects with no specified properties, and no specified `additionalProperties` | | `--enum` | | `false` | Generate true [TS enums](https://www.typescriptlang.org/docs/handbook/enums.html) rather than string unions. | | `--enum-values` | | `false` | Export enum values as arrays. | | `--dedupe-enums` | | `false` | Dedupe enum types when `--enum=true` is set | -| `--check` | | `false` | Check that the generated types are up-to-date. | +| `--check` | | `false` | Check that the generated types are up-to-date. | | `--exclude-deprecated` | | `false` | Exclude deprecated fields from types | | `--export-type` | `-t` | `false` | Export `type` instead of `interface` | | `--immutable` | | `false` | Generates immutable types (readonly properties and readonly array) | | `--path-params-as-types` | | `false` | Allow dynamic string lookups on the `paths` object | +| `--root-types` | | `false` | Exports types from `components` as root level type aliases | ### pathParamsAsTypes diff --git a/packages/openapi-fetch/test/common/schemas/common.d.ts b/packages/openapi-fetch/test/common/schemas/common.d.ts index b684c117e..6e4d561a8 100644 --- a/packages/openapi-fetch/test/common/schemas/common.d.ts +++ b/packages/openapi-fetch/test/common/schemas/common.d.ts @@ -4,779 +4,779 @@ */ export interface paths { - "/resources": { - 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"]["ResourceList"]; - }; - }; - /** @description Internal Server Error */ - 500: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/resources/{id}": { - parameters: { - query?: { - version?: number; - format?: string; - }; - header?: never; - path: { - id: number; - }; - cookie?: never; - }; - get: { - parameters: { - query?: { - version?: number; - format?: string; - }; - header?: never; - path: { - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Resource"]; - }; - }; - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/error-404": { - 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"]["ResourceList"]; - }; - }; - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/error-500": { - 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"]["ResourceList"]; - }; - }; - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/error-default": { - 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"]["ResourceList"]; - }; - }; - /** @description Unexpected error */ - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/media-json": { - 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"]["ResourceList"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/media-vnd-json": { - 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/vnd.api+json": components["schemas"]["ResourceList"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/media-text": { - 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: { - "text/html": string; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/media-multiple": { - 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": { - foo: string; - }; - "application/ld+json": { - bar: string; - }; - "application/json5": { - baz: string; - }; - "text/html": string; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/mismatched-response": { - 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"]["Resource"]; - }; - }; - /** @description Created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ResourceList"]; - }; - }; - /** @description Unexpected error */ - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/mismatched-errors": { - 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"]["Resource"]; - }; - }; - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/path-params/{string}": { - parameters: { - query?: never; - header?: never; - path: { - string: string; - }; - cookie?: never; - }; - get: { - parameters: { - query?: never; - header?: never; - path: { - string: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - success?: boolean; - }; - }; - }; - /** @description Unexpected error */ - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}": { - parameters: { - query?: never; - header?: never; - path: { - simple_primitive: string; - simple_obj_flat: { - a: string; - c: string; - }; - simple_arr_flat: number[]; - simple_obj_explode: { - e: string; - g: string; - }; - simple_arr_explode: number[]; - label_primitive: string; - label_obj_flat: { - a: string; - c: string; - }; - label_arr_flat: number[]; - label_obj_explode: { - e: string; - g: string; - }; - label_arr_explode: number[]; - matrix_primitive: string; - matrix_obj_flat: { - a: string; - c: string; - }; - matrix_arr_flat: number[]; - matrix_obj_explode: { - e: string; - g: string; - }; - matrix_arr_explode: number[]; - }; - cookie?: never; - }; - get: { - parameters: { - query?: never; - header?: never; - path: { - simple_primitive: string; - simple_obj_flat: { - a: string; - c: string; - }; - simple_arr_flat: number[]; - simple_obj_explode: { - e: string; - g: string; - }; - simple_arr_explode: number[]; - label_primitive: string; - label_obj_flat: { - a: string; - c: string; - }; - label_arr_flat: number[]; - label_obj_explode: { - e: string; - g: string; - }; - label_arr_explode: number[]; - matrix_primitive: string; - matrix_obj_flat: { - a: string; - c: string; - }; - matrix_arr_flat: number[]; - matrix_obj_explode: { - e: string; - g: string; - }; - matrix_arr_explode: number[]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - status: string; - }; - }; - }; - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - 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; - }; - "/query-params": { - parameters: { - query?: { - string?: string; - number?: number; - boolean?: boolean; - array?: string[]; - object?: { - foo: string; - bar: string; - }; - }; - header?: never; - path?: never; - cookie?: never; - }; - get: { - parameters: { - query?: { - string?: string; - number?: number; - boolean?: boolean; - array?: string[]; - object?: { - foo: string; - bar: string; - }; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - status: string; - }; - }; - }; - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; + "/resources": { + 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"]["ResourceList"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/resources/{id}": { + parameters: { + query?: { + version?: number; + format?: string; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get: { + parameters: { + query?: { + version?: number; + format?: string; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Resource"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-404": { + 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"]["ResourceList"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-500": { + 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"]["ResourceList"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-default": { + 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"]["ResourceList"]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-json": { + 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"]["ResourceList"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-vnd-json": { + 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/vnd.api+json": components["schemas"]["ResourceList"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-text": { + 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: { + "text/html": string; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-multiple": { + 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": { + foo: string; + }; + "application/ld+json": { + bar: string; + }; + "application/json5": { + baz: string; + }; + "text/html": string; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/mismatched-response": { + 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"]["Resource"]; + }; + }; + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ResourceList"]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/mismatched-errors": { + 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"]["Resource"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/path-params/{string}": { + parameters: { + query?: never; + header?: never; + path: { + string: string; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + string: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + success?: boolean; + }; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}": { + parameters: { + query?: never; + header?: never; + path: { + simple_primitive: string; + simple_obj_flat: { + a: string; + c: string; + }; + simple_arr_flat: number[]; + simple_obj_explode: { + e: string; + g: string; + }; + simple_arr_explode: number[]; + label_primitive: string; + label_obj_flat: { + a: string; + c: string; + }; + label_arr_flat: number[]; + label_obj_explode: { + e: string; + g: string; + }; + label_arr_explode: number[]; + matrix_primitive: string; + matrix_obj_flat: { + a: string; + c: string; + }; + matrix_arr_flat: number[]; + matrix_obj_explode: { + e: string; + g: string; + }; + matrix_arr_explode: number[]; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + simple_primitive: string; + simple_obj_flat: { + a: string; + c: string; + }; + simple_arr_flat: number[]; + simple_obj_explode: { + e: string; + g: string; + }; + simple_arr_explode: number[]; + label_primitive: string; + label_obj_flat: { + a: string; + c: string; + }; + label_arr_flat: number[]; + label_obj_explode: { + e: string; + g: string; + }; + label_arr_explode: number[]; + matrix_primitive: string; + matrix_obj_flat: { + a: string; + c: string; + }; + matrix_arr_flat: number[]; + matrix_obj_explode: { + e: string; + g: string; + }; + matrix_arr_explode: number[]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + 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; + }; + "/query-params": { + parameters: { + query?: { + string?: string; + number?: number; + boolean?: boolean; + array?: string[]; + object?: { + foo: string; + bar: string; + }; + }; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + string?: string; + number?: number; + boolean?: boolean; + array?: string[]; + object?: { + foo: string; + bar: string; + }; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; } export type webhooks = Record; export interface components { - schemas: { - Error: { - code: number; - message: string; - }; - Resource: { - id: number; - }; - ResourceList: components["schemas"]["Resource"][]; + schemas: { + Error: { + code: number; + message: string; + }; + Resource: { + id: number; }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + ResourceList: components["schemas"]["Resource"][]; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record; export interface operations { - 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: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; + }; } diff --git a/packages/openapi-typescript/bin/cli.js b/packages/openapi-typescript/bin/cli.js index 28c481ade..a974cc488 100755 --- a/packages/openapi-typescript/bin/cli.js +++ b/packages/openapi-typescript/bin/cli.js @@ -30,6 +30,7 @@ Options --path-params-as-types Convert paths to template literal types --alphabetize Sort object keys alphabetically --exclude-deprecated Exclude deprecated types + --root-types (optional) Export schemas types at root level `; const OUTPUT_FILE = "FILE"; @@ -74,6 +75,7 @@ const flags = parser(args, { "help", "immutable", "pathParamsAsTypes", + "rootTypes", ], string: ["output", "redocly"], alias: { @@ -133,6 +135,7 @@ async function generateSchema(schema, { redocly, silent = false }) { exportType: flags.exportType, immutable: flags.immutable, pathParamsAsTypes: flags.pathParamsAsTypes, + rootTypes: flags.rootTypes, redocly, silent, }), diff --git a/packages/openapi-typescript/examples/github-api-root-types.ts b/packages/openapi-typescript/examples/github-api-root-types.ts new file mode 100644 index 000000000..8d14aba18 --- /dev/null +++ b/packages/openapi-typescript/examples/github-api-root-types.ts @@ -0,0 +1,118762 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/": { + 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. + */ + 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. + */ + 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. + */ + 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 The permissions the installation has are included under the `permissions` 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. + */ + 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. + */ + 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. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * When using the repository or permission parameters to reduce the access of the token, the complexity of the token is increased due to both the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, the token will fail to be issued. If this occurs, the error message will indicate the maximum number of repositories that should be requested. For the average application requesting 8 permissions, this limit is around 5000 repositories. With fewer permissions requested, more repositories are supported. + * + * 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 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. 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. + */ + 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. 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. + * + * 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`). + */ + 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}/copilot/billing/seats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all Copilot seat assignments for an enterprise + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Lists all active Copilot seats across organizations or enterprise teams for an enterprise with a Copilot Business or Copilot Enterprise subscription. + * + * Users with access through multiple organizations or enterprise teams will only be counted toward `total_seats` once. + * + * For each organization or enterprise team which grants Copilot access to a user, a seat detail object will appear in the `seats` array. + * + * Only enterprise owners and billing managers can view assigned Copilot seats across their child organizations or enterprise teams. + * + * Personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/list-copilot-seats-for-enterprise"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for enterprise members + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, + * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * Only owners and billing managers can view Copilot usage metrics for the enterprise. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-enterprise"]; + 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. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + 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. + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is 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). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. + */ + 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 > [!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-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 Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * > [!NOTE] + * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-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; + }; + "/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; + /** + * 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"]; + 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/guides/using-pagination-in-the-rest-api), 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 + * @description Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + patch: operations["gists/update"]; + trace?: never; + }; + "/gists/{gist_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gist comments + * @description Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/list-comments"]; + put?: never; + /** + * Create a gist comment + * @description Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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 + * @description Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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 + * @description Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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 + * @description Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + 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 Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore 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. + */ + 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. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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/authentication/authenticating-to-the-rest-api#using-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 + * @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-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; + /** + * Mark a thread as done + * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + delete: operations["activity/mark-thread-as-done"]; + 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. + */ + 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. + * + * > [!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 Gets information about an organization. + * + * 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/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + 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 + */ + delete: operations["orgs/delete"]; + options?: never; + head?: never; + /** + * Update an organization + * @description > [!WARNING] + * > **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). + * + * > [!WARNING] + * > **Parameter deprecation notice:** Code security product enablement for new repositories through the organization API is deprecated. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). + * + * Updates the organization's profile and member privileges. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + 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. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-variable"]; + put?: never; + post?: never; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-variable"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["orgs/list-attestations"]; + put?: never; + post?: never; + delete?: never; + 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)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alerts-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get code security configurations for an organization + * @description Lists all code security configurations available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-org"]; + put?: never; + /** + * Create a code security configuration + * @description Creates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/create-configuration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default code security configurations + * @description Lists the default code security configurations for an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/detach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Detach configurations from repositories + * @description Detach code security configuration(s) from a set of repositories. + * Repositories will retain their settings but will no longer be associated with the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/detach-configuration"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code security configuration + * @description Gets a code security configuration available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configuration"]; + put?: never; + post?: never; + /** + * Delete a code security configuration + * @description Deletes the desired code security configuration from an organization. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration"]; + options?: never; + head?: never; + /** + * Update a code security configuration + * @description Updates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + patch: operations["code-security/update-configuration"]; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/attach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Attach a configuration to repositories + * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/attach-configuration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Set a code security configuration as a default for an organization + * @description Sets a code security configuration as a default to be applied to new repositories in your organization. + * + * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repositories associated with a code security configuration + * @description Lists the repositories associated with a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-configuration"]; + 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. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * OAuth app tokens and personal access tokens (classic) need 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)." + * + * OAuth app tokens and personal access tokens (classic) need 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)." + * + * OAuth app tokens and personal access tokens (classic) need 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 development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * OAuth app tokens and personal access tokens (classic) need 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 development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need 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 development 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)." + * + * OAuth app tokens and personal access tokens (classic) need 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 development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need 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`. + * + * OAuth app tokens and personal access tokens (classic) need 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 development environment 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). + * + * OAuth app tokens and personal access tokens (classic) need 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 development environment 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). + * OAuth app tokens and personal access tokens (classic) need 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 development environment 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). + * + * OAuth app tokens and personal access tokens (classic) need 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 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 subscription, including seat breakdown + * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)". + * + * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes 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 seat assignments for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Lists all active Copilot seats for an organization with a Copilot Business or Copilot Enterprise subscription. + * Only organization owners can view assigned seats. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes 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 subscription for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can add Copilot seats for their organization members. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * 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/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * The response will contain the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-teams"]; + /** + * Remove teams from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Cancels the Copilot 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 pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes 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 subscription for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can add Copilot seats for their organization members. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * 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/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * The response will contain the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-users"]; + /** + * Remove users from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Cancels the Copilot 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 pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for organization members + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * Organization owners, and owners and billing managers of the parent enterprise, can view Copilot usage metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-org"]; + put?: never; + post?: never; + delete?: never; + 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. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + 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 + * @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-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 + * @description You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhooks"]; + put?: never; + /** + * Create an organization webhook + * @description Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook"]; + put?: never; + post?: never; + /** + * Delete an organization webhook + * @description You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + 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. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * + * OAuth app tokens and personal access tokens (classic) need 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 seat assignment details for a user + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * Gets the GitHub Copilot seat assignment details for a member of an organization who currently has access to GitHub Copilot. + * + * Only organization owners can view Copilot seat assignment details for members of their organization. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-seat-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, organization owners are limited to creating 50 organization invitations for an organization within a 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}/organization-roles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-roles"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove all organization roles for a team + * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Assign an organization role to a team + * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-team-to-org-role"]; + post?: never; + /** + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/users/{username}/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Assign an organization role to a user + * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-user-to-org-role"]; + post?: never; + /** + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/get-org-role"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams that are assigned to an organization role + * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users that are assigned to an organization role + * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-users"]; + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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 use this endpoint. + */ + 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}/properties/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-all-custom-properties"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties"]; + trace?: never; + }; + "/orgs/{org}/properties/schema/{custom_property_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a custom property for an organization + * @description Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-custom-property"]; + /** + * Create or update a custom property for an organization + * @description Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + put: operations["orgs/create-or-update-custom-property"]; + post?: never; + /** + * Remove a custom property for an organization + * @description Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + delete: operations["orgs/remove-custom-property"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/properties/values": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List custom property values for organization repositories + * @description Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + get: operations["orgs/list-custom-properties-values-for-repos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom property values for organization repositories + * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties-values-for-repos"]; + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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 app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `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. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + 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)." + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope 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." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope 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." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + 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. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-in-org"]; + put?: never; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-in-org"]; + put?: never; + post?: never; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-in-org"]; + put?: never; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-in-org"]; + put?: never; + post?: never; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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). + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + 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). + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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). + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + 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). + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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/using-the-rest-api/getting-started-with-the-rest-api#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. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * > [!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 + * @deprecated + * @description > [!WARNING] + * > **Deprecation notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is deprecated. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). + * + * Enables or disables the specified security feature for all eligible repositories in 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)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + 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/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/about-the-rest-api/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 an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-artifact"]; + put?: never; + post?: never; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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 organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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 the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner for a repository + * @description Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This API will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run"]; + put?: never; + post?: never; + /** + * Delete a workflow run + * @description Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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, OAuth tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-variable"]; + put?: never; + post?: never; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope 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/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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 activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + 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}/attestations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create an attestation + * @description Store an artifact attestation and associate it with a repository. + * + * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["repos/create-attestation"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. + * + * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["repos/list-attestations"]; + 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; + }; + /** + * Get all autolinks of a repository + * @description Gets all autolinks that are configured for a 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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents 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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents 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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents 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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents 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 authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need 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 Creates a new check run for a specific commit in a repository. + * + * To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite. + * + * 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. + * + * > [!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. + */ + 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 Gets a single check run using its `id`. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on 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. + * + * > [!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. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on 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. + * + * 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)". + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + 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 Creates a check suite manually. 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)". + * + * > [!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`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + 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 Gets a single check suite using its `id`. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on 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`. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + 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. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + 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. + * + * 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). + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * > [!WARNING] + * > **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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data 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). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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/using-the-rest-api/getting-started-with-the-rest-api#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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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/codeql/variant-analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a CodeQL variant analysis + * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. + * + * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). + * + * Use the `owner` and `repo` parameters in the URL to specify the controller repository that + * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["code-scanning/create-variant-analysis"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the summary of a CodeQL variant analysis + * @description Gets the summary of a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the analysis status of a repository in a CodeQL variant analysis + * @description Gets the analysis status of a repository in a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis-repo-task"]; + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * + * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. + */ + 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)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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 development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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, OAuth app tokens and personal access tokens (classic) need the `repo` scope 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 development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository development 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-repo-secret"]; + post?: never; + /** + * Delete a repository secret + * @description Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes 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. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * 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 Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 + * @description Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 + * @description Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 and the default JSON media type is requested, 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. 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. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + 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. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + 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 refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * 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, and it includes up to 300 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 with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * 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 [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 and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field 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. + * + * **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. + * - 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 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. + */ + get: operations["repos/get-content"]; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + 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 OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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 OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/get-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a Dependabot alert + * @description The authenticated user must have access to security alerts for the repository to use this endpoint. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + 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. + * + * 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + 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 input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + post?: never; + /** + * Delete an environment + * @description OAuth app tokens and personal access tokens (classic) need 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-deployment-branch-policies"]; + put?: never; + /** + * Create a deployment branch policy + * @description Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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 or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-deployment-branch-policy"]; + /** + * Update a deployment branch policy + * @description Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-deployment-branch-policy"]; + post?: never; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope 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. For more information about environments, see "[Using environments for deployment](https://docs.github.com/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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * The authenticated user must have admin or owner permissions to the repository 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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/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)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. For more information about environments, see "[Using environments for deployment](https://docs.github.com/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). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + 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. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/disable-deployment-protection-rule"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment variables + * @description Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-environment-variable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-variable"]; + put?: never; + post?: never; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-environment-variable"]; + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint 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 + * @description Deletes the provided reference. + */ + delete: operations["git/delete-ref"]; + options?: never; + head?: never; + /** + * Update a reference + * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + 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 + * @deprecated + * @description View the progress of an import. + * + * > [!WARNING] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + * + * **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 + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + put: operations["migrations/start-import"]; + post?: never; + /** + * Cancel an import + * @deprecated + * @description Stop an import for a repository. + * + * > [!WARNING] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + delete: operations["migrations/cancel-import"]; + options?: never; + head?: never; + /** + * Update an import + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/update-import"]; + trace?: never; + }; + "/repos/{owner}/{repo}/import/authors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get commit authors + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + 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 + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + 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 + * @deprecated + * @description List files larger than 100MB found during the import + * + * > [!WARNING] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + 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 + * @deprecated + * @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] + * > **Deprecation notice:** Due to very low levels of usage and available alternatives, this endpoint is deprecated and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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/guides/best-practices-for-using-the-rest-api#follow-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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-build"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments": { + 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. + * + * The authenticated user must have write permission to the repository. + */ + post: operations["repos/create-pages-deployment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the status of a GitHub Pages deployment + * @description Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + get: operations["repos/get-pages-deployment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Cancel a GitHub Pages deployment + * @description Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + post: operations["repos/cancel-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. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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; + }; + /** + * Check if private vulnerability reporting is enabled for a repository + * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + get: operations["repos/check-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"]; + 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}/properties/values": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all custom property values for a repository + * @description Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + get: operations["repos/get-custom-properties-values"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom property values for a repository + * @description Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + patch: operations["repos/create-or-update-custom-properties-values"]; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests + * @description Lists pull requests in a specified repository. + * + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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/rest/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/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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 specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments"]; + put?: never; + /** + * Create a review comment for a pull request + * @description Creates a review comment on the diff of a specified pull request. 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)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Lists the files in a specified pull request. + * + * > [!NOTE] + * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + 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 Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-reviews"]; + put?: never; + /** + * Create a review for a pull request + * @description Creates a review on a specified 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * 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. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review"]; + /** + * Update a review for a pull request + * @description Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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 Dismisses a specified review on a pull request. + * + * > [!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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + 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/using-the-rest-api/getting-started-with-the-rest-api#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 Gets a public release with the specified release ID. + * + * > [!NOTE] + * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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/using-the-rest-api/getting-started-with-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. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + 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. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/list-repository-advisories"]; + put?: never; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + 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. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + 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. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + 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. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory-cve-request"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a temporary private fork + * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * > [!NOTE] + * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + post: operations["security-advisories/create-fork"]; + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + 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. + * + * > [!NOTE] + * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. + */ + 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](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * > [!NOTE] + * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more 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; + }; + /** + * Deprecated - List tag protection states for a repository + * @deprecated + * @description > [!WARNING] + * > **Deprecation notice:** This operation is deprecated and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. + * + * 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; + /** + * Deprecated - Create a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Deprecation notice:** This operation is deprecated and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. + * + * 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; + /** + * Deprecated - Delete a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Deprecation notice:** This operation is deprecated and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + 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/). + */ + 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 app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `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; + }; + "/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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/guides/using-pagination-in-the-rest-api). 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/guides/using-pagination-in-the-rest-api). + * + * 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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-legacy"]; + put?: never; + /** + * Create a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-legacy"]; + put?: never; + post?: never; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-legacy"]; + options?: never; + head?: never; + /** + * Update a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-legacy"]; + put?: never; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-legacy"]; + put?: never; + post?: never; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + options?: never; + head?: never; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + put?: never; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + put?: never; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + 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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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 > [!WARNING] + * > **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. + * + * > [!NOTE] + * > 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/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + post?: never; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **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 > [!WARNING] + * > **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 OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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 development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment 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)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment 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. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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 development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-emails-for-authenticated-user"]; + put?: never; + /** + * Add an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-email-for-authenticated-user"]; + /** + * Delete an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + put: operations["users/follow"]; + post?: never; + /** + * Unfollow a user + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + 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. + * + * 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. + * + * 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. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + 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`. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + 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. + */ + 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. + */ + 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. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint 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 for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, `repo` scope is also required. For the list 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + 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 app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `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. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + get: operations["teams/list-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user using their ID + * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + * + * 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/guides/getting-started-with-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-id"]; + 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. + * + * 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/guides/getting-started-with-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}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["users/list-attestations"]; + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + 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. + * + * > [!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-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. + * + * > [!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-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 + * @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-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. 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, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. 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)." + */ + 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 repositories and following users. If you are authenticated as the + * given user, you will see private events. Otherwise, you'll only see public events. + * + * > [!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-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 + * @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-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. + */ + 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + 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 */ + 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 + * @deprecated + */ + 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"; + /** @description A vulnerability describing the product and its affected versions within a GitHub Security 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 that resolves the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + readonly vulnerable_functions: string[] | null; + }; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/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. */ + 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: components["schemas"]["vulnerability"][] | 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[]; + }; + /** + * Simple User + * @description A GitHub user. + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/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; + }; + /** + * @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; + /** + * 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; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | 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; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | 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 to create, edit, delete, and list Codespaces. + * @enum {string} + */ + codespaces?: "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 leve of permission to grant the access token to manage Dependabot secrets. + * @enum {string} + */ + dependabot_secrets?: "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 view and edit custom properties for a repository, when allowed by the property. + * @enum {string} + */ + repository_custom_properties?: "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. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom organization roles management. + * @enum {string} + */ + organization_custom_org_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom property management. + * @enum {string} + */ + organization_custom_properties?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in beta and is subject to change. + * @enum {string} + */ + organization_copilot_seat_management?: "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 view events triggered by an activity in an organization. + * @enum {string} + */ + organization_events?: "read"; + /** + * @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"; + /** + * @description The level of permission to grant the access token to manage the email addresses belonging to a user. + * @enum {string} + */ + email_addresses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the followers belonging to a user. + * @enum {string} + */ + followers?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage git SSH keys. + * @enum {string} + */ + git_ssh_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GPG keys belonging to a user. + * @enum {string} + */ + gpg_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage interaction limits on a repository. + * @enum {string} + */ + interaction_limits?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the profile settings belonging to a user. + * @enum {string} + */ + profile?: "write"; + /** + * @description The level of permission to grant the access token to list and manage repositories a user is starring. + * @enum {string} + */ + starring?: "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: { + /** + * Format: int64 + * @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; + }; + 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, in kilobytes. 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; + 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; + 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: { + /** Format: int64 */ + 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](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + * */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** + * 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; + }; + }; + /** + * 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; + }; + /** + * Enterprise Team + * @description Group of enterprise owners and/or members + */ + "enterprise-team": { + /** Format: int64 */ + id: number; + name: string; + slug: string; + /** Format: uri */ + url: string; + /** @example disabled | all */ + sync_to_organizations: string; + /** @example 1 */ + group_id?: number | null; + /** + * Format: uri + * @example https://github.com/enterprises/dc/teams/justice-league + */ + html_url: string; + members_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Copilot Business Seat Detail + * @description Information about a Copilot 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 organization to which this seat belongs. */ + organization?: components["schemas"]["organization-simple"] | null; + /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ + assigning_team?: (components["schemas"]["team"] | components["schemas"]["enterprise-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; + }; + /** + * Copilot Usage Metrics + * @description Summary of Copilot usage. + */ + "copilot-usage-metrics": { + /** + * Format: date + * @description The date for which the usage metrics are reported, in `YYYY-MM-DD` format. + */ + day: string; + /** @description The total number of Copilot code completion suggestions shown to users. */ + total_suggestions_count?: number; + /** @description The total number of Copilot code completion suggestions accepted by users. */ + total_acceptances_count?: number; + /** @description The total number of lines of code completions suggested by Copilot. */ + total_lines_suggested?: number; + /** @description The total number of lines of code completions accepted by users. */ + total_lines_accepted?: number; + /** @description The total number of users who were shown Copilot code completion suggestions during the day specified. */ + total_active_users?: number; + /** @description The total instances of users who accepted code suggested by Copilot Chat in the IDE (panel and inline). */ + total_chat_acceptances?: number; + /** @description The total number of chat turns (prompt and response pairs) sent between users and Copilot Chat in the IDE. */ + total_chat_turns?: number; + /** @description The total number of users who interacted with Copilot Chat in the IDE during the day specified. */ + total_active_chat_users?: number; + /** @description Breakdown of Copilot code completions usage by language and editor */ + breakdown: ({ + /** @description The language in which Copilot suggestions were shown to users in the specified editor. */ + language?: string; + /** @description The editor in which Copilot suggestions were shown to users for the specified language. */ + editor?: string; + /** @description The number of Copilot suggestions shown to users in the editor specified during the day specified. */ + suggestions_count?: number; + /** @description The number of Copilot suggestions accepted by users in the editor specified during the day specified. */ + acceptances_count?: number; + /** @description The number of lines of code suggested by Copilot in the editor specified during the day specified. */ + lines_suggested?: number; + /** @description The number of lines of code accepted by users in the editor specified during the day specified. */ + lines_accepted?: number; + /** @description The number of users who were shown Copilot completion suggestions in the editor specified during the day specified. */ + active_users?: number; + } & { + [key: string]: unknown; + })[] | 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} + */ + 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. + */ + "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": { + /** + * Format: int64 + * @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} + */ + 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: 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`. + */ + "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; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + }; + /** + * 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; + }; + /** + * @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: (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; + /** Format: int64 */ + 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; + /** Format: email */ + notification_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" + * ] */ + actions_macos?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + dependabot?: string[]; + domains?: { + website?: string[]; + codespaces?: string[]; + copilot?: string[]; + packages?: string[]; + actions?: 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"; + }; + secret_scanning_non_provider_patterns?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** + * Format: int64 + * @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, in kilobytes. 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 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts 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_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * 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. + */ + "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": "false positive" | "won't fix" | "used in tests" | null; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "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 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 A set of tags applicable for the rule. */ + tags?: 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 Git reference, formatted as `refs/pull//merge`, `refs/pull//head`, + * `refs/heads/` or simply ``. */ + "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-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + }; + /** @description A code security configuration */ + "code-security-configuration": { + /** @description The ID of the code security configuration */ + id?: number; + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** + * @description The type of the code security configuration. + * @enum {string} + */ + target_type?: "global" | "organization"; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + /** + * Format: uri + * @description The URL of the configuration + */ + url?: string; + /** + * Format: uri + * @description The URL of the configuration + */ + html_url?: string; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** @description A list of default code security configurations */ + "code-security-default-configurations": { + /** + * @description The visibility of newly created repositories for which the code security configuration will be applied to by default + * @enum {unknown} + */ + default_for_new_repos?: "public" | "private_and_internal" | "all"; + configuration?: components["schemas"]["code-security-configuration"]; + }[]; + /** @description Repositories associated with a code security configuration and attachment status */ + "code-security-configuration-repositories": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + 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: { + /** + * Format: int64 + * @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 Business Seat Breakdown + * @description The breakdown of Copilot 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 Business Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot 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 organization policy for allowing or disallowing organization members to use Copilot Chat within their editor. + * @enum {string} + */ + ide_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing organization members to use Copilot features within github.com. + * @enum {string} + */ + platform_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing organization members to use Copilot within their CLI. + * @enum {string} + */ + cli?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The mode of assigning new seats. + * @enum {string} + */ + seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; + } & { + [key: string]: unknown; + }; + /** + * 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": { + /** + * Format: int64 + * @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, in kilobytes. 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": { + /** Format: int64 */ + 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: { + /** + * Format: int64 + * @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[]; + }; + /** + * Organization Role + * @description Organization roles + */ + "organization-role": { + /** + * Format: int64 + * @description The unique identifier of the role. + */ + id: number; + /** @description The name of the role. */ + name: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string | null; + /** @description A list of permissions included in this role. */ + permissions: string[]; + organization: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The date and time the role was created. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the role was last updated. + */ + updated_at: string; + }; + /** + * A Role Assignment for a Team + * @description The Relationship a Team has with a role. + */ + "team-role-assignment": { + 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"]; + }; + /** + * 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; + }; + /** + * A Role Assignment for a User + * @description The Relationship a User has with a role. + */ + "user-role-assignment": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: 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} + */ + 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; + }; + /** + * Organization Custom Property + * @description Custom property defined on an organization + */ + "org-custom-property": { + /** @description The name of the property */ + property_name: string; + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: (string | string[]) | null; + /** @description Short description of the property */ + description?: string | null; + /** @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Value + * @description Custom property name and associated value + */ + "custom-property-value": { + /** @description The name of the property */ + property_name: string; + /** @description The value assigned to the property */ + value: (string | string[]) | null; + }; + /** + * Organization Repository Custom Property Values + * @description List of custom property values for a repository + */ + "org-repo-custom-property-values": { + /** @example 1296269 */ + repository_id: number; + /** @example Hello-World */ + repository_name: string; + /** @example octocat/Hello-World */ + repository_full_name: string; + /** @description List of custom property names and associated values */ + properties: components["schemas"]["custom-property-value"][]; + }; + /** + * Repository + * @description A repository on GitHub. + */ + "nullable-repository": { + /** + * Format: int64 + * @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; + }; + 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, in kilobytes. 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; + 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; + 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; + }; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** + * Format: int64 + * @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, in kilobytes. 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"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * @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. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. + * */ + actor_id?: number | null; + /** + * @description The type of actor that can bypass a ruleset. + * + * @enum {string} + */ + actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; + /** + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. + * + * @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[]; + }; + }; + /** + * Repository ruleset property targeting definition + * @description Parameters for a targeting a repository property + */ + "repository-ruleset-conditions-repository-property-spec": { + /** @description The name of the repository property to target */ + name: string; + /** @description The values to match for the repository property */ + property_values: string[]; + /** + * @description The source of the repository property. Defaults to 'custom' if not specified. + * @enum {string} + */ + source?: "custom" | "system"; + }; + /** + * Repository ruleset conditions for repository properties + * @description Parameters for a repository property condition + */ + "repository-ruleset-conditions-repository-property-target": { + repository_property: { + /** @description The repository properties and values to include. All of these properties must match for the condition to pass. */ + include?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + /** @description The repository properties and values to exclude. The condition will not pass if any of these properties match. */ + exclude?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + }; + }; + /** + * 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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-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"; + }; + /** + * merge_queue + * @description Merges must be performed via a merge queue. + */ + "repository-rule-merge-queue": { + /** @enum {string} */ + type: "merge_queue"; + parameters?: { + /** @description Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed */ + check_response_timeout_minutes: number; + /** + * @description When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + * @enum {string} + */ + grouping_strategy: "ALLGREEN" | "HEADGREEN"; + /** @description Limit the number of queued pull requests requesting checks and workflow runs at the same time. */ + max_entries_to_build: number; + /** @description The maximum number of PRs that will be merged together in a group. */ + max_entries_to_merge: number; + /** + * @description Method to use when merging changes from queued pull requests. + * @enum {string} + */ + merge_method: "MERGE" | "SQUASH" | "REBASE"; + /** @description The minimum number of PRs that will be merged together in a group. */ + min_entries_to_merge: number; + /** @description The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. */ + min_entries_to_merge_wait_minutes: number; + }; + }; + /** + * required_deployments + * @description Choose which environments must be successfully deployed to before refs can be pushed into a ref 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 the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. + */ + "repository-rule-required-status-checks": { + /** @enum {string} */ + type: "required_status_checks"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @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} */ + 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; + }; + }; + /** + * RestrictedCommits + * @description Restricted commit + */ + "repository-rule-params-restricted-commits": { + /** @description Full or abbreviated commit hash to reject */ + oid: string; + /** @description Reason for restriction */ + reason?: string; + }; + /** + * WorkflowFileReference + * @description A workflow that must run for this rule to pass + */ + "repository-rule-params-workflow-file-reference": { + /** @description The path to the workflow file */ + path: string; + /** @description The ref (branch or tag) of the workflow file to use */ + ref?: string; + /** @description The ID of the repository where the workflow is defined */ + repository_id: number; + /** @description The commit SHA of the workflow file to use */ + sha?: string; + }; + /** + * workflows + * @description Require all changes made to a targeted branch to pass the specified workflows before they can be merged. + */ + "repository-rule-workflows": { + /** @enum {string} */ + type: "workflows"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Workflows that must pass for this rule to pass. */ + workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][]; + }; + }; + /** + * CodeScanningTool + * @description A tool that must provide code scanning results for this rule to pass. + */ + "repository-rule-params-code-scanning-tool": { + /** + * @description The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + alerts_threshold: "none" | "errors" | "errors_and_warnings" | "all"; + /** + * @description The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + security_alerts_threshold: "none" | "critical" | "high_or_higher" | "medium_or_higher" | "all"; + /** @description The name of a code scanning tool */ + tool: string; + }; + /** + * code_scanning + * @description Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. + */ + "repository-rule-code-scanning": { + /** @enum {string} */ + type: "code_scanning"; + parameters?: { + /** @description Tools that must provide code scanning results for this rule to pass. */ + code_scanning_tools: components["schemas"]["repository-rule-params-code-scanning-tool"][]; + }; + }; + /** + * 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-merge-queue"] | 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"] | { + /** @enum {string} */ + type: "file_path_restriction"; + parameters?: { + /** @description The file paths that are restricted from being pushed to the commit graph. */ + restricted_file_paths: string[]; + }; + } | { + /** @enum {string} */ + type: "max_file_path_length"; + parameters?: { + /** @description The maximum amount of characters allowed in file paths */ + max_file_path_length: number; + }; + } | { + /** @enum {string} */ + type: "file_extension_restriction"; + parameters?: { + /** @description The file extensions that are restricted from being pushed to the commit graph. */ + restricted_file_extensions: string[]; + }; + } | { + /** @enum {string} */ + type: "max_file_size"; + parameters?: { + /** @description The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). */ + max_file_size: number; + }; + } | components["schemas"]["repository-rule-workflows"] | components["schemas"]["repository-rule-code-scanning"]; + /** + * 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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + /** + * @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"]) | null; + 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 + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @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} + */ + 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 | null; + /** @description The handle for the GitHub user account. */ + actor_name?: string | null; + /** @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 + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @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} + */ + 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; + /** + * Format: uri + * @description The API URL for the advisory. + */ + readonly 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 The severity of the advisory. + * @enum {string|null} + */ + severity: "critical" | "high" | "medium" | "low" | null; + /** @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; + }; + "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 owners. + * @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; + }; + }; + /** + * 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; + 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; + /** + * Format: int64 + * @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"]; + }; + /** + * 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; + }[]; + }; + /** + * 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" | "waiting" | "requested" | "pending"; + /** + * @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 repositories 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": { + /** Format: int64 */ + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + 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: { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @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: { + [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; + }[]; + }; + }; + 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; + /** Format: int64 */ + 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: { + /** + * 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"]["simple-user"] | components["schemas"]["empty-object"]) | null; + committer: (components["schemas"]["simple-user"] | components["schemas"]["empty-object"]) | null; + 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?: { + /** + * 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. Statuses of waiting, requested, and pending are reserved for GitHub Actions check runs. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * @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; + /** + * @description The phase of the lifecycle that the check suite is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check suites. + * @example completed + * @enum {string|null} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending" | 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-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-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; + }; + "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; + 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 + */ + 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; + /** + * 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 The commit SHA of the repository at the time the CodeQL database was created. */ + commit_oid?: string | null; + }; + /** + * @description The language targeted by the CodeQL query + * @enum {string} + */ + "code-scanning-variant-analysis-language": "cpp" | "csharp" | "go" | "java" | "javascript" | "python" | "ruby" | "swift"; + /** + * Repository Identifier + * @description Repository Identifier + */ + "code-scanning-variant-analysis-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @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; + /** @description Whether the repository is private. */ + private: boolean; + /** @example 80 */ + stargazers_count: number; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + }; + /** + * @description The new status of the CodeQL variant analysis repository task. + * @enum {string} + */ + "code-scanning-variant-analysis-status": "pending" | "in_progress" | "succeeded" | "failed" | "canceled" | "timed_out"; + "code-scanning-variant-analysis-skipped-repo-group": { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of repositories that were skipped. This list may not include all repositories that were skipped. This is only available when the repository was found and the user has access to it. */ + repositories: components["schemas"]["code-scanning-variant-analysis-repository"][]; + }; + /** + * Variant Analysis + * @description A run of a CodeQL query against one or more repositories. + */ + "code-scanning-variant-analysis": { + /** @description The ID of the variant analysis. */ + id: number; + controller_repo: components["schemas"]["simple-repository"]; + actor: components["schemas"]["simple-user"]; + query_language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description The download url for the query pack. */ + query_pack_url: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis 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 variant analysis was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at?: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was completed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the variant analysis has not yet completed or this information is not available. + */ + completed_at?: string | null; + /** @enum {string} */ + status: "in_progress" | "succeeded" | "failed" | "cancelled"; + /** @description The GitHub Actions workflow run used to execute this variant analysis. This is only available if the workflow run has started. */ + actions_workflow_run_id?: number; + /** + * @description The reason for a failure of the variant analysis. This is only available if the variant analysis has failed. + * @enum {string} + */ + failure_reason?: "no_repos_queried" | "actions_workflow_run_failed" | "internal_error"; + scanned_repositories?: { + repository: components["schemas"]["code-scanning-variant-analysis-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + }[]; + /** @description Information about repositories that were skipped from processing. This information is only available to the user that initiated the variant analysis. */ + skipped_repositories?: { + access_mismatch_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + not_found_repos: { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of full repository names that were skipped. This list may not include all repositories that were skipped. */ + repository_full_names: string[]; + }; + no_codeql_db_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + over_limit_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + }; + }; + "code-scanning-variant-analysis-repo-task": { + repository: components["schemas"]["simple-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + /** @description The SHA of the commit the CodeQL database was built against. This is only available for successful analyses. */ + database_commit_sha?: string; + /** @description The source location prefix to use. This is only available for successful analyses. */ + source_location_prefix?: string; + /** @description The URL of the artifact. This is only available for successful analyses. */ + artifact_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 analyzed. */ + 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 The desired state of code scanning default setup. + * @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. */ + 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 The full Git reference, formatted as `refs/heads/`, + * `refs/tags/`, `refs/pull//merge`, or `refs/pull//head`. + * @example refs/heads/main + */ + "code-scanning-ref-full": 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. + */ + 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} + */ + processing_status?: "pending" | "complete" | "failed"; + /** + * 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 + */ + 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 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 + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @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": { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @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} + */ + 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: 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} + */ + 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; + /** + * @description The copyright holders of the package, and any dates present with those notices, if available. + * @example Copyright (c) 1985 GitHub.com + */ + copyrightText?: 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; + /** + * Format: int64 + * @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: { + /** + * Format: int64 + * @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"]; + }; + /** + * @description Whether or not a user who created the job is prevented from approving their own job. + * @example false + */ + "prevent-self-review": boolean; + /** + * Deployment branch policy + * @description Details of a deployment branch or tag policy. + */ + "deployment-branch-policy": { + /** + * @description The unique identifier of the branch or tag policy. + * @example 361471 + */ + id?: number; + /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ + node_id?: string; + /** + * @description The name pattern that branches or tags must match in order to deploy to the environment. + * @example release/* + */ + name?: string; + /** + * @description Whether this rule targets a branch or tag. + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** Deployment branch and tag policy name pattern */ + "deployment-branch-policy-name-pattern-with-type": { + /** + * @description The name pattern that branches or tags 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; + /** + * @description Whether this rule targets a branch or tag + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** 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: { + /** + * 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; + }; + /** + * 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; + }[]; + }; + /** 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: components["schemas"]["webhook-config"]; + /** + * 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: (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 + * @description Unique identifier for the label. + * @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; + /** + * @description Optional description of the label, such as its purpose. + * @example Something isn't working + */ + description: string | null; + /** + * @description 6-character hex code, without the leading #, identifying the color + * @example FFFFFF + */ + color: string; + /** + * @description Whether this label comes by default in a new repository. + * @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: { + /** + * 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 + * @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; + /** + * Format: int64 + * @description The ID of the pull request review to which the comment belongs. + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @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"; + /** + * @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": { + /** @description The ID of the GitHub Pages deployment. This is the Git SHA of the deployed commit. */ + id: number | string; + /** + * Format: uri + * @description The URI to monitor GitHub Pages deployment status. + * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251 + */ + 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; + }; + /** GitHub Pages deployment status */ + "pages-deployment-status": { + /** + * @description The current status of the deployment. + * @enum {string} + */ + status?: "deployment_in_progress" | "syncing_files" | "finished_file_sync" | "updating_pages" | "purging_cdn" | "deployment_cancelled" | "deployment_failed" | "deployment_content_failed" | "deployment_attempt_error" | "deployment_lost" | "succeed"; + }; + /** + * 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + 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; + /** Format: int64 */ + 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": { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @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"; + /** + * @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-merge-queue"] & 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"]) | (components["schemas"]["repository-rule-workflows"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-code-scanning"] & 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 The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + }; + /** @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 a 'wiki_commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository wiki. */ + "secret-scanning-location-wiki-commit": { + /** + * @description The file path of the wiki page + * @example /example/Home.md + */ + 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 8-bit ASCII. */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8-bit ASCII. */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** + * @description The GitHub URL to get the associated wiki page + * @example https://github.com/octocat/Hello-World/wiki/Home/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + page_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example 302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_sha: string; + /** + * @description The GitHub URL to get the associated wiki commit + * @example https://github.com/octocat/Hello-World/wiki/_compare/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + 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; + }; + /** @description Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. */ + "secret-scanning-location-discussion-title": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082 + */ + discussion_title_url: string; + }; + /** @description Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. */ + "secret-scanning-location-discussion-body": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussion-4566270 + */ + discussion_body_url: string; + }; + /** @description Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. */ + "secret-scanning-location-discussion-comment": { + /** + * Format: uri + * @description The API URL to get the discussion comment where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussioncomment-4158232 + */ + discussion_comment_url: string; + }; + /** @description Represents a 'pull_request_title' secret scanning location type. This location type shows that a secret was detected in the title of a pull request. */ + "secret-scanning-location-pull-request-title": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pull/2846 + */ + pull_request_title_url: string; + }; + /** @description Represents a 'pull_request_body' secret scanning location type. This location type shows that a secret was detected in the body of a pull request. */ + "secret-scanning-location-pull-request-body": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pull/2846 + */ + pull_request_body_url: string; + }; + /** @description Represents a 'pull_request_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a pull request. */ + "secret-scanning-location-pull-request-comment": { + /** + * Format: uri + * @description The API URL to get the pull request comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + pull_request_comment_url: string; + }; + /** @description Represents a 'pull_request_review' secret scanning location type. This location type shows that a secret was detected in a review on a pull request. */ + "secret-scanning-location-pull-request-review": { + /** + * Format: uri + * @description The API URL to get the pull request review where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846/reviews/80 + */ + pull_request_review_url: string; + }; + /** @description Represents a 'pull_request_review_comment' secret scanning location type. This location type shows that a secret was detected in a review comment on a pull request. */ + "secret-scanning-location-pull-request-review-comment": { + /** + * Format: uri + * @description The API URL to get the pull request review comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 + */ + pull_request_review_comment_url: string; + }; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues, pull requests, discussions), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; + details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-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; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork: boolean; + }; + "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; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork: boolean; + }; + "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; + }[]; + }; + /** 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; + /** Format: int64 */ + 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; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: 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; + /** + * Format: email + * @example octocat@github.com + */ + notification_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": { + /** + * Format: int64 + * @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": { + /** + * Format: int64 + * @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: { + /** Format: int64 */ + 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; + /** Format: int64 */ + 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"]; + }; + /** + * Sigstore Bundle v0.1 + * @description Sigstore Bundle v0.1 + */ + "sigstore-bundle-0": { + mediaType?: string; + verificationMaterial?: { + x509CertificateChain?: { + certificates?: { + rawBytes?: string; + }[]; + }; + tlogEntries?: { + logIndex?: string; + logId?: { + keyId?: string; + }; + kindVersion?: { + kind?: string; + version?: string; + }; + integratedTime?: string; + inclusionPromise?: { + signedEntryTimestamp?: string; + }; + inclusionProof?: string | null; + canonicalizedBody?: string; + }[]; + timestampVerificationData?: string | null; + }; + dsseEnvelope?: { + payload?: string; + payloadType?: string; + signatures?: { + sig?: string; + keyid?: string; + }[]; + }; + }; + /** + * 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 */ + 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": { + /** + * Format: int64 + * @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, in kilobytes. 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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @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} + */ + 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; + }; + /** + * 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; + }; + /** + * 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. + */ + webhooks_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"; + /** + * @description The enforcement level of the branch lock setting. `off` means the branch is not locked, `non_admins` means the branch is read-only for non_admins, and `everyone` means the branch is read-only for everyone. + * @enum {string} + */ + lock_branch_enforcement_level: "off" | "non_admins" | "everyone"; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow users to pull changes from upstream when the branch is locked. This setting is only applicable for forks. */ + lock_allows_fork_sync?: boolean; + /** @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; + }; + /** @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; + }; + /** @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. */ + webhooks_code_scanning_commit_oid: string; + /** @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. */ + webhooks_code_scanning_ref: string; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + webhooks_deploy_pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + webhooks_ref_0: string; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + webhooks_deploy_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; + }; + /** Workflow */ + webhooks_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; + webhooks_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; + }; + 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"; + }[]; + webhooks_workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: unknown; + status: string; + updated_at: string; + }; + /** User */ + webhooks_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: 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: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + labels?: components["schemas"]["label"][]; + }; + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Label */ + webhooks_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 An array of repository objects that the installation can access. */ + webhooks_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; + }[]; + /** @description An array of repository objects, which were added to the installation. */ + webhooks_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 Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + webhooks_repository_selection: "all" | "selected"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + webhooks_issue_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"]["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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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 changes to the comment. */ + webhooks_changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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. + */ + webhooks_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; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue_2: { + /** @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 */ + webhooks_user_mannequin: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** Marketplace Purchase */ + webhooks_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 | 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; + }; + /** Marketplace Purchase */ + webhooks_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; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_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; + }; + /** + * 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": { + /** + * Format: int64 + * @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, in kilobytes. 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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @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} + */ + 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; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone_3: { + /** 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; + }; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | 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; + }; + /** Project Card */ + 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"; + /** 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; + }; + /** Project */ + webhooks_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; + }; + /** Project Column */ + webhooks_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; + }; + /** + * 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"]; + }; + webhooks_project_changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + /** + * 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; + }; + /** + * Projects v2 Single Select Option + * @description An option for a single select field + */ + "projects-v2-single-select-option": { + id: string; + name: string; + color?: string | null; + description?: string | null; + }; + /** + * Projects v2 Iteration Setting + * @description An iteration setting for an iteration field + */ + "projects-v2-iteration-setting": { + id: string; + title: string; + duration?: number | null; + start_date?: string | null; + }; + /** + * Projects v2 Status Update + * @description An status update belonging to a project + */ + "projects-v2-status-update": { + id: number; + node_id: string; + project_node_id?: string; + 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; + /** @enum {string|null} */ + status?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + /** + * Format: date + * @example 2022-04-28 + */ + start_date?: string; + /** + * Format: date + * @example 2022-04-28 + */ + target_date?: string; + /** + * @description Body of the status update + * @example The project is off to a great start! + */ + body?: string | null; + }; + /** @description The pull request number. */ + webhooks_number: number; + "pull-request-webhook": 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; + }; + /** Pull Request */ + webhooks_pull_request_5: { + _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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + webhooks_review_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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 review that was affected. */ + webhooks_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + webhooks_nullable_string: string | null; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + 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; + }; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release_1: { + 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; + } | null)[]; + /** 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 Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + webhooks_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"; + }; + /** + * @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 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 token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @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 details of the security advisory, including summary, description, and severity. */ + webhooks_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; + }; + 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; + }; + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + webhooks_effective_date: string; + webhooks_changes_8: { + 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; + }; + }; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team_1: { + 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; + }; + /** 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"]; + rule: components["schemas"]["webhooks_rule"]; + 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"]; + rule: components["schemas"]["webhooks_rule"]; + 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"; + }; + lock_branch_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_allows_fork_sync?: { + from: boolean | null; + }; + pull_request_reviews_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + require_last_push_approval?: { + from: boolean | null; + }; + 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"]; + rule: components["schemas"]["webhooks_rule"]; + 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. 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. 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. 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. + * @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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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. + * @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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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. + * @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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @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"]; + }; + /** custom property created event */ + "webhook-custom-property-created": { + /** @enum {string} */ + action: "created"; + definition: components["schemas"]["org-custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** custom property deleted event */ + "webhook-custom-property-deleted": { + /** @enum {string} */ + action: "deleted"; + definition: { + /** @description The name of the property that was deleted. */ + property_name: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** custom property updated event */ + "webhook-custom-property-updated": { + /** @enum {string} */ + action: "updated"; + definition: components["schemas"]["org-custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** Custom property values updated event */ + "webhook-custom-property-values-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + repository: components["schemas"]["repository-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + /** @description The new custom property values for the repository. */ + new_property_values: components["schemas"]["custom-property-value"][]; + /** @description The old custom property values for the repository. */ + old_property_values: components["schemas"]["custom-property-value"][]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @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"]; + key: components["schemas"]["webhooks_deploy_key"]; + 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"]; + key: components["schemas"]["webhooks_deploy_key"]; + 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: components["schemas"]["webhooks_workflow"]; + /** 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} */ + 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?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + 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?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + 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"]; + requestor: components["schemas"]["webhooks_user"]; + 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. 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?: components["schemas"]["webhooks_workflow"]; + /** 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: components["schemas"]["webhooks_answer"]; + 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: components["schemas"]["webhooks_comment"]; + 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: components["schemas"]["webhooks_comment"]; + 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: components["schemas"]["webhooks_comment"]; + 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: 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 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: components["schemas"]["webhooks_label"]; + 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: components["schemas"]["webhooks_answer"]; + 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: components["schemas"]["webhooks_label"]; + 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; + /** + * Format: int64 + * @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"; + 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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: components["schemas"]["webhooks_user"]; + 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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + 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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + 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"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @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"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + 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"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @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"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + 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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + 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; + }; + /** @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"]; + repositories?: components["schemas"]["webhooks_repositories"]; + 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"; + /** + * 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + 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"; + comment: components["schemas"]["webhooks_issue_comment"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + 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"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_issue_comment"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + 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"; + assignee?: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 + * @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; + } | null)[]; + /** 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_milestone"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_label"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_label"]; + 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 + * @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; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: true; + /** + * 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 milestoned event */ + "webhook-issues-milestoned": { + /** @enum {string} */ + action: "milestoned"; + 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; + } | null)[]; + /** 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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: components["schemas"]["webhooks_milestone"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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: components["schemas"]["webhooks_issue_2"]; + 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 + * @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" | "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; + } | null)[]; + /** 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_issue_2"]; + 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"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + 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: components["schemas"]["webhooks_issue"]; + label?: components["schemas"]["webhooks_label"]; + 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 + * @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; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: false; + /** + * 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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 unpinned event */ + "webhook-issues-unpinned": { + /** @enum {string} */ + action: "unpinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + 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: components["schemas"]["webhooks_label"]; + 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: components["schemas"]["webhooks_label"]; + 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: components["schemas"]["webhooks_label"]; + 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: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + 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: components["schemas"]["webhooks_marketplace_purchase"]; + 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: components["schemas"]["webhooks_marketplace_purchase"]; + 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 */ + 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; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + 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: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** member added event */ + "webhook-member-added": { + /** @enum {string} */ + action: "added"; + changes?: { + /** @description This field is included for legacy purposes; use the `role_name` field instead. The `maintain` + * role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role + * assigned to the collaborator, use the `role_name` field instead, which will provide the full + * role name, including custom roles. */ + permission?: { + /** @enum {string} */ + to: "write" | "admin" | "read"; + }; + /** @description The role assigned to the collaborator. */ + role_name?: { + to: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + 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"]; + member: components["schemas"]["webhooks_user"]; + 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"]; + member: components["schemas"]["webhooks_user"]; + 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"]; + member: components["schemas"]["webhooks_user"]; + 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: components["schemas"]["webhooks_team"]; + }; + /** membership removed event */ + "webhook-membership-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + 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: components["schemas"]["webhooks_team"]; + }; + "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: components["schemas"]["webhooks_milestone"]; + 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: components["schemas"]["webhooks_milestone_3"]; + 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: components["schemas"]["webhooks_milestone"]; + 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: components["schemas"]["webhooks_milestone"]; + 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: components["schemas"]["webhooks_milestone_3"]; + 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"; + blocked_user: components["schemas"]["webhooks_user"]; + 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"; + blocked_user: components["schemas"]["webhooks_user"]; + 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?: components["schemas"]["webhooks_membership"]; + 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: components["schemas"]["webhooks_membership"]; + 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?: components["schemas"]["webhooks_user"]; + }; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + 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?: components["schemas"]["webhooks_membership"]; + 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; + 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"]; + }; + /** 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"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + 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"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + 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"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + 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"]; + enterprise?: components["schemas"]["enterprise-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: components["schemas"]["webhooks_project_card"]; + 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: components["schemas"]["webhooks_project_card"]; + 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: components["schemas"]["webhooks_project_card"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project_column"]; + 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: components["schemas"]["webhooks_project_column"]; + 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: components["schemas"]["webhooks_project_column"]; + 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: components["schemas"]["webhooks_project_column"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project"]; + 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: components["schemas"]["webhooks_project_changes"]; + 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"; + /** @description The changes made to the item may involve modifications in the item's fields and draft issue body. + * It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. */ + changes?: { + field_value: { + field_node_id?: string; + field_type?: string; + field_name?: string; + project_number?: number; + from?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; + to?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; + }; + } | { + 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: components["schemas"]["webhooks_project_changes"]; + 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"]; + }; + /** Projects v2 Status Update Created Event */ + "webhook-projects-v2-status-update-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Status Update Deleted Event */ + "webhook-projects-v2-status-update-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Status Update Edited Event */ + "webhook-projects-v2-status-update-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from?: string | null; + to?: string | null; + }; + status?: { + /** @enum {string|null} */ + from?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + /** @enum {string|null} */ + to?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + }; + start_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + target_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + 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"; + assignee: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"; + comment: components["schemas"]["webhooks_review_comment"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_review_comment"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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"]; + }; + /** 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + review: components["schemas"]["webhooks_review"]; + 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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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: { + /** + * @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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: 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"]; + number: components["schemas"]["webhooks_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** + * Format: int64 + * @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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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: components["schemas"]["webhooks_nullable_string"]; + /** @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 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. */ + commits: { + /** @description An array of files added in the commit. A maximum of 3000 changed files will be reported per 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. A maximum of 3000 changed files will be reported per commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. A maximum of 3000 changed files will be reported per 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_release"]; + 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: components["schemas"]["webhooks_release"]; + 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: components["schemas"]["webhooks_release"]; + 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 + * @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; + } | null)[]; + /** 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. + * @enum {boolean} + */ + prerelease: true; + /** 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 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: components["schemas"]["webhooks_release_1"]; + 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: components["schemas"]["webhooks_release"]; + 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: components["schemas"]["webhooks_release_1"]; + 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": { + /** @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + action: string; + branch: string; + /** @description The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + 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; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_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: components["schemas"]["webhooks_alert"]; + 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"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + 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: "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: components["schemas"]["webhooks_alert"]; + 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"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + 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: "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 validated event */ + "webhook-secret-scanning-alert-validated": { + /** @enum {string} */ + action: "validated"; + 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"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + 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"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + effective_date?: components["schemas"]["webhooks_effective_date"]; + 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: components["schemas"]["webhooks_changes_8"]; + effective_date?: components["schemas"]["webhooks_effective_date"]; + 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: components["schemas"]["webhooks_changes_8"]; + 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: components["schemas"]["webhooks_sponsorship"]; + }; + /** 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; + }; + /** 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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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 custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @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; + /** + * Format: int64 + * @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: components["schemas"]["webhooks_team_1"]; + }; + /** 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: components["schemas"]["webhooks_workflow"]; + /** 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: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | 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; + } | null)[]; + 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; + /** + * @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; + }; + }; + /** 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: components["schemas"]["webhooks_workflow"]; + /** 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: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | 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 | null; + 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; + } | null)[]; + 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; + }; + }; + /** 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: components["schemas"]["webhooks_workflow"]; + /** 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 Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Resource not found */ + not_found: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + bad_request: { + headers: { + [name: string]: unknown; + }; + 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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** @description Accepted */ + accepted: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Not modified */ + not_modified: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + requires_authentication: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Forbidden */ + forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Internal Error */ + internal_error: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @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 A header with no content is returned. */ + no_content: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @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 Gone */ + gone: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Temporary Redirect */ + temporary_redirect: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @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"]; + }; + }; + /** @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"]; + }; + }; + /** @description Found */ + found: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @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"]; + }; + }; + /** @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"]; + }; + }; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unacceptable */ + unacceptable: { + headers: { + [name: string]: unknown; + }; + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + "secret-scanning-alert-validity": string; + /** @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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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 code security configuration. */ + "configuration-id": number; + /** @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 slug of the team name. */ + "team-slug": string; + /** @description The unique identifier of the role. */ + "role-id": number; + /** @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 custom property name. The name is case sensitive. */ + "custom-property-name": string; + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. + * */ + "ref-in-query": string; + /** @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 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 Actions can set a status of `waiting`, `pending`, 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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + "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 The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + "git-ref-only": string; + /** @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 ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + "pages-deployment-id": number | string; + /** @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 SchemaRoot = components['schemas']['root']; +export type SchemaSecurityAdvisoryEcosystems = components['schemas']['security-advisory-ecosystems']; +export type SchemaVulnerability = components['schemas']['vulnerability']; +export type SchemaSimpleUser = components['schemas']['simple-user']; +export type SchemaSecurityAdvisoryCreditTypes = components['schemas']['security-advisory-credit-types']; +export type SchemaGlobalAdvisory = components['schemas']['global-advisory']; +export type SchemaBasicError = components['schemas']['basic-error']; +export type SchemaValidationErrorSimple = components['schemas']['validation-error-simple']; +export type SchemaNullableSimpleUser = components['schemas']['nullable-simple-user']; +export type SchemaIntegration = components['schemas']['integration']; +export type SchemaWebhookConfigUrl = components['schemas']['webhook-config-url']; +export type SchemaWebhookConfigContentType = components['schemas']['webhook-config-content-type']; +export type SchemaWebhookConfigSecret = components['schemas']['webhook-config-secret']; +export type SchemaWebhookConfigInsecureSsl = components['schemas']['webhook-config-insecure-ssl']; +export type SchemaWebhookConfig = components['schemas']['webhook-config']; +export type SchemaHookDeliveryItem = components['schemas']['hook-delivery-item']; +export type SchemaScimError = components['schemas']['scim-error']; +export type SchemaValidationError = components['schemas']['validation-error']; +export type SchemaHookDelivery = components['schemas']['hook-delivery']; +export type SchemaEnterprise = components['schemas']['enterprise']; +export type SchemaIntegrationInstallationRequest = components['schemas']['integration-installation-request']; +export type SchemaAppPermissions = components['schemas']['app-permissions']; +export type SchemaInstallation = components['schemas']['installation']; +export type SchemaNullableLicenseSimple = components['schemas']['nullable-license-simple']; +export type SchemaRepository = components['schemas']['repository']; +export type SchemaInstallationToken = components['schemas']['installation-token']; +export type SchemaNullableScopedInstallation = components['schemas']['nullable-scoped-installation']; +export type SchemaAuthorization = components['schemas']['authorization']; +export type SchemaSimpleClassroomRepository = components['schemas']['simple-classroom-repository']; +export type SchemaSimpleClassroomOrganization = components['schemas']['simple-classroom-organization']; +export type SchemaClassroom = components['schemas']['classroom']; +export type SchemaClassroomAssignment = components['schemas']['classroom-assignment']; +export type SchemaSimpleClassroomUser = components['schemas']['simple-classroom-user']; +export type SchemaSimpleClassroom = components['schemas']['simple-classroom']; +export type SchemaSimpleClassroomAssignment = components['schemas']['simple-classroom-assignment']; +export type SchemaClassroomAcceptedAssignment = components['schemas']['classroom-accepted-assignment']; +export type SchemaClassroomAssignmentGrade = components['schemas']['classroom-assignment-grade']; +export type SchemaCodeOfConduct = components['schemas']['code-of-conduct']; +export type SchemaNullableTeamSimple = components['schemas']['nullable-team-simple']; +export type SchemaTeam = components['schemas']['team']; +export type SchemaOrganization = components['schemas']['organization']; +export type SchemaOrganizationSimple = components['schemas']['organization-simple']; +export type SchemaEnterpriseTeam = components['schemas']['enterprise-team']; +export type SchemaCopilotSeatDetails = components['schemas']['copilot-seat-details']; +export type SchemaCopilotUsageMetrics = components['schemas']['copilot-usage-metrics']; +export type SchemaAlertNumber = components['schemas']['alert-number']; +export type SchemaDependabotAlertPackage = components['schemas']['dependabot-alert-package']; +export type SchemaDependabotAlertSecurityVulnerability = components['schemas']['dependabot-alert-security-vulnerability']; +export type SchemaDependabotAlertSecurityAdvisory = components['schemas']['dependabot-alert-security-advisory']; +export type SchemaAlertUrl = components['schemas']['alert-url']; +export type SchemaAlertHtmlUrl = components['schemas']['alert-html-url']; +export type SchemaAlertCreatedAt = components['schemas']['alert-created-at']; +export type SchemaAlertUpdatedAt = components['schemas']['alert-updated-at']; +export type SchemaAlertDismissedAt = components['schemas']['alert-dismissed-at']; +export type SchemaAlertFixedAt = components['schemas']['alert-fixed-at']; +export type SchemaAlertAutoDismissedAt = components['schemas']['alert-auto-dismissed-at']; +export type SchemaSimpleRepository = components['schemas']['simple-repository']; +export type SchemaDependabotAlertWithRepository = components['schemas']['dependabot-alert-with-repository']; +export type SchemaNullableAlertUpdatedAt = components['schemas']['nullable-alert-updated-at']; +export type SchemaSecretScanningAlertState = components['schemas']['secret-scanning-alert-state']; +export type SchemaSecretScanningAlertResolution = components['schemas']['secret-scanning-alert-resolution']; +export type SchemaOrganizationSecretScanningAlert = components['schemas']['organization-secret-scanning-alert']; +export type SchemaActor = components['schemas']['actor']; +export type SchemaNullableMilestone = components['schemas']['nullable-milestone']; +export type SchemaNullableIntegration = components['schemas']['nullable-integration']; +export type SchemaAuthorAssociation = components['schemas']['author-association']; +export type SchemaReactionRollup = components['schemas']['reaction-rollup']; +export type SchemaIssue = components['schemas']['issue']; +export type SchemaIssueComment = components['schemas']['issue-comment']; +export type SchemaEvent = components['schemas']['event']; +export type SchemaLinkWithType = components['schemas']['link-with-type']; +export type SchemaFeed = components['schemas']['feed']; +export type SchemaBaseGist = components['schemas']['base-gist']; +export type SchemaPublicUser = components['schemas']['public-user']; +export type SchemaGistHistory = components['schemas']['gist-history']; +export type SchemaGistSimple = components['schemas']['gist-simple']; +export type SchemaGistComment = components['schemas']['gist-comment']; +export type SchemaGistCommit = components['schemas']['gist-commit']; +export type SchemaGitignoreTemplate = components['schemas']['gitignore-template']; +export type SchemaLicenseSimple = components['schemas']['license-simple']; +export type SchemaLicense = components['schemas']['license']; +export type SchemaMarketplaceListingPlan = components['schemas']['marketplace-listing-plan']; +export type SchemaMarketplacePurchase = components['schemas']['marketplace-purchase']; +export type SchemaApiOverview = components['schemas']['api-overview']; +export type SchemaSecurityAndAnalysis = components['schemas']['security-and-analysis']; +export type SchemaMinimalRepository = components['schemas']['minimal-repository']; +export type SchemaThread = components['schemas']['thread']; +export type SchemaThreadSubscription = components['schemas']['thread-subscription']; +export type SchemaOrganizationFull = components['schemas']['organization-full']; +export type SchemaActionsCacheUsageOrgEnterprise = components['schemas']['actions-cache-usage-org-enterprise']; +export type SchemaActionsCacheUsageByRepository = components['schemas']['actions-cache-usage-by-repository']; +export type SchemaOidcCustomSub = components['schemas']['oidc-custom-sub']; +export type SchemaEmptyObject = components['schemas']['empty-object']; +export type SchemaEnabledRepositories = components['schemas']['enabled-repositories']; +export type SchemaAllowedActions = components['schemas']['allowed-actions']; +export type SchemaSelectedActionsUrl = components['schemas']['selected-actions-url']; +export type SchemaActionsOrganizationPermissions = components['schemas']['actions-organization-permissions']; +export type SchemaSelectedActions = components['schemas']['selected-actions']; +export type SchemaActionsDefaultWorkflowPermissions = components['schemas']['actions-default-workflow-permissions']; +export type SchemaActionsCanApprovePullRequestReviews = components['schemas']['actions-can-approve-pull-request-reviews']; +export type SchemaActionsGetDefaultWorkflowPermissions = components['schemas']['actions-get-default-workflow-permissions']; +export type SchemaActionsSetDefaultWorkflowPermissions = components['schemas']['actions-set-default-workflow-permissions']; +export type SchemaRunnerLabel = components['schemas']['runner-label']; +export type SchemaRunner = components['schemas']['runner']; +export type SchemaRunnerApplication = components['schemas']['runner-application']; +export type SchemaAuthenticationToken = components['schemas']['authentication-token']; +export type SchemaOrganizationActionsSecret = components['schemas']['organization-actions-secret']; +export type SchemaActionsPublicKey = components['schemas']['actions-public-key']; +export type SchemaOrganizationActionsVariable = components['schemas']['organization-actions-variable']; +export type SchemaCodeScanningAnalysisToolName = components['schemas']['code-scanning-analysis-tool-name']; +export type SchemaCodeScanningAnalysisToolGuid = components['schemas']['code-scanning-analysis-tool-guid']; +export type SchemaCodeScanningAlertStateQuery = components['schemas']['code-scanning-alert-state-query']; +export type SchemaCodeScanningAlertSeverity = components['schemas']['code-scanning-alert-severity']; +export type SchemaAlertInstancesUrl = components['schemas']['alert-instances-url']; +export type SchemaCodeScanningAlertState = components['schemas']['code-scanning-alert-state']; +export type SchemaCodeScanningAlertDismissedReason = components['schemas']['code-scanning-alert-dismissed-reason']; +export type SchemaCodeScanningAlertDismissedComment = components['schemas']['code-scanning-alert-dismissed-comment']; +export type SchemaCodeScanningAlertRuleSummary = components['schemas']['code-scanning-alert-rule-summary']; +export type SchemaCodeScanningAnalysisToolVersion = components['schemas']['code-scanning-analysis-tool-version']; +export type SchemaCodeScanningAnalysisTool = components['schemas']['code-scanning-analysis-tool']; +export type SchemaCodeScanningRef = components['schemas']['code-scanning-ref']; +export type SchemaCodeScanningAnalysisAnalysisKey = components['schemas']['code-scanning-analysis-analysis-key']; +export type SchemaCodeScanningAlertEnvironment = components['schemas']['code-scanning-alert-environment']; +export type SchemaCodeScanningAnalysisCategory = components['schemas']['code-scanning-analysis-category']; +export type SchemaCodeScanningAlertLocation = components['schemas']['code-scanning-alert-location']; +export type SchemaCodeScanningAlertClassification = components['schemas']['code-scanning-alert-classification']; +export type SchemaCodeScanningAlertInstance = components['schemas']['code-scanning-alert-instance']; +export type SchemaCodeScanningOrganizationAlertItems = components['schemas']['code-scanning-organization-alert-items']; +export type SchemaCodeSecurityConfiguration = components['schemas']['code-security-configuration']; +export type SchemaCodeSecurityDefaultConfigurations = components['schemas']['code-security-default-configurations']; +export type SchemaCodeSecurityConfigurationRepositories = components['schemas']['code-security-configuration-repositories']; +export type SchemaNullableCodespaceMachine = components['schemas']['nullable-codespace-machine']; +export type SchemaCodespace = components['schemas']['codespace']; +export type SchemaCodespacesOrgSecret = components['schemas']['codespaces-org-secret']; +export type SchemaCodespacesPublicKey = components['schemas']['codespaces-public-key']; +export type SchemaCopilotSeatBreakdown = components['schemas']['copilot-seat-breakdown']; +export type SchemaCopilotOrganizationDetails = components['schemas']['copilot-organization-details']; +export type SchemaOrganizationDependabotSecret = components['schemas']['organization-dependabot-secret']; +export type SchemaDependabotPublicKey = components['schemas']['dependabot-public-key']; +export type SchemaNullableMinimalRepository = components['schemas']['nullable-minimal-repository']; +export type SchemaPackage = components['schemas']['package']; +export type SchemaOrganizationInvitation = components['schemas']['organization-invitation']; +export type SchemaOrgHook = components['schemas']['org-hook']; +export type SchemaInteractionGroup = components['schemas']['interaction-group']; +export type SchemaInteractionLimitResponse = components['schemas']['interaction-limit-response']; +export type SchemaInteractionExpiry = components['schemas']['interaction-expiry']; +export type SchemaInteractionLimit = components['schemas']['interaction-limit']; +export type SchemaOrgMembership = components['schemas']['org-membership']; +export type SchemaMigration = components['schemas']['migration']; +export type SchemaOrganizationRole = components['schemas']['organization-role']; +export type SchemaTeamRoleAssignment = components['schemas']['team-role-assignment']; +export type SchemaTeamSimple = components['schemas']['team-simple']; +export type SchemaUserRoleAssignment = components['schemas']['user-role-assignment']; +export type SchemaPackageVersion = components['schemas']['package-version']; +export type SchemaOrganizationProgrammaticAccessGrantRequest = components['schemas']['organization-programmatic-access-grant-request']; +export type SchemaOrganizationProgrammaticAccessGrant = components['schemas']['organization-programmatic-access-grant']; +export type SchemaProject = components['schemas']['project']; +export type SchemaOrgCustomProperty = components['schemas']['org-custom-property']; +export type SchemaCustomPropertyValue = components['schemas']['custom-property-value']; +export type SchemaOrgRepoCustomPropertyValues = components['schemas']['org-repo-custom-property-values']; +export type SchemaNullableRepository = components['schemas']['nullable-repository']; +export type SchemaCodeOfConductSimple = components['schemas']['code-of-conduct-simple']; +export type SchemaFullRepository = components['schemas']['full-repository']; +export type SchemaRepositoryRuleEnforcement = components['schemas']['repository-rule-enforcement']; +export type SchemaRepositoryRulesetBypassActor = components['schemas']['repository-ruleset-bypass-actor']; +export type SchemaRepositoryRulesetConditions = components['schemas']['repository-ruleset-conditions']; +export type SchemaRepositoryRulesetConditionsRepositoryNameTarget = components['schemas']['repository-ruleset-conditions-repository-name-target']; +export type SchemaRepositoryRulesetConditionsRepositoryIdTarget = components['schemas']['repository-ruleset-conditions-repository-id-target']; +export type SchemaRepositoryRulesetConditionsRepositoryPropertySpec = components['schemas']['repository-ruleset-conditions-repository-property-spec']; +export type SchemaRepositoryRulesetConditionsRepositoryPropertyTarget = components['schemas']['repository-ruleset-conditions-repository-property-target']; +export type SchemaOrgRulesetConditions = components['schemas']['org-ruleset-conditions']; +export type SchemaRepositoryRuleCreation = components['schemas']['repository-rule-creation']; +export type SchemaRepositoryRuleUpdate = components['schemas']['repository-rule-update']; +export type SchemaRepositoryRuleDeletion = components['schemas']['repository-rule-deletion']; +export type SchemaRepositoryRuleRequiredLinearHistory = components['schemas']['repository-rule-required-linear-history']; +export type SchemaRepositoryRuleMergeQueue = components['schemas']['repository-rule-merge-queue']; +export type SchemaRepositoryRuleRequiredDeployments = components['schemas']['repository-rule-required-deployments']; +export type SchemaRepositoryRuleRequiredSignatures = components['schemas']['repository-rule-required-signatures']; +export type SchemaRepositoryRulePullRequest = components['schemas']['repository-rule-pull-request']; +export type SchemaRepositoryRuleParamsStatusCheckConfiguration = components['schemas']['repository-rule-params-status-check-configuration']; +export type SchemaRepositoryRuleRequiredStatusChecks = components['schemas']['repository-rule-required-status-checks']; +export type SchemaRepositoryRuleNonFastForward = components['schemas']['repository-rule-non-fast-forward']; +export type SchemaRepositoryRuleCommitMessagePattern = components['schemas']['repository-rule-commit-message-pattern']; +export type SchemaRepositoryRuleCommitAuthorEmailPattern = components['schemas']['repository-rule-commit-author-email-pattern']; +export type SchemaRepositoryRuleCommitterEmailPattern = components['schemas']['repository-rule-committer-email-pattern']; +export type SchemaRepositoryRuleBranchNamePattern = components['schemas']['repository-rule-branch-name-pattern']; +export type SchemaRepositoryRuleTagNamePattern = components['schemas']['repository-rule-tag-name-pattern']; +export type SchemaRepositoryRuleParamsRestrictedCommits = components['schemas']['repository-rule-params-restricted-commits']; +export type SchemaRepositoryRuleParamsWorkflowFileReference = components['schemas']['repository-rule-params-workflow-file-reference']; +export type SchemaRepositoryRuleWorkflows = components['schemas']['repository-rule-workflows']; +export type SchemaRepositoryRuleParamsCodeScanningTool = components['schemas']['repository-rule-params-code-scanning-tool']; +export type SchemaRepositoryRuleCodeScanning = components['schemas']['repository-rule-code-scanning']; +export type SchemaRepositoryRule = components['schemas']['repository-rule']; +export type SchemaRepositoryRuleset = components['schemas']['repository-ruleset']; +export type SchemaRuleSuites = components['schemas']['rule-suites']; +export type SchemaRuleSuite = components['schemas']['rule-suite']; +export type SchemaRepositoryAdvisoryVulnerability = components['schemas']['repository-advisory-vulnerability']; +export type SchemaRepositoryAdvisoryCredit = components['schemas']['repository-advisory-credit']; +export type SchemaRepositoryAdvisory = components['schemas']['repository-advisory']; +export type SchemaActionsBillingUsage = components['schemas']['actions-billing-usage']; +export type SchemaPackagesBillingUsage = components['schemas']['packages-billing-usage']; +export type SchemaCombinedBillingUsage = components['schemas']['combined-billing-usage']; +export type SchemaTeamOrganization = components['schemas']['team-organization']; +export type SchemaTeamFull = components['schemas']['team-full']; +export type SchemaTeamDiscussion = components['schemas']['team-discussion']; +export type SchemaTeamDiscussionComment = components['schemas']['team-discussion-comment']; +export type SchemaReaction = components['schemas']['reaction']; +export type SchemaTeamMembership = components['schemas']['team-membership']; +export type SchemaTeamProject = components['schemas']['team-project']; +export type SchemaTeamRepository = components['schemas']['team-repository']; +export type SchemaProjectCard = components['schemas']['project-card']; +export type SchemaProjectColumn = components['schemas']['project-column']; +export type SchemaProjectCollaboratorPermission = components['schemas']['project-collaborator-permission']; +export type SchemaRateLimit = components['schemas']['rate-limit']; +export type SchemaRateLimitOverview = components['schemas']['rate-limit-overview']; +export type SchemaArtifact = components['schemas']['artifact']; +export type SchemaActionsCacheList = components['schemas']['actions-cache-list']; +export type SchemaJob = components['schemas']['job']; +export type SchemaOidcCustomSubRepo = components['schemas']['oidc-custom-sub-repo']; +export type SchemaActionsSecret = components['schemas']['actions-secret']; +export type SchemaActionsVariable = components['schemas']['actions-variable']; +export type SchemaActionsEnabled = components['schemas']['actions-enabled']; +export type SchemaActionsRepositoryPermissions = components['schemas']['actions-repository-permissions']; +export type SchemaActionsWorkflowAccessToRepository = components['schemas']['actions-workflow-access-to-repository']; +export type SchemaReferencedWorkflow = components['schemas']['referenced-workflow']; +export type SchemaPullRequestMinimal = components['schemas']['pull-request-minimal']; +export type SchemaNullableSimpleCommit = components['schemas']['nullable-simple-commit']; +export type SchemaWorkflowRun = components['schemas']['workflow-run']; +export type SchemaEnvironmentApprovals = components['schemas']['environment-approvals']; +export type SchemaReviewCustomGatesCommentRequired = components['schemas']['review-custom-gates-comment-required']; +export type SchemaReviewCustomGatesStateRequired = components['schemas']['review-custom-gates-state-required']; +export type SchemaDeploymentReviewerType = components['schemas']['deployment-reviewer-type']; +export type SchemaPendingDeployment = components['schemas']['pending-deployment']; +export type SchemaDeployment = components['schemas']['deployment']; +export type SchemaWorkflowRunUsage = components['schemas']['workflow-run-usage']; +export type SchemaWorkflow = components['schemas']['workflow']; +export type SchemaWorkflowUsage = components['schemas']['workflow-usage']; +export type SchemaActivity = components['schemas']['activity']; +export type SchemaAutolink = components['schemas']['autolink']; +export type SchemaCheckAutomatedSecurityFixes = components['schemas']['check-automated-security-fixes']; +export type SchemaProtectedBranchRequiredStatusCheck = components['schemas']['protected-branch-required-status-check']; +export type SchemaProtectedBranchAdminEnforced = components['schemas']['protected-branch-admin-enforced']; +export type SchemaProtectedBranchPullRequestReview = components['schemas']['protected-branch-pull-request-review']; +export type SchemaBranchRestrictionPolicy = components['schemas']['branch-restriction-policy']; +export type SchemaBranchProtection = components['schemas']['branch-protection']; +export type SchemaShortBranch = components['schemas']['short-branch']; +export type SchemaNullableGitUser = components['schemas']['nullable-git-user']; +export type SchemaVerification = components['schemas']['verification']; +export type SchemaDiffEntry = components['schemas']['diff-entry']; +export type SchemaCommit = components['schemas']['commit']; +export type SchemaBranchWithProtection = components['schemas']['branch-with-protection']; +export type SchemaStatusCheckPolicy = components['schemas']['status-check-policy']; +export type SchemaProtectedBranch = components['schemas']['protected-branch']; +export type SchemaDeploymentSimple = components['schemas']['deployment-simple']; +export type SchemaCheckRun = components['schemas']['check-run']; +export type SchemaCheckAnnotation = components['schemas']['check-annotation']; +export type SchemaSimpleCommit = components['schemas']['simple-commit']; +export type SchemaCheckSuite = components['schemas']['check-suite']; +export type SchemaCheckSuitePreference = components['schemas']['check-suite-preference']; +export type SchemaCodeScanningAlertItems = components['schemas']['code-scanning-alert-items']; +export type SchemaCodeScanningAlertRule = components['schemas']['code-scanning-alert-rule']; +export type SchemaCodeScanningAlert = components['schemas']['code-scanning-alert']; +export type SchemaCodeScanningAlertSetState = components['schemas']['code-scanning-alert-set-state']; +export type SchemaCodeScanningAnalysisSarifId = components['schemas']['code-scanning-analysis-sarif-id']; +export type SchemaCodeScanningAnalysisCommitSha = components['schemas']['code-scanning-analysis-commit-sha']; +export type SchemaCodeScanningAnalysisEnvironment = components['schemas']['code-scanning-analysis-environment']; +export type SchemaCodeScanningAnalysisCreatedAt = components['schemas']['code-scanning-analysis-created-at']; +export type SchemaCodeScanningAnalysisUrl = components['schemas']['code-scanning-analysis-url']; +export type SchemaCodeScanningAnalysis = components['schemas']['code-scanning-analysis']; +export type SchemaCodeScanningAnalysisDeletion = components['schemas']['code-scanning-analysis-deletion']; +export type SchemaCodeScanningCodeqlDatabase = components['schemas']['code-scanning-codeql-database']; +export type SchemaCodeScanningVariantAnalysisLanguage = components['schemas']['code-scanning-variant-analysis-language']; +export type SchemaCodeScanningVariantAnalysisRepository = components['schemas']['code-scanning-variant-analysis-repository']; +export type SchemaCodeScanningVariantAnalysisStatus = components['schemas']['code-scanning-variant-analysis-status']; +export type SchemaCodeScanningVariantAnalysisSkippedRepoGroup = components['schemas']['code-scanning-variant-analysis-skipped-repo-group']; +export type SchemaCodeScanningVariantAnalysis = components['schemas']['code-scanning-variant-analysis']; +export type SchemaCodeScanningVariantAnalysisRepoTask = components['schemas']['code-scanning-variant-analysis-repo-task']; +export type SchemaCodeScanningDefaultSetup = components['schemas']['code-scanning-default-setup']; +export type SchemaCodeScanningDefaultSetupUpdate = components['schemas']['code-scanning-default-setup-update']; +export type SchemaCodeScanningDefaultSetupUpdateResponse = components['schemas']['code-scanning-default-setup-update-response']; +export type SchemaCodeScanningRefFull = components['schemas']['code-scanning-ref-full']; +export type SchemaCodeScanningAnalysisSarifFile = components['schemas']['code-scanning-analysis-sarif-file']; +export type SchemaCodeScanningSarifsReceipt = components['schemas']['code-scanning-sarifs-receipt']; +export type SchemaCodeScanningSarifsStatus = components['schemas']['code-scanning-sarifs-status']; +export type SchemaCodeownersErrors = components['schemas']['codeowners-errors']; +export type SchemaCodespaceMachine = components['schemas']['codespace-machine']; +export type SchemaCodespacesPermissionsCheckForDevcontainer = components['schemas']['codespaces-permissions-check-for-devcontainer']; +export type SchemaRepoCodespacesSecret = components['schemas']['repo-codespaces-secret']; +export type SchemaCollaborator = components['schemas']['collaborator']; +export type SchemaRepositoryInvitation = components['schemas']['repository-invitation']; +export type SchemaNullableCollaborator = components['schemas']['nullable-collaborator']; +export type SchemaRepositoryCollaboratorPermission = components['schemas']['repository-collaborator-permission']; +export type SchemaCommitComment = components['schemas']['commit-comment']; +export type SchemaBranchShort = components['schemas']['branch-short']; +export type SchemaLink = components['schemas']['link']; +export type SchemaAutoMerge = components['schemas']['auto-merge']; +export type SchemaPullRequestSimple = components['schemas']['pull-request-simple']; +export type SchemaSimpleCommitStatus = components['schemas']['simple-commit-status']; +export type SchemaCombinedCommitStatus = components['schemas']['combined-commit-status']; +export type SchemaStatus = components['schemas']['status']; +export type SchemaNullableCodeOfConductSimple = components['schemas']['nullable-code-of-conduct-simple']; +export type SchemaNullableCommunityHealthFile = components['schemas']['nullable-community-health-file']; +export type SchemaCommunityProfile = components['schemas']['community-profile']; +export type SchemaCommitComparison = components['schemas']['commit-comparison']; +export type SchemaContentTree = components['schemas']['content-tree']; +export type SchemaContentDirectory = components['schemas']['content-directory']; +export type SchemaContentFile = components['schemas']['content-file']; +export type SchemaContentSymlink = components['schemas']['content-symlink']; +export type SchemaContentSubmodule = components['schemas']['content-submodule']; +export type SchemaFileCommit = components['schemas']['file-commit']; +export type SchemaContributor = components['schemas']['contributor']; +export type SchemaDependabotAlert = components['schemas']['dependabot-alert']; +export type SchemaDependabotSecret = components['schemas']['dependabot-secret']; +export type SchemaDependencyGraphDiff = components['schemas']['dependency-graph-diff']; +export type SchemaDependencyGraphSpdxSbom = components['schemas']['dependency-graph-spdx-sbom']; +export type SchemaMetadata = components['schemas']['metadata']; +export type SchemaDependency = components['schemas']['dependency']; +export type SchemaManifest = components['schemas']['manifest']; +export type SchemaSnapshot = components['schemas']['snapshot']; +export type SchemaDeploymentStatus = components['schemas']['deployment-status']; +export type SchemaWaitTimer = components['schemas']['wait-timer']; +export type SchemaDeploymentBranchPolicySettings = components['schemas']['deployment-branch-policy-settings']; +export type SchemaEnvironment = components['schemas']['environment']; +export type SchemaPreventSelfReview = components['schemas']['prevent-self-review']; +export type SchemaDeploymentBranchPolicy = components['schemas']['deployment-branch-policy']; +export type SchemaDeploymentBranchPolicyNamePatternWithType = components['schemas']['deployment-branch-policy-name-pattern-with-type']; +export type SchemaDeploymentBranchPolicyNamePattern = components['schemas']['deployment-branch-policy-name-pattern']; +export type SchemaCustomDeploymentRuleApp = components['schemas']['custom-deployment-rule-app']; +export type SchemaDeploymentProtectionRule = components['schemas']['deployment-protection-rule']; +export type SchemaShortBlob = components['schemas']['short-blob']; +export type SchemaBlob = components['schemas']['blob']; +export type SchemaGitCommit = components['schemas']['git-commit']; +export type SchemaGitRef = components['schemas']['git-ref']; +export type SchemaGitTag = components['schemas']['git-tag']; +export type SchemaGitTree = components['schemas']['git-tree']; +export type SchemaHookResponse = components['schemas']['hook-response']; +export type SchemaHook = components['schemas']['hook']; +export type SchemaImport = components['schemas']['import']; +export type SchemaPorterAuthor = components['schemas']['porter-author']; +export type SchemaPorterLargeFile = components['schemas']['porter-large-file']; +export type SchemaNullableIssue = components['schemas']['nullable-issue']; +export type SchemaIssueEventLabel = components['schemas']['issue-event-label']; +export type SchemaIssueEventDismissedReview = components['schemas']['issue-event-dismissed-review']; +export type SchemaIssueEventMilestone = components['schemas']['issue-event-milestone']; +export type SchemaIssueEventProjectCard = components['schemas']['issue-event-project-card']; +export type SchemaIssueEventRename = components['schemas']['issue-event-rename']; +export type SchemaIssueEvent = components['schemas']['issue-event']; +export type SchemaLabeledIssueEvent = components['schemas']['labeled-issue-event']; +export type SchemaUnlabeledIssueEvent = components['schemas']['unlabeled-issue-event']; +export type SchemaAssignedIssueEvent = components['schemas']['assigned-issue-event']; +export type SchemaUnassignedIssueEvent = components['schemas']['unassigned-issue-event']; +export type SchemaMilestonedIssueEvent = components['schemas']['milestoned-issue-event']; +export type SchemaDemilestonedIssueEvent = components['schemas']['demilestoned-issue-event']; +export type SchemaRenamedIssueEvent = components['schemas']['renamed-issue-event']; +export type SchemaReviewRequestedIssueEvent = components['schemas']['review-requested-issue-event']; +export type SchemaReviewRequestRemovedIssueEvent = components['schemas']['review-request-removed-issue-event']; +export type SchemaReviewDismissedIssueEvent = components['schemas']['review-dismissed-issue-event']; +export type SchemaLockedIssueEvent = components['schemas']['locked-issue-event']; +export type SchemaAddedToProjectIssueEvent = components['schemas']['added-to-project-issue-event']; +export type SchemaMovedColumnInProjectIssueEvent = components['schemas']['moved-column-in-project-issue-event']; +export type SchemaRemovedFromProjectIssueEvent = components['schemas']['removed-from-project-issue-event']; +export type SchemaConvertedNoteToIssueIssueEvent = components['schemas']['converted-note-to-issue-issue-event']; +export type SchemaIssueEventForIssue = components['schemas']['issue-event-for-issue']; +export type SchemaLabel = components['schemas']['label']; +export type SchemaTimelineCommentEvent = components['schemas']['timeline-comment-event']; +export type SchemaTimelineCrossReferencedEvent = components['schemas']['timeline-cross-referenced-event']; +export type SchemaTimelineCommittedEvent = components['schemas']['timeline-committed-event']; +export type SchemaTimelineReviewedEvent = components['schemas']['timeline-reviewed-event']; +export type SchemaPullRequestReviewComment = components['schemas']['pull-request-review-comment']; +export type SchemaTimelineLineCommentedEvent = components['schemas']['timeline-line-commented-event']; +export type SchemaTimelineCommitCommentedEvent = components['schemas']['timeline-commit-commented-event']; +export type SchemaTimelineAssignedIssueEvent = components['schemas']['timeline-assigned-issue-event']; +export type SchemaTimelineUnassignedIssueEvent = components['schemas']['timeline-unassigned-issue-event']; +export type SchemaStateChangeIssueEvent = components['schemas']['state-change-issue-event']; +export type SchemaTimelineIssueEvents = components['schemas']['timeline-issue-events']; +export type SchemaDeployKey = components['schemas']['deploy-key']; +export type SchemaLanguage = components['schemas']['language']; +export type SchemaLicenseContent = components['schemas']['license-content']; +export type SchemaMergedUpstream = components['schemas']['merged-upstream']; +export type SchemaMilestone = components['schemas']['milestone']; +export type SchemaPagesSourceHash = components['schemas']['pages-source-hash']; +export type SchemaPagesHttpsCertificate = components['schemas']['pages-https-certificate']; +export type SchemaPage = components['schemas']['page']; +export type SchemaPageBuild = components['schemas']['page-build']; +export type SchemaPageBuildStatus = components['schemas']['page-build-status']; +export type SchemaPageDeployment = components['schemas']['page-deployment']; +export type SchemaPagesDeploymentStatus = components['schemas']['pages-deployment-status']; +export type SchemaPagesHealthCheck = components['schemas']['pages-health-check']; +export type SchemaPullRequest = components['schemas']['pull-request']; +export type SchemaPullRequestMergeResult = components['schemas']['pull-request-merge-result']; +export type SchemaPullRequestReviewRequest = components['schemas']['pull-request-review-request']; +export type SchemaPullRequestReview = components['schemas']['pull-request-review']; +export type SchemaReviewComment = components['schemas']['review-comment']; +export type SchemaReleaseAsset = components['schemas']['release-asset']; +export type SchemaRelease = components['schemas']['release']; +export type SchemaReleaseNotesContent = components['schemas']['release-notes-content']; +export type SchemaRepositoryRuleRulesetInfo = components['schemas']['repository-rule-ruleset-info']; +export type SchemaRepositoryRuleDetailed = components['schemas']['repository-rule-detailed']; +export type SchemaSecretScanningAlert = components['schemas']['secret-scanning-alert']; +export type SchemaSecretScanningAlertResolutionComment = components['schemas']['secret-scanning-alert-resolution-comment']; +export type SchemaSecretScanningLocationCommit = components['schemas']['secret-scanning-location-commit']; +export type SchemaSecretScanningLocationWikiCommit = components['schemas']['secret-scanning-location-wiki-commit']; +export type SchemaSecretScanningLocationIssueTitle = components['schemas']['secret-scanning-location-issue-title']; +export type SchemaSecretScanningLocationIssueBody = components['schemas']['secret-scanning-location-issue-body']; +export type SchemaSecretScanningLocationIssueComment = components['schemas']['secret-scanning-location-issue-comment']; +export type SchemaSecretScanningLocationDiscussionTitle = components['schemas']['secret-scanning-location-discussion-title']; +export type SchemaSecretScanningLocationDiscussionBody = components['schemas']['secret-scanning-location-discussion-body']; +export type SchemaSecretScanningLocationDiscussionComment = components['schemas']['secret-scanning-location-discussion-comment']; +export type SchemaSecretScanningLocationPullRequestTitle = components['schemas']['secret-scanning-location-pull-request-title']; +export type SchemaSecretScanningLocationPullRequestBody = components['schemas']['secret-scanning-location-pull-request-body']; +export type SchemaSecretScanningLocationPullRequestComment = components['schemas']['secret-scanning-location-pull-request-comment']; +export type SchemaSecretScanningLocationPullRequestReview = components['schemas']['secret-scanning-location-pull-request-review']; +export type SchemaSecretScanningLocationPullRequestReviewComment = components['schemas']['secret-scanning-location-pull-request-review-comment']; +export type SchemaSecretScanningLocation = components['schemas']['secret-scanning-location']; +export type SchemaRepositoryAdvisoryCreate = components['schemas']['repository-advisory-create']; +export type SchemaPrivateVulnerabilityReportCreate = components['schemas']['private-vulnerability-report-create']; +export type SchemaRepositoryAdvisoryUpdate = components['schemas']['repository-advisory-update']; +export type SchemaStargazer = components['schemas']['stargazer']; +export type SchemaCodeFrequencyStat = components['schemas']['code-frequency-stat']; +export type SchemaCommitActivity = components['schemas']['commit-activity']; +export type SchemaContributorActivity = components['schemas']['contributor-activity']; +export type SchemaParticipationStats = components['schemas']['participation-stats']; +export type SchemaRepositorySubscription = components['schemas']['repository-subscription']; +export type SchemaTag = components['schemas']['tag']; +export type SchemaTagProtection = components['schemas']['tag-protection']; +export type SchemaTopic = components['schemas']['topic']; +export type SchemaTraffic = components['schemas']['traffic']; +export type SchemaCloneTraffic = components['schemas']['clone-traffic']; +export type SchemaContentTraffic = components['schemas']['content-traffic']; +export type SchemaReferrerTraffic = components['schemas']['referrer-traffic']; +export type SchemaViewTraffic = components['schemas']['view-traffic']; +export type SchemaSearchResultTextMatches = components['schemas']['search-result-text-matches']; +export type SchemaCodeSearchResultItem = components['schemas']['code-search-result-item']; +export type SchemaCommitSearchResultItem = components['schemas']['commit-search-result-item']; +export type SchemaIssueSearchResultItem = components['schemas']['issue-search-result-item']; +export type SchemaLabelSearchResultItem = components['schemas']['label-search-result-item']; +export type SchemaRepoSearchResultItem = components['schemas']['repo-search-result-item']; +export type SchemaTopicSearchResultItem = components['schemas']['topic-search-result-item']; +export type SchemaUserSearchResultItem = components['schemas']['user-search-result-item']; +export type SchemaPrivateUser = components['schemas']['private-user']; +export type SchemaCodespacesSecret = components['schemas']['codespaces-secret']; +export type SchemaCodespacesUserPublicKey = components['schemas']['codespaces-user-public-key']; +export type SchemaCodespaceExportDetails = components['schemas']['codespace-export-details']; +export type SchemaCodespaceWithFullRepository = components['schemas']['codespace-with-full-repository']; +export type SchemaEmail = components['schemas']['email']; +export type SchemaGpgKey = components['schemas']['gpg-key']; +export type SchemaKey = components['schemas']['key']; +export type SchemaMarketplaceAccount = components['schemas']['marketplace-account']; +export type SchemaUserMarketplacePurchase = components['schemas']['user-marketplace-purchase']; +export type SchemaSocialAccount = components['schemas']['social-account']; +export type SchemaSshSigningKey = components['schemas']['ssh-signing-key']; +export type SchemaStarredRepository = components['schemas']['starred-repository']; +export type SchemaSigstoreBundle_0 = components['schemas']['sigstore-bundle-0']; +export type SchemaHovercard = components['schemas']['hovercard']; +export type SchemaKeySimple = components['schemas']['key-simple']; +export type SchemaEnterpriseWebhooks = components['schemas']['enterprise-webhooks']; +export type SchemaSimpleInstallation = components['schemas']['simple-installation']; +export type SchemaOrganizationSimpleWebhooks = components['schemas']['organization-simple-webhooks']; +export type SchemaRepositoryWebhooks = components['schemas']['repository-webhooks']; +export type SchemaSimpleUserWebhooks = components['schemas']['simple-user-webhooks']; +export type SchemaWebhooksRule = components['schemas']['webhooks_rule']; +export type SchemaSimpleCheckSuite = components['schemas']['simple-check-suite']; +export type SchemaCheckRunWithSimpleCheckSuite = components['schemas']['check-run-with-simple-check-suite']; +export type SchemaWebhooksCodeScanningCommitOid = components['schemas']['webhooks_code_scanning_commit_oid']; +export type SchemaWebhooksCodeScanningRef = components['schemas']['webhooks_code_scanning_ref']; +export type SchemaWebhooksDeployPusherType = components['schemas']['webhooks_deploy_pusher_type']; +export type SchemaWebhooksRef_0 = components['schemas']['webhooks_ref_0']; +export type SchemaWebhooksDeployKey = components['schemas']['webhooks_deploy_key']; +export type SchemaWebhooksWorkflow = components['schemas']['webhooks_workflow']; +export type SchemaWebhooksApprover = components['schemas']['webhooks_approver']; +export type SchemaWebhooksReviewers = components['schemas']['webhooks_reviewers']; +export type SchemaWebhooksWorkflowJobRun = components['schemas']['webhooks_workflow_job_run']; +export type SchemaWebhooksUser = components['schemas']['webhooks_user']; +export type SchemaWebhooksAnswer = components['schemas']['webhooks_answer']; +export type SchemaDiscussion = components['schemas']['discussion']; +export type SchemaWebhooksComment = components['schemas']['webhooks_comment']; +export type SchemaWebhooksLabel = components['schemas']['webhooks_label']; +export type SchemaWebhooksRepositories = components['schemas']['webhooks_repositories']; +export type SchemaWebhooksRepositoriesAdded = components['schemas']['webhooks_repositories_added']; +export type SchemaWebhooksRepositorySelection = components['schemas']['webhooks_repository_selection']; +export type SchemaWebhooksIssueComment = components['schemas']['webhooks_issue_comment']; +export type SchemaWebhooksChanges = components['schemas']['webhooks_changes']; +export type SchemaWebhooksIssue = components['schemas']['webhooks_issue']; +export type SchemaWebhooksMilestone = components['schemas']['webhooks_milestone']; +export type SchemaWebhooksIssue_2 = components['schemas']['webhooks_issue_2']; +export type SchemaWebhooksUserMannequin = components['schemas']['webhooks_user_mannequin']; +export type SchemaWebhooksMarketplacePurchase = components['schemas']['webhooks_marketplace_purchase']; +export type SchemaWebhooksPreviousMarketplacePurchase = components['schemas']['webhooks_previous_marketplace_purchase']; +export type SchemaWebhooksTeam = components['schemas']['webhooks_team']; +export type SchemaMergeGroup = components['schemas']['merge-group']; +export type SchemaNullableRepositoryWebhooks = components['schemas']['nullable-repository-webhooks']; +export type SchemaWebhooksMilestone_3 = components['schemas']['webhooks_milestone_3']; +export type SchemaWebhooksMembership = components['schemas']['webhooks_membership']; +export type SchemaPersonalAccessTokenRequest = components['schemas']['personal-access-token-request']; +export type SchemaWebhooksProjectCard = components['schemas']['webhooks_project_card']; +export type SchemaWebhooksProject = components['schemas']['webhooks_project']; +export type SchemaWebhooksProjectColumn = components['schemas']['webhooks_project_column']; +export type SchemaProjectsV2 = components['schemas']['projects-v2']; +export type SchemaWebhooksProjectChanges = components['schemas']['webhooks_project_changes']; +export type SchemaProjectsV2ItemContentType = components['schemas']['projects-v2-item-content-type']; +export type SchemaProjectsV2Item = components['schemas']['projects-v2-item']; +export type SchemaProjectsV2SingleSelectOption = components['schemas']['projects-v2-single-select-option']; +export type SchemaProjectsV2IterationSetting = components['schemas']['projects-v2-iteration-setting']; +export type SchemaProjectsV2StatusUpdate = components['schemas']['projects-v2-status-update']; +export type SchemaWebhooksNumber = components['schemas']['webhooks_number']; +export type SchemaPullRequestWebhook = components['schemas']['pull-request-webhook']; +export type SchemaWebhooksPullRequest_5 = components['schemas']['webhooks_pull_request_5']; +export type SchemaWebhooksReviewComment = components['schemas']['webhooks_review_comment']; +export type SchemaWebhooksReview = components['schemas']['webhooks_review']; +export type SchemaWebhooksNullableString = components['schemas']['webhooks_nullable_string']; +export type SchemaWebhooksRelease = components['schemas']['webhooks_release']; +export type SchemaWebhooksRelease_1 = components['schemas']['webhooks_release_1']; +export type SchemaWebhooksAlert = components['schemas']['webhooks_alert']; +export type SchemaSecretScanningAlertResolutionWebhook = components['schemas']['secret-scanning-alert-resolution-webhook']; +export type SchemaSecretScanningAlertWebhook = components['schemas']['secret-scanning-alert-webhook']; +export type SchemaWebhooksSecurityAdvisory = components['schemas']['webhooks_security_advisory']; +export type SchemaWebhooksSponsorship = components['schemas']['webhooks_sponsorship']; +export type SchemaWebhooksEffectiveDate = components['schemas']['webhooks_effective_date']; +export type SchemaWebhooksChanges_8 = components['schemas']['webhooks_changes_8']; +export type SchemaWebhooksTeam_1 = components['schemas']['webhooks_team_1']; +export type SchemaWebhookBranchProtectionConfigurationDisabled = components['schemas']['webhook-branch-protection-configuration-disabled']; +export type SchemaWebhookBranchProtectionConfigurationEnabled = components['schemas']['webhook-branch-protection-configuration-enabled']; +export type SchemaWebhookBranchProtectionRuleCreated = components['schemas']['webhook-branch-protection-rule-created']; +export type SchemaWebhookBranchProtectionRuleDeleted = components['schemas']['webhook-branch-protection-rule-deleted']; +export type SchemaWebhookBranchProtectionRuleEdited = components['schemas']['webhook-branch-protection-rule-edited']; +export type SchemaWebhookCheckRunCompleted = components['schemas']['webhook-check-run-completed']; +export type SchemaWebhookCheckRunCompletedFormEncoded = components['schemas']['webhook-check-run-completed-form-encoded']; +export type SchemaWebhookCheckRunCreated = components['schemas']['webhook-check-run-created']; +export type SchemaWebhookCheckRunCreatedFormEncoded = components['schemas']['webhook-check-run-created-form-encoded']; +export type SchemaWebhookCheckRunRequestedAction = components['schemas']['webhook-check-run-requested-action']; +export type SchemaWebhookCheckRunRequestedActionFormEncoded = components['schemas']['webhook-check-run-requested-action-form-encoded']; +export type SchemaWebhookCheckRunRerequested = components['schemas']['webhook-check-run-rerequested']; +export type SchemaWebhookCheckRunRerequestedFormEncoded = components['schemas']['webhook-check-run-rerequested-form-encoded']; +export type SchemaWebhookCheckSuiteCompleted = components['schemas']['webhook-check-suite-completed']; +export type SchemaWebhookCheckSuiteRequested = components['schemas']['webhook-check-suite-requested']; +export type SchemaWebhookCheckSuiteRerequested = components['schemas']['webhook-check-suite-rerequested']; +export type SchemaWebhookCodeScanningAlertAppearedInBranch = components['schemas']['webhook-code-scanning-alert-appeared-in-branch']; +export type SchemaWebhookCodeScanningAlertClosedByUser = components['schemas']['webhook-code-scanning-alert-closed-by-user']; +export type SchemaWebhookCodeScanningAlertCreated = components['schemas']['webhook-code-scanning-alert-created']; +export type SchemaWebhookCodeScanningAlertFixed = components['schemas']['webhook-code-scanning-alert-fixed']; +export type SchemaWebhookCodeScanningAlertReopened = components['schemas']['webhook-code-scanning-alert-reopened']; +export type SchemaWebhookCodeScanningAlertReopenedByUser = components['schemas']['webhook-code-scanning-alert-reopened-by-user']; +export type SchemaWebhookCommitCommentCreated = components['schemas']['webhook-commit-comment-created']; +export type SchemaWebhookCreate = components['schemas']['webhook-create']; +export type SchemaWebhookCustomPropertyCreated = components['schemas']['webhook-custom-property-created']; +export type SchemaWebhookCustomPropertyDeleted = components['schemas']['webhook-custom-property-deleted']; +export type SchemaWebhookCustomPropertyUpdated = components['schemas']['webhook-custom-property-updated']; +export type SchemaWebhookCustomPropertyValuesUpdated = components['schemas']['webhook-custom-property-values-updated']; +export type SchemaWebhookDelete = components['schemas']['webhook-delete']; +export type SchemaWebhookDependabotAlertAutoDismissed = components['schemas']['webhook-dependabot-alert-auto-dismissed']; +export type SchemaWebhookDependabotAlertAutoReopened = components['schemas']['webhook-dependabot-alert-auto-reopened']; +export type SchemaWebhookDependabotAlertCreated = components['schemas']['webhook-dependabot-alert-created']; +export type SchemaWebhookDependabotAlertDismissed = components['schemas']['webhook-dependabot-alert-dismissed']; +export type SchemaWebhookDependabotAlertFixed = components['schemas']['webhook-dependabot-alert-fixed']; +export type SchemaWebhookDependabotAlertReintroduced = components['schemas']['webhook-dependabot-alert-reintroduced']; +export type SchemaWebhookDependabotAlertReopened = components['schemas']['webhook-dependabot-alert-reopened']; +export type SchemaWebhookDeployKeyCreated = components['schemas']['webhook-deploy-key-created']; +export type SchemaWebhookDeployKeyDeleted = components['schemas']['webhook-deploy-key-deleted']; +export type SchemaWebhookDeploymentCreated = components['schemas']['webhook-deployment-created']; +export type SchemaWebhookDeploymentProtectionRuleRequested = components['schemas']['webhook-deployment-protection-rule-requested']; +export type SchemaWebhookDeploymentReviewApproved = components['schemas']['webhook-deployment-review-approved']; +export type SchemaWebhookDeploymentReviewRejected = components['schemas']['webhook-deployment-review-rejected']; +export type SchemaWebhookDeploymentReviewRequested = components['schemas']['webhook-deployment-review-requested']; +export type SchemaWebhookDeploymentStatusCreated = components['schemas']['webhook-deployment-status-created']; +export type SchemaWebhookDiscussionAnswered = components['schemas']['webhook-discussion-answered']; +export type SchemaWebhookDiscussionCategoryChanged = components['schemas']['webhook-discussion-category-changed']; +export type SchemaWebhookDiscussionClosed = components['schemas']['webhook-discussion-closed']; +export type SchemaWebhookDiscussionCommentCreated = components['schemas']['webhook-discussion-comment-created']; +export type SchemaWebhookDiscussionCommentDeleted = components['schemas']['webhook-discussion-comment-deleted']; +export type SchemaWebhookDiscussionCommentEdited = components['schemas']['webhook-discussion-comment-edited']; +export type SchemaWebhookDiscussionCreated = components['schemas']['webhook-discussion-created']; +export type SchemaWebhookDiscussionDeleted = components['schemas']['webhook-discussion-deleted']; +export type SchemaWebhookDiscussionEdited = components['schemas']['webhook-discussion-edited']; +export type SchemaWebhookDiscussionLabeled = components['schemas']['webhook-discussion-labeled']; +export type SchemaWebhookDiscussionLocked = components['schemas']['webhook-discussion-locked']; +export type SchemaWebhookDiscussionPinned = components['schemas']['webhook-discussion-pinned']; +export type SchemaWebhookDiscussionReopened = components['schemas']['webhook-discussion-reopened']; +export type SchemaWebhookDiscussionTransferred = components['schemas']['webhook-discussion-transferred']; +export type SchemaWebhookDiscussionUnanswered = components['schemas']['webhook-discussion-unanswered']; +export type SchemaWebhookDiscussionUnlabeled = components['schemas']['webhook-discussion-unlabeled']; +export type SchemaWebhookDiscussionUnlocked = components['schemas']['webhook-discussion-unlocked']; +export type SchemaWebhookDiscussionUnpinned = components['schemas']['webhook-discussion-unpinned']; +export type SchemaWebhookFork = components['schemas']['webhook-fork']; +export type SchemaWebhookGithubAppAuthorizationRevoked = components['schemas']['webhook-github-app-authorization-revoked']; +export type SchemaWebhookGollum = components['schemas']['webhook-gollum']; +export type SchemaWebhookInstallationCreated = components['schemas']['webhook-installation-created']; +export type SchemaWebhookInstallationDeleted = components['schemas']['webhook-installation-deleted']; +export type SchemaWebhookInstallationNewPermissionsAccepted = components['schemas']['webhook-installation-new-permissions-accepted']; +export type SchemaWebhookInstallationRepositoriesAdded = components['schemas']['webhook-installation-repositories-added']; +export type SchemaWebhookInstallationRepositoriesRemoved = components['schemas']['webhook-installation-repositories-removed']; +export type SchemaWebhookInstallationSuspend = components['schemas']['webhook-installation-suspend']; +export type SchemaWebhookInstallationTargetRenamed = components['schemas']['webhook-installation-target-renamed']; +export type SchemaWebhookInstallationUnsuspend = components['schemas']['webhook-installation-unsuspend']; +export type SchemaWebhookIssueCommentCreated = components['schemas']['webhook-issue-comment-created']; +export type SchemaWebhookIssueCommentDeleted = components['schemas']['webhook-issue-comment-deleted']; +export type SchemaWebhookIssueCommentEdited = components['schemas']['webhook-issue-comment-edited']; +export type SchemaWebhookIssuesAssigned = components['schemas']['webhook-issues-assigned']; +export type SchemaWebhookIssuesClosed = components['schemas']['webhook-issues-closed']; +export type SchemaWebhookIssuesDeleted = components['schemas']['webhook-issues-deleted']; +export type SchemaWebhookIssuesDemilestoned = components['schemas']['webhook-issues-demilestoned']; +export type SchemaWebhookIssuesEdited = components['schemas']['webhook-issues-edited']; +export type SchemaWebhookIssuesLabeled = components['schemas']['webhook-issues-labeled']; +export type SchemaWebhookIssuesLocked = components['schemas']['webhook-issues-locked']; +export type SchemaWebhookIssuesMilestoned = components['schemas']['webhook-issues-milestoned']; +export type SchemaWebhookIssuesOpened = components['schemas']['webhook-issues-opened']; +export type SchemaWebhookIssuesPinned = components['schemas']['webhook-issues-pinned']; +export type SchemaWebhookIssuesReopened = components['schemas']['webhook-issues-reopened']; +export type SchemaWebhookIssuesTransferred = components['schemas']['webhook-issues-transferred']; +export type SchemaWebhookIssuesUnassigned = components['schemas']['webhook-issues-unassigned']; +export type SchemaWebhookIssuesUnlabeled = components['schemas']['webhook-issues-unlabeled']; +export type SchemaWebhookIssuesUnlocked = components['schemas']['webhook-issues-unlocked']; +export type SchemaWebhookIssuesUnpinned = components['schemas']['webhook-issues-unpinned']; +export type SchemaWebhookLabelCreated = components['schemas']['webhook-label-created']; +export type SchemaWebhookLabelDeleted = components['schemas']['webhook-label-deleted']; +export type SchemaWebhookLabelEdited = components['schemas']['webhook-label-edited']; +export type SchemaWebhookMarketplacePurchaseCancelled = components['schemas']['webhook-marketplace-purchase-cancelled']; +export type SchemaWebhookMarketplacePurchaseChanged = components['schemas']['webhook-marketplace-purchase-changed']; +export type SchemaWebhookMarketplacePurchasePendingChange = components['schemas']['webhook-marketplace-purchase-pending-change']; +export type SchemaWebhookMarketplacePurchasePendingChangeCancelled = components['schemas']['webhook-marketplace-purchase-pending-change-cancelled']; +export type SchemaWebhookMarketplacePurchasePurchased = components['schemas']['webhook-marketplace-purchase-purchased']; +export type SchemaWebhookMemberAdded = components['schemas']['webhook-member-added']; +export type SchemaWebhookMemberEdited = components['schemas']['webhook-member-edited']; +export type SchemaWebhookMemberRemoved = components['schemas']['webhook-member-removed']; +export type SchemaWebhookMembershipAdded = components['schemas']['webhook-membership-added']; +export type SchemaWebhookMembershipRemoved = components['schemas']['webhook-membership-removed']; +export type SchemaWebhookMergeGroupChecksRequested = components['schemas']['webhook-merge-group-checks-requested']; +export type SchemaWebhookMergeGroupDestroyed = components['schemas']['webhook-merge-group-destroyed']; +export type SchemaWebhookMetaDeleted = components['schemas']['webhook-meta-deleted']; +export type SchemaWebhookMilestoneClosed = components['schemas']['webhook-milestone-closed']; +export type SchemaWebhookMilestoneCreated = components['schemas']['webhook-milestone-created']; +export type SchemaWebhookMilestoneDeleted = components['schemas']['webhook-milestone-deleted']; +export type SchemaWebhookMilestoneEdited = components['schemas']['webhook-milestone-edited']; +export type SchemaWebhookMilestoneOpened = components['schemas']['webhook-milestone-opened']; +export type SchemaWebhookOrgBlockBlocked = components['schemas']['webhook-org-block-blocked']; +export type SchemaWebhookOrgBlockUnblocked = components['schemas']['webhook-org-block-unblocked']; +export type SchemaWebhookOrganizationDeleted = components['schemas']['webhook-organization-deleted']; +export type SchemaWebhookOrganizationMemberAdded = components['schemas']['webhook-organization-member-added']; +export type SchemaWebhookOrganizationMemberInvited = components['schemas']['webhook-organization-member-invited']; +export type SchemaWebhookOrganizationMemberRemoved = components['schemas']['webhook-organization-member-removed']; +export type SchemaWebhookOrganizationRenamed = components['schemas']['webhook-organization-renamed']; +export type SchemaWebhookRubygemsMetadata = components['schemas']['webhook-rubygems-metadata']; +export type SchemaWebhookPackagePublished = components['schemas']['webhook-package-published']; +export type SchemaWebhookPackageUpdated = components['schemas']['webhook-package-updated']; +export type SchemaWebhookPageBuild = components['schemas']['webhook-page-build']; +export type SchemaWebhookPersonalAccessTokenRequestApproved = components['schemas']['webhook-personal-access-token-request-approved']; +export type SchemaWebhookPersonalAccessTokenRequestCancelled = components['schemas']['webhook-personal-access-token-request-cancelled']; +export type SchemaWebhookPersonalAccessTokenRequestCreated = components['schemas']['webhook-personal-access-token-request-created']; +export type SchemaWebhookPersonalAccessTokenRequestDenied = components['schemas']['webhook-personal-access-token-request-denied']; +export type SchemaWebhookPing = components['schemas']['webhook-ping']; +export type SchemaWebhookPingFormEncoded = components['schemas']['webhook-ping-form-encoded']; +export type SchemaWebhookProjectCardConverted = components['schemas']['webhook-project-card-converted']; +export type SchemaWebhookProjectCardCreated = components['schemas']['webhook-project-card-created']; +export type SchemaWebhookProjectCardDeleted = components['schemas']['webhook-project-card-deleted']; +export type SchemaWebhookProjectCardEdited = components['schemas']['webhook-project-card-edited']; +export type SchemaWebhookProjectCardMoved = components['schemas']['webhook-project-card-moved']; +export type SchemaWebhookProjectClosed = components['schemas']['webhook-project-closed']; +export type SchemaWebhookProjectColumnCreated = components['schemas']['webhook-project-column-created']; +export type SchemaWebhookProjectColumnDeleted = components['schemas']['webhook-project-column-deleted']; +export type SchemaWebhookProjectColumnEdited = components['schemas']['webhook-project-column-edited']; +export type SchemaWebhookProjectColumnMoved = components['schemas']['webhook-project-column-moved']; +export type SchemaWebhookProjectCreated = components['schemas']['webhook-project-created']; +export type SchemaWebhookProjectDeleted = components['schemas']['webhook-project-deleted']; +export type SchemaWebhookProjectEdited = components['schemas']['webhook-project-edited']; +export type SchemaWebhookProjectReopened = components['schemas']['webhook-project-reopened']; +export type SchemaWebhookProjectsV2ProjectClosed = components['schemas']['webhook-projects-v2-project-closed']; +export type SchemaWebhookProjectsV2ProjectCreated = components['schemas']['webhook-projects-v2-project-created']; +export type SchemaWebhookProjectsV2ProjectDeleted = components['schemas']['webhook-projects-v2-project-deleted']; +export type SchemaWebhookProjectsV2ProjectEdited = components['schemas']['webhook-projects-v2-project-edited']; +export type SchemaWebhookProjectsV2ItemArchived = components['schemas']['webhook-projects-v2-item-archived']; +export type SchemaWebhookProjectsV2ItemConverted = components['schemas']['webhook-projects-v2-item-converted']; +export type SchemaWebhookProjectsV2ItemCreated = components['schemas']['webhook-projects-v2-item-created']; +export type SchemaWebhookProjectsV2ItemDeleted = components['schemas']['webhook-projects-v2-item-deleted']; +export type SchemaWebhookProjectsV2ItemEdited = components['schemas']['webhook-projects-v2-item-edited']; +export type SchemaWebhookProjectsV2ItemReordered = components['schemas']['webhook-projects-v2-item-reordered']; +export type SchemaWebhookProjectsV2ItemRestored = components['schemas']['webhook-projects-v2-item-restored']; +export type SchemaWebhookProjectsV2ProjectReopened = components['schemas']['webhook-projects-v2-project-reopened']; +export type SchemaWebhookProjectsV2StatusUpdateCreated = components['schemas']['webhook-projects-v2-status-update-created']; +export type SchemaWebhookProjectsV2StatusUpdateDeleted = components['schemas']['webhook-projects-v2-status-update-deleted']; +export type SchemaWebhookProjectsV2StatusUpdateEdited = components['schemas']['webhook-projects-v2-status-update-edited']; +export type SchemaWebhookPublic = components['schemas']['webhook-public']; +export type SchemaWebhookPullRequestAssigned = components['schemas']['webhook-pull-request-assigned']; +export type SchemaWebhookPullRequestAutoMergeDisabled = components['schemas']['webhook-pull-request-auto-merge-disabled']; +export type SchemaWebhookPullRequestAutoMergeEnabled = components['schemas']['webhook-pull-request-auto-merge-enabled']; +export type SchemaWebhookPullRequestClosed = components['schemas']['webhook-pull-request-closed']; +export type SchemaWebhookPullRequestConvertedToDraft = components['schemas']['webhook-pull-request-converted-to-draft']; +export type SchemaWebhookPullRequestDemilestoned = components['schemas']['webhook-pull-request-demilestoned']; +export type SchemaWebhookPullRequestDequeued = components['schemas']['webhook-pull-request-dequeued']; +export type SchemaWebhookPullRequestEdited = components['schemas']['webhook-pull-request-edited']; +export type SchemaWebhookPullRequestEnqueued = components['schemas']['webhook-pull-request-enqueued']; +export type SchemaWebhookPullRequestLabeled = components['schemas']['webhook-pull-request-labeled']; +export type SchemaWebhookPullRequestLocked = components['schemas']['webhook-pull-request-locked']; +export type SchemaWebhookPullRequestMilestoned = components['schemas']['webhook-pull-request-milestoned']; +export type SchemaWebhookPullRequestOpened = components['schemas']['webhook-pull-request-opened']; +export type SchemaWebhookPullRequestReadyForReview = components['schemas']['webhook-pull-request-ready-for-review']; +export type SchemaWebhookPullRequestReopened = components['schemas']['webhook-pull-request-reopened']; +export type SchemaWebhookPullRequestReviewCommentCreated = components['schemas']['webhook-pull-request-review-comment-created']; +export type SchemaWebhookPullRequestReviewCommentDeleted = components['schemas']['webhook-pull-request-review-comment-deleted']; +export type SchemaWebhookPullRequestReviewCommentEdited = components['schemas']['webhook-pull-request-review-comment-edited']; +export type SchemaWebhookPullRequestReviewDismissed = components['schemas']['webhook-pull-request-review-dismissed']; +export type SchemaWebhookPullRequestReviewEdited = components['schemas']['webhook-pull-request-review-edited']; +export type SchemaWebhookPullRequestReviewRequestRemoved = components['schemas']['webhook-pull-request-review-request-removed']; +export type SchemaWebhookPullRequestReviewRequested = components['schemas']['webhook-pull-request-review-requested']; +export type SchemaWebhookPullRequestReviewSubmitted = components['schemas']['webhook-pull-request-review-submitted']; +export type SchemaWebhookPullRequestReviewThreadResolved = components['schemas']['webhook-pull-request-review-thread-resolved']; +export type SchemaWebhookPullRequestReviewThreadUnresolved = components['schemas']['webhook-pull-request-review-thread-unresolved']; +export type SchemaWebhookPullRequestSynchronize = components['schemas']['webhook-pull-request-synchronize']; +export type SchemaWebhookPullRequestUnassigned = components['schemas']['webhook-pull-request-unassigned']; +export type SchemaWebhookPullRequestUnlabeled = components['schemas']['webhook-pull-request-unlabeled']; +export type SchemaWebhookPullRequestUnlocked = components['schemas']['webhook-pull-request-unlocked']; +export type SchemaWebhookPush = components['schemas']['webhook-push']; +export type SchemaWebhookRegistryPackagePublished = components['schemas']['webhook-registry-package-published']; +export type SchemaWebhookRegistryPackageUpdated = components['schemas']['webhook-registry-package-updated']; +export type SchemaWebhookReleaseCreated = components['schemas']['webhook-release-created']; +export type SchemaWebhookReleaseDeleted = components['schemas']['webhook-release-deleted']; +export type SchemaWebhookReleaseEdited = components['schemas']['webhook-release-edited']; +export type SchemaWebhookReleasePrereleased = components['schemas']['webhook-release-prereleased']; +export type SchemaWebhookReleasePublished = components['schemas']['webhook-release-published']; +export type SchemaWebhookReleaseReleased = components['schemas']['webhook-release-released']; +export type SchemaWebhookReleaseUnpublished = components['schemas']['webhook-release-unpublished']; +export type SchemaWebhookRepositoryAdvisoryPublished = components['schemas']['webhook-repository-advisory-published']; +export type SchemaWebhookRepositoryAdvisoryReported = components['schemas']['webhook-repository-advisory-reported']; +export type SchemaWebhookRepositoryArchived = components['schemas']['webhook-repository-archived']; +export type SchemaWebhookRepositoryCreated = components['schemas']['webhook-repository-created']; +export type SchemaWebhookRepositoryDeleted = components['schemas']['webhook-repository-deleted']; +export type SchemaWebhookRepositoryDispatchSample = components['schemas']['webhook-repository-dispatch-sample']; +export type SchemaWebhookRepositoryEdited = components['schemas']['webhook-repository-edited']; +export type SchemaWebhookRepositoryImport = components['schemas']['webhook-repository-import']; +export type SchemaWebhookRepositoryPrivatized = components['schemas']['webhook-repository-privatized']; +export type SchemaWebhookRepositoryPublicized = components['schemas']['webhook-repository-publicized']; +export type SchemaWebhookRepositoryRenamed = components['schemas']['webhook-repository-renamed']; +export type SchemaWebhookRepositoryRulesetCreated = components['schemas']['webhook-repository-ruleset-created']; +export type SchemaWebhookRepositoryRulesetDeleted = components['schemas']['webhook-repository-ruleset-deleted']; +export type SchemaWebhookRepositoryRulesetEdited = components['schemas']['webhook-repository-ruleset-edited']; +export type SchemaWebhookRepositoryTransferred = components['schemas']['webhook-repository-transferred']; +export type SchemaWebhookRepositoryUnarchived = components['schemas']['webhook-repository-unarchived']; +export type SchemaWebhookRepositoryVulnerabilityAlertCreate = components['schemas']['webhook-repository-vulnerability-alert-create']; +export type SchemaWebhookRepositoryVulnerabilityAlertDismiss = components['schemas']['webhook-repository-vulnerability-alert-dismiss']; +export type SchemaWebhookRepositoryVulnerabilityAlertReopen = components['schemas']['webhook-repository-vulnerability-alert-reopen']; +export type SchemaWebhookRepositoryVulnerabilityAlertResolve = components['schemas']['webhook-repository-vulnerability-alert-resolve']; +export type SchemaWebhookSecretScanningAlertCreated = components['schemas']['webhook-secret-scanning-alert-created']; +export type SchemaWebhookSecretScanningAlertLocationCreated = components['schemas']['webhook-secret-scanning-alert-location-created']; +export type SchemaWebhookSecretScanningAlertLocationCreatedFormEncoded = components['schemas']['webhook-secret-scanning-alert-location-created-form-encoded']; +export type SchemaWebhookSecretScanningAlertReopened = components['schemas']['webhook-secret-scanning-alert-reopened']; +export type SchemaWebhookSecretScanningAlertResolved = components['schemas']['webhook-secret-scanning-alert-resolved']; +export type SchemaWebhookSecretScanningAlertValidated = components['schemas']['webhook-secret-scanning-alert-validated']; +export type SchemaWebhookSecurityAdvisoryPublished = components['schemas']['webhook-security-advisory-published']; +export type SchemaWebhookSecurityAdvisoryUpdated = components['schemas']['webhook-security-advisory-updated']; +export type SchemaWebhookSecurityAdvisoryWithdrawn = components['schemas']['webhook-security-advisory-withdrawn']; +export type SchemaWebhookSecurityAndAnalysis = components['schemas']['webhook-security-and-analysis']; +export type SchemaWebhookSponsorshipCancelled = components['schemas']['webhook-sponsorship-cancelled']; +export type SchemaWebhookSponsorshipCreated = components['schemas']['webhook-sponsorship-created']; +export type SchemaWebhookSponsorshipEdited = components['schemas']['webhook-sponsorship-edited']; +export type SchemaWebhookSponsorshipPendingCancellation = components['schemas']['webhook-sponsorship-pending-cancellation']; +export type SchemaWebhookSponsorshipPendingTierChange = components['schemas']['webhook-sponsorship-pending-tier-change']; +export type SchemaWebhookSponsorshipTierChanged = components['schemas']['webhook-sponsorship-tier-changed']; +export type SchemaWebhookStarCreated = components['schemas']['webhook-star-created']; +export type SchemaWebhookStarDeleted = components['schemas']['webhook-star-deleted']; +export type SchemaWebhookStatus = components['schemas']['webhook-status']; +export type SchemaWebhookTeamAdd = components['schemas']['webhook-team-add']; +export type SchemaWebhookTeamAddedToRepository = components['schemas']['webhook-team-added-to-repository']; +export type SchemaWebhookTeamCreated = components['schemas']['webhook-team-created']; +export type SchemaWebhookTeamDeleted = components['schemas']['webhook-team-deleted']; +export type SchemaWebhookTeamEdited = components['schemas']['webhook-team-edited']; +export type SchemaWebhookTeamRemovedFromRepository = components['schemas']['webhook-team-removed-from-repository']; +export type SchemaWebhookWatchStarted = components['schemas']['webhook-watch-started']; +export type SchemaWebhookWorkflowDispatch = components['schemas']['webhook-workflow-dispatch']; +export type SchemaWebhookWorkflowJobCompleted = components['schemas']['webhook-workflow-job-completed']; +export type SchemaWebhookWorkflowJobInProgress = components['schemas']['webhook-workflow-job-in-progress']; +export type SchemaWebhookWorkflowJobQueued = components['schemas']['webhook-workflow-job-queued']; +export type SchemaWebhookWorkflowJobWaiting = components['schemas']['webhook-workflow-job-waiting']; +export type SchemaWebhookWorkflowRunCompleted = components['schemas']['webhook-workflow-run-completed']; +export type SchemaWebhookWorkflowRunInProgress = components['schemas']['webhook-workflow-run-in-progress']; +export type SchemaWebhookWorkflowRunRequested = components['schemas']['webhook-workflow-run-requested']; +export type ResponseValidationFailedSimple = components['responses']['validation_failed_simple']; +export type ResponseNotFound = components['responses']['not_found']; +export type ResponseBadRequest = components['responses']['bad_request']; +export type ResponseValidationFailed = components['responses']['validation_failed']; +export type ResponseAccepted = components['responses']['accepted']; +export type ResponseNotModified = components['responses']['not_modified']; +export type ResponseRequiresAuthentication = components['responses']['requires_authentication']; +export type ResponseForbidden = components['responses']['forbidden']; +export type ResponseInternalError = components['responses']['internal_error']; +export type ResponseServiceUnavailable = components['responses']['service_unavailable']; +export type ResponseForbiddenGist = components['responses']['forbidden_gist']; +export type ResponseMovedPermanently = components['responses']['moved_permanently']; +export type ResponseConflict = components['responses']['conflict']; +export type ResponseActionsRunnerJitconfig = components['responses']['actions_runner_jitconfig']; +export type ResponseActionsRunnerLabels = components['responses']['actions_runner_labels']; +export type ResponseActionsRunnerLabelsReadonly = components['responses']['actions_runner_labels_readonly']; +export type ResponseNoContent = components['responses']['no_content']; +export type ResponsePackageEsListError = components['responses']['package_es_list_error']; +export type ResponseGone = components['responses']['gone']; +export type ResponseTemporaryRedirect = components['responses']['temporary_redirect']; +export type ResponseCodeScanningForbiddenRead = components['responses']['code_scanning_forbidden_read']; +export type ResponseCodeScanningForbiddenWrite = components['responses']['code_scanning_forbidden_write']; +export type ResponseFound = components['responses']['found']; +export type ResponseCodeScanningConflict = components['responses']['code_scanning_conflict']; +export type ResponseDependencyReviewForbidden = components['responses']['dependency_review_forbidden']; +export type ResponsePorterMaintenance = components['responses']['porter_maintenance']; +export type ResponseUnacceptable = components['responses']['unacceptable']; +export type ParameterPaginationBefore = components['parameters']['pagination-before']; +export type ParameterPaginationAfter = components['parameters']['pagination-after']; +export type ParameterDirection = components['parameters']['direction']; +export type ParameterGhsaId = components['parameters']['ghsa_id']; +export type ParameterPerPage = components['parameters']['per-page']; +export type ParameterCursor = components['parameters']['cursor']; +export type ParameterDeliveryId = components['parameters']['delivery-id']; +export type ParameterPage = components['parameters']['page']; +export type ParameterSince = components['parameters']['since']; +export type ParameterInstallationId = components['parameters']['installation-id']; +export type ParameterClientId = components['parameters']['client-id']; +export type ParameterAppSlug = components['parameters']['app-slug']; +export type ParameterAssignmentId = components['parameters']['assignment-id']; +export type ParameterClassroomId = components['parameters']['classroom-id']; +export type ParameterEnterprise = components['parameters']['enterprise']; +export type ParameterDependabotAlertCommaSeparatedStates = components['parameters']['dependabot-alert-comma-separated-states']; +export type ParameterDependabotAlertCommaSeparatedSeverities = components['parameters']['dependabot-alert-comma-separated-severities']; +export type ParameterDependabotAlertCommaSeparatedEcosystems = components['parameters']['dependabot-alert-comma-separated-ecosystems']; +export type ParameterDependabotAlertCommaSeparatedPackages = components['parameters']['dependabot-alert-comma-separated-packages']; +export type ParameterDependabotAlertScope = components['parameters']['dependabot-alert-scope']; +export type ParameterDependabotAlertSort = components['parameters']['dependabot-alert-sort']; +export type ParameterPaginationFirst = components['parameters']['pagination-first']; +export type ParameterPaginationLast = components['parameters']['pagination-last']; +export type ParameterSecretScanningAlertState = components['parameters']['secret-scanning-alert-state']; +export type ParameterSecretScanningAlertSecretType = components['parameters']['secret-scanning-alert-secret-type']; +export type ParameterSecretScanningAlertResolution = components['parameters']['secret-scanning-alert-resolution']; +export type ParameterSecretScanningAlertSort = components['parameters']['secret-scanning-alert-sort']; +export type ParameterSecretScanningAlertValidity = components['parameters']['secret-scanning-alert-validity']; +export type ParameterGistId = components['parameters']['gist-id']; +export type ParameterCommentId = components['parameters']['comment-id']; +export type ParameterLabels = components['parameters']['labels']; +export type ParameterAccountId = components['parameters']['account-id']; +export type ParameterPlanId = components['parameters']['plan-id']; +export type ParameterSort = components['parameters']['sort']; +export type ParameterOwner = components['parameters']['owner']; +export type ParameterRepo = components['parameters']['repo']; +export type ParameterAll = components['parameters']['all']; +export type ParameterParticipating = components['parameters']['participating']; +export type ParameterBefore = components['parameters']['before']; +export type ParameterThreadId = components['parameters']['thread-id']; +export type ParameterSinceOrg = components['parameters']['since-org']; +export type ParameterOrg = components['parameters']['org']; +export type ParameterRepositoryId = components['parameters']['repository-id']; +export type ParameterRunnerId = components['parameters']['runner-id']; +export type ParameterRunnerLabelName = components['parameters']['runner-label-name']; +export type ParameterSecretName = components['parameters']['secret-name']; +export type ParameterVariablesPerPage = components['parameters']['variables-per-page']; +export type ParameterVariableName = components['parameters']['variable-name']; +export type ParameterUsername = components['parameters']['username']; +export type ParameterToolName = components['parameters']['tool-name']; +export type ParameterToolGuid = components['parameters']['tool-guid']; +export type ParameterConfigurationId = components['parameters']['configuration-id']; +export type ParameterHookId = components['parameters']['hook-id']; +export type ParameterInvitationId = components['parameters']['invitation-id']; +export type ParameterCodespaceName = components['parameters']['codespace-name']; +export type ParameterMigrationId = components['parameters']['migration-id']; +export type ParameterRepoName = components['parameters']['repo-name']; +export type ParameterTeamSlug = components['parameters']['team-slug']; +export type ParameterRoleId = components['parameters']['role-id']; +export type ParameterPackageVisibility = components['parameters']['package-visibility']; +export type ParameterPackageType = components['parameters']['package-type']; +export type ParameterPackageName = components['parameters']['package-name']; +export type ParameterPackageVersionId = components['parameters']['package-version-id']; +export type ParameterPersonalAccessTokenSort = components['parameters']['personal-access-token-sort']; +export type ParameterPersonalAccessTokenOwner = components['parameters']['personal-access-token-owner']; +export type ParameterPersonalAccessTokenRepository = components['parameters']['personal-access-token-repository']; +export type ParameterPersonalAccessTokenPermission = components['parameters']['personal-access-token-permission']; +export type ParameterPersonalAccessTokenBefore = components['parameters']['personal-access-token-before']; +export type ParameterPersonalAccessTokenAfter = components['parameters']['personal-access-token-after']; +export type ParameterFineGrainedPersonalAccessTokenId = components['parameters']['fine-grained-personal-access-token-id']; +export type ParameterCustomPropertyName = components['parameters']['custom-property-name']; +export type ParameterRefInQuery = components['parameters']['ref-in-query']; +export type ParameterRepositoryNameInQuery = components['parameters']['repository-name-in-query']; +export type ParameterTimePeriod = components['parameters']['time-period']; +export type ParameterActorNameInQuery = components['parameters']['actor-name-in-query']; +export type ParameterRuleSuiteResult = components['parameters']['rule-suite-result']; +export type ParameterRuleSuiteId = components['parameters']['rule-suite-id']; +export type ParameterSecretScanningPaginationBeforeOrgRepo = components['parameters']['secret-scanning-pagination-before-org-repo']; +export type ParameterSecretScanningPaginationAfterOrgRepo = components['parameters']['secret-scanning-pagination-after-org-repo']; +export type ParameterDiscussionNumber = components['parameters']['discussion-number']; +export type ParameterCommentNumber = components['parameters']['comment-number']; +export type ParameterReactionId = components['parameters']['reaction-id']; +export type ParameterProjectId = components['parameters']['project-id']; +export type ParameterSecurityProduct = components['parameters']['security-product']; +export type ParameterOrgSecurityProductEnablement = components['parameters']['org-security-product-enablement']; +export type ParameterCardId = components['parameters']['card-id']; +export type ParameterColumnId = components['parameters']['column-id']; +export type ParameterArtifactName = components['parameters']['artifact-name']; +export type ParameterArtifactId = components['parameters']['artifact-id']; +export type ParameterActionsCacheGitRefFull = components['parameters']['actions-cache-git-ref-full']; +export type ParameterActionsCacheKey = components['parameters']['actions-cache-key']; +export type ParameterActionsCacheListSort = components['parameters']['actions-cache-list-sort']; +export type ParameterActionsCacheKeyRequired = components['parameters']['actions-cache-key-required']; +export type ParameterCacheId = components['parameters']['cache-id']; +export type ParameterJobId = components['parameters']['job-id']; +export type ParameterActor = components['parameters']['actor']; +export type ParameterWorkflowRunBranch = components['parameters']['workflow-run-branch']; +export type ParameterEvent = components['parameters']['event']; +export type ParameterWorkflowRunStatus = components['parameters']['workflow-run-status']; +export type ParameterCreated = components['parameters']['created']; +export type ParameterExcludePullRequests = components['parameters']['exclude-pull-requests']; +export type ParameterWorkflowRunCheckSuiteId = components['parameters']['workflow-run-check-suite-id']; +export type ParameterWorkflowRunHeadSha = components['parameters']['workflow-run-head-sha']; +export type ParameterRunId = components['parameters']['run-id']; +export type ParameterAttemptNumber = components['parameters']['attempt-number']; +export type ParameterWorkflowId = components['parameters']['workflow-id']; +export type ParameterAutolinkId = components['parameters']['autolink-id']; +export type ParameterBranch = components['parameters']['branch']; +export type ParameterCheckRunId = components['parameters']['check-run-id']; +export type ParameterCheckSuiteId = components['parameters']['check-suite-id']; +export type ParameterCheckName = components['parameters']['check-name']; +export type ParameterStatus = components['parameters']['status']; +export type ParameterGitRef = components['parameters']['git-ref']; +export type ParameterAlertNumber = components['parameters']['alert-number']; +export type ParameterCommitSha = components['parameters']['commit-sha']; +export type ParameterCommitRef = components['parameters']['commit-ref']; +export type ParameterDependabotAlertCommaSeparatedManifests = components['parameters']['dependabot-alert-comma-separated-manifests']; +export type ParameterDependabotAlertNumber = components['parameters']['dependabot-alert-number']; +export type ParameterManifestPath = components['parameters']['manifest-path']; +export type ParameterDeploymentId = components['parameters']['deployment-id']; +export type ParameterEnvironmentName = components['parameters']['environment-name']; +export type ParameterBranchPolicyId = components['parameters']['branch-policy-id']; +export type ParameterProtectionRuleId = components['parameters']['protection-rule-id']; +export type ParameterGitRefOnly = components['parameters']['git-ref-only']; +export type ParameterSinceUser = components['parameters']['since-user']; +export type ParameterIssueNumber = components['parameters']['issue-number']; +export type ParameterKeyId = components['parameters']['key-id']; +export type ParameterMilestoneNumber = components['parameters']['milestone-number']; +export type ParameterPagesDeploymentId = components['parameters']['pages-deployment-id']; +export type ParameterPullNumber = components['parameters']['pull-number']; +export type ParameterReviewId = components['parameters']['review-id']; +export type ParameterAssetId = components['parameters']['asset-id']; +export type ParameterReleaseId = components['parameters']['release-id']; +export type ParameterTagProtectionId = components['parameters']['tag-protection-id']; +export type ParameterPer = components['parameters']['per']; +export type ParameterSinceRepo = components['parameters']['since-repo']; +export type ParameterOrder = components['parameters']['order']; +export type ParameterTeamId = components['parameters']['team-id']; +export type ParameterRepositoryIdInQuery = components['parameters']['repository-id-in-query']; +export type ParameterExportId = components['parameters']['export-id']; +export type ParameterGpgKeyId = components['parameters']['gpg-key-id']; +export type ParameterSinceRepoDate = components['parameters']['since-repo-date']; +export type ParameterBeforeRepoDate = components['parameters']['before-repo-date']; +export type ParameterSshSigningKeyId = components['parameters']['ssh-signing-key-id']; +export type ParameterSortStarred = components['parameters']['sort-starred']; +export type HeaderLink = components['headers']['link']; +export type HeaderContentType = components['headers']['content-type']; +export type HeaderXCommonMarkerVersion = components['headers']['x-common-marker-version']; +export type HeaderXRateLimitLimit = components['headers']['x-rate-limit-limit']; +export type HeaderXRateLimitRemaining = components['headers']['x-rate-limit-remaining']; +export type HeaderXRateLimitReset = components['headers']['x-rate-limit-reset']; +export type HeaderLocation = components['headers']['location']; +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"]; + }; + }; + }; + }; + "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?: components["schemas"]["security-advisory-ecosystems"]; + /** @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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "apps/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "classroom/list-accepted-assigments-for-an-assignment": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "classroom/list-classrooms": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "copilot/list-copilot-seats-for-enterprise": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The total number of Copilot seats the enterprise is being billed for. Users with access through multiple organizations or enterprise teams are only counted once. */ + 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/usage-metrics-for-enterprise": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + }; + 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"]; + }; + }; + "activity/list-public-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "gists/list-comments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "gists/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "apps/list-repos-accessible-to-installation": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "apps/list-plans": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "apps/list-plans-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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-done": { + 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 No content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "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; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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. The maximum size is 160 characters. */ + 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * 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; + /** + * @deprecated + * @description **Deprecated.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-org-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-selected-repos-for-org-variable": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "orgs/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + }[]; + }; + }; + }; + }; + }; + "orgs/list-blocked-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "code-security/get-configurations-for-org": { + parameters: { + query?: { + /** @description The target type of the code security configuration */ + target_type?: "global" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-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: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/create-configuration": { + 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 code security configuration. Must be unique within the organization. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security + * @default disabled + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + }; + }; + "code-security/get-default-configurations": { + 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"]["code-security-default-configurations"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/detach-configuration": { + 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 An array of repository IDs to detach from configurations. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/get-configuration": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/delete-configuration": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/update-configuration": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response when a configuration is updated */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + /** @description Response when no new updates are made */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "code-security/attach-configuration": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. `selected` means the configuration will be attached to only the repositories specified by `selected_repository_ids` + * @enum {string} + */ + scope: "all" | "public" | "private_or_internal" | "selected"; + /** @description An array of repository IDs to attach the configuration to. You can only provide a list of repository ids when the `scope` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + }; + }; + "code-security/set-configuration-as-default": { + 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 code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/get-repositories-for-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `detached`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` */ + status?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-in-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + "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"]; + /** @description There is a problem with your account's associated payment method. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/list-copilot-seats": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 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-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 Business or Enterprise 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"]; + }; + }; + "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 Business or Enterprise 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"]; + }; + }; + "copilot/add-copilot-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 Business or Enterprise 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"]; + }; + }; + "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 Business or Enterprise 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"]; + }; + }; + "copilot/usage-metrics-for-org": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + "activity/list-public-org-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "orgs/list-failed-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "orgs/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "orgs/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "orgs/list-app-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + }; + "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"]; + }; + }; + "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; + }; + }; + }; + "orgs/list-pending-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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. + * * `reinstate` - The previous role assigned to the invitee before they were removed from your organization. Can be one of the roles listed above. Only works if the invitee was previously part of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager" | "reinstate"; + /** @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"]; + }; + }; + "orgs/list-invitation-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + "codespaces/get-codespaces-for-user-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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-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 Business or Enterprise 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 + * @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. */ + 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"]; + }; + }; + "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"]; + }; + }; + "migrations/list-repos-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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-org-roles": { + 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 - list of organization roles */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The total number of organization roles available to the organization. */ + total_count?: number; + /** @description The list of organization roles available to the organization. */ + roles?: components["schemas"]["organization-role"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/revoke-all-org-roles-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; + }; + }; + }; + "orgs/assign-team-to-org-role": { + 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 role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization, team or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled for the organization, or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-org-role-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"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-all-org-roles-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; + }; + }; + }; + "orgs/assign-user-to-org-role": { + 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 unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization, user or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled enabled for the organization, the validation failed, or the user is not an organization member. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-org-role-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"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/get-org-role": { + 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 role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-org-role-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - List of assigned teams */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-org-role-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - List of assigned users */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: number; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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/get-all-custom-properties": { + 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-custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-properties": { + 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 array of custom properties to create or update. */ + properties: components["schemas"]["org-custom-property"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/get-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name. The name is case sensitive. */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name. The name is case sensitive. */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: (string | string[]) | null; + /** @description Short description of the property */ + description?: string | null; + /** @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. */ + allowed_values?: string[] | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/remove-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name. The name is case sensitive. */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-custom-properties-values-for-repos": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Finds repositories in the organization with a query containing 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. */ + repository_query?: string; + }; + 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-repo-custom-property-values"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-properties-values-for-repos": { + 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 repositories that the custom property values will be applied to. */ + repository_names: string[]; + /** @description List of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-public-members": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"; + /** @description The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-org-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + 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 ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. + * */ + ref?: components["parameters"]["ref-in-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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + }; + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "teams/list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-pending-invitations-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-projects-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @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; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-repos-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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. */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-child-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + "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; + }[]; + }; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }[]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + secret_scanning_non_provider_patterns?: { + /** @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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "actions/get-actions-cache-list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "actions/list-repo-organization-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "actions/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-repo-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "actions/list-repo-workflows": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "issues/list-assignees": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "repos/create-attestation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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 attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the attestation. */ + id?: number; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + }[]; + }; + }; + }; + }; + }; + "repos/list-autolinks": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "repos/list-branches": { + parameters: { + query?: { + /** @description Setting to `true` returns only branches protected by branch protections or rulesets. 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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[]; + }; + }; + 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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * @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"]; + }; + }; + }; + }; + "checks/list-annotations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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/create-variant-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"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description A Base64-encoded tarball containing a CodeQL query and all its dependencies */ + query_pack: string; + /** @description List of repository names (in the form `owner/repo-name`) to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repositories?: string[]; + /** @description List of repository lists to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_lists?: string[]; + /** @description List of organization or user names whose repositories the query should be run against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_owners?: string[]; + } & (unknown | unknown | unknown); + }; + }; + responses: { + /** @description Variant analysis submitted for processing */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unable to process variant analysis submission */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-variant-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 unique identifier of the variant analysis. */ + codeql_variant_analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-variant-analysis-repo-task": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the controller repository. */ + repo: string; + /** @description The ID of the variant analysis. */ + codeql_variant_analysis_id: number; + /** @description The account owner of the variant analysis repository. The name is not case sensitive. */ + repo_owner: string; + /** @description The name of the variant analysis repository. */ + repo_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis-repo-task"]; + }; + }; + 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-full"]; + 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"]; + }; + }; + "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; + }; + }; + }; + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + "repos/list-commit-comments-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + since?: string; + /** @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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + until?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-comments-for-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "repos/list-pull-requests-associated-with-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "repos/get-commit": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + 409: components["responses"]["conflict"]; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "repos/get-combined-status-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "repos/list-commit-statuses-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "repos/compare-commits": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + 304: components["responses"]["not_modified"]; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + }; + }; + "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; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "repos/list-deployment-statuses": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-all-environments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + prevent_self_review?: components["schemas"]["prevent-self-review"]; + /** @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"]; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-deployment-branch-policies": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "repos/get-all-deployment-protection-rules": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "repos/create-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "repos/list-custom-deployment-rule-integrations": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "repos/disable-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "actions/list-environment-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "actions/get-environment-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"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "actions/get-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "actions/create-or-update-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "actions/delete-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "actions/list-environment-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"][]; + }; + }; + }; + }; + }; + "actions/create-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "actions/get-environment-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 environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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"]; + }; + }; + }; + }; + "actions/delete-environment-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"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-environment-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"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + 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; + }; + }; + }; + "activity/list-repo-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + 409: components["responses"]["conflict"]; + 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 full 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"]; + 409: components["responses"]["conflict"]; + 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"]; + 409: components["responses"]["conflict"]; + }; + }; + "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 Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "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 Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "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"]; + }; + }; + 409: components["responses"]["conflict"]; + 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 Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 409: components["responses"]["conflict"]; + 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 Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + 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"]; + }; + }; + 409: components["responses"]["conflict"]; + 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"]; + }; + }; + 409: components["responses"]["conflict"]; + 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"]; + 409: components["responses"]["conflict"]; + }; + }; + "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"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "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"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + /** + * @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": { + config?: components["schemas"]["webhook-config"]; + /** + * @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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "repos/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "repos/list-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "issues/list-events-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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" | 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?: (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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "issues/list-labels-on-issue": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "issues/list-events-for-timeline": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "repos/list-deploy-keys": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "issues/list-labels-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "licenses/get-for-repo": { + parameters: { + query?: { + /** @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"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "issues/list-labels-for-milestone": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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/pages/configuring-a-custom-domain-for-your-github-pages-site)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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 ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_id?: number; + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + 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-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 The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pages-deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/cancel-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"]; + /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 404: components["responses"]["not_found"]; + }; + }; + "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; + }; + }; + }; + "repos/check-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: { + /** @description Private vulnerability reporting status */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Whether or not private vulnerability reporting is enabled for the repository. */ + enabled: boolean; + }; + }; + }; + 422: components["responses"]["bad_request"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "repos/get-custom-properties-values": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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"]["custom-property-value"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-or-update-custom-properties-values": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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 list of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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/using-the-rest-api/getting-started-with-the-rest-api#media-types) 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"]; + 406: components["responses"]["unacceptable"]; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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. 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. + */ + 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"]; + }; + }; + "pulls/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "pulls/list-files": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + "pulls/list-reviews": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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. 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. */ + 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"]; + }; + }; + "pulls/list-comments-for-review": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + "repos/list-releases": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "repos/list-release-assets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "repos/get-branch-rules": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "repos/get-repo-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + 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. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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 + * + * > [!NOTE] + * > The `push` target is in beta and is subject to change. + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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"]; + }; + }; + "secret-scanning/list-locations-for-alert": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "security-advisories/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"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + 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"]; + }; + }; + "activity/list-stargazers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + /** @description Repository contains more than 10,000 commits */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "activity/list-watchers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "repos/list-tags": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "repos/list-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "repos/get-all-topics": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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"]["full-repository"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "teams/list-pending-invitations-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-projects-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @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"]; + }; + }; + "teams/list-repos-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "teams/list-child-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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; + }; + }; + }; + "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"]; + }; + }; + "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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "orgs/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]["full-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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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/get-by-id": { + 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"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "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"]; + }; + }; + "users/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + bundle?: components["schemas"]["sigstore-bundle-0"]; + repository_id?: number; + }[]; + }; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "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"]; + }; + }; + "activity/list-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "activity/list-org-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "activity/list-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "users/list-followers-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "users/list-following-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "users/list-gpg-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "users/list-public-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "orgs/list-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + }; + }; + "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"]; + }; + }; + "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"]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"]; + }; + }; + "activity/list-received-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "activity/list-received-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "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"]; + }; + }; + }; + }; + "users/list-social-accounts-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "users/list-ssh-signing-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "activity/list-repos-watched-by-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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"][]; + }; + }; + }; + }; + "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/package.json b/packages/openapi-typescript/package.json index 88baa9c5f..32002978a 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -62,6 +62,7 @@ "dependencies": { "@redocly/openapi-core": "^1.16.0", "ansi-colors": "^4.1.3", + "change-case": "^5.4.4", "parse-json": "^8.1.0", "supports-color": "^9.4.0", "yargs-parser": "^21.1.1" diff --git a/packages/openapi-typescript/scripts/update-examples.ts b/packages/openapi-typescript/scripts/update-examples.ts index 31726dcfc..521783353 100644 --- a/packages/openapi-typescript/scripts/update-examples.ts +++ b/packages/openapi-typescript/scripts/update-examples.ts @@ -40,6 +40,7 @@ async function generateSchemas() { "-o", `./examples/${name}-required.ts`, ]); + args.push([`./examples/${name}${ext}`, "--root-types", "-o", `./examples/${name}-root-types.ts`]); } await Promise.all(args.map((a) => execa("./bin/cli.js", a, { cwd }))); diff --git a/packages/openapi-typescript/src/index.ts b/packages/openapi-typescript/src/index.ts index 70c6757eb..2875f837a 100644 --- a/packages/openapi-typescript/src/index.ts +++ b/packages/openapi-typescript/src/index.ts @@ -79,6 +79,7 @@ export default async function openapiTS( excludeDeprecated: options.excludeDeprecated ?? false, exportType: options.exportType ?? false, immutable: options.immutable ?? false, + rootTypes: options.rootTypes ?? false, injectFooter: [], pathParamsAsTypes: options.pathParamsAsTypes ?? false, postTransform: typeof options.postTransform === "function" ? options.postTransform : undefined, diff --git a/packages/openapi-typescript/src/transform/components-object.ts b/packages/openapi-typescript/src/transform/components-object.ts index 7b5a577c9..32b12fd7c 100644 --- a/packages/openapi-typescript/src/transform/components-object.ts +++ b/packages/openapi-typescript/src/transform/components-object.ts @@ -1,4 +1,5 @@ import ts from "typescript"; +import * as changeCase from "change-case"; import { performance } from "node:perf_hooks"; import { NEVER, QUESTION_TOKEN, addJSDocComment, tsModifiers, tsPropertyIndex } from "../lib/ts.js"; import { createRef, debug, getEntries } from "../lib/utils.js"; @@ -25,8 +26,9 @@ const transformers: Record rootTypeAliases[k]); + } + + return [ts.factory.createTypeLiteralNode(type), ...rootTypes]; +} + +export function singularizeComponentKey( + key: `x-${string}` | "schemas" | "responses" | "parameters" | "requestBodies" | "headers" | "pathItems", +): string { + switch (key) { + // Handle special singular case + case "requestBodies": + return "requestBody"; + // Default to removing the "s" + default: + return key.slice(0, -1); + } } diff --git a/packages/openapi-typescript/src/transform/index.ts b/packages/openapi-typescript/src/transform/index.ts index e62002881..9ad0b9ae3 100644 --- a/packages/openapi-typescript/src/transform/index.ts +++ b/packages/openapi-typescript/src/transform/index.ts @@ -10,7 +10,7 @@ import transformWebhooksObject from "./webhooks-object.js"; type SchemaTransforms = keyof Pick; -const transformers: Record ts.TypeNode> = { +const transformers: Record ts.Node | ts.Node[]> = { paths: transformPathsObject, webhooks: transformWebhooksObject, components: transformComponentsObject, @@ -35,28 +35,37 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { if (schema[root] && typeof schema[root] === "object") { const rootT = performance.now(); - const subType = transformers[root](schema[root], ctx); - if ((subType as ts.TypeLiteralNode).members?.length) { - type.push( - ctx.exportType - ? ts.factory.createTypeAliasDeclaration( - /* modifiers */ tsModifiers({ export: true }), - /* name */ root, - /* typeParameters */ undefined, - /* type */ subType, - ) - : ts.factory.createInterfaceDeclaration( - /* modifiers */ tsModifiers({ export: true }), - /* 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); + const subTypes = ([] as ts.Node[]).concat(transformers[root](schema[root], ctx)); + for (const subType of subTypes) { + if (ts.isTypeNode(subType)) { + if ((subType as ts.TypeLiteralNode).members?.length) { + type.push( + ctx.exportType + ? ts.factory.createTypeAliasDeclaration( + /* modifiers */ tsModifiers({ export: true }), + /* name */ root, + /* typeParameters */ undefined, + /* type */ subType, + ) + : ts.factory.createInterfaceDeclaration( + /* modifiers */ tsModifiers({ export: true }), + /* 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 if (ts.isTypeAliasDeclaration(subType)) { + type.push(subType); + } else { + type.push(emptyObj); + debug(`${root} done (skipped)`, "ts", 0); + } } } else { type.push(emptyObj); diff --git a/packages/openapi-typescript/src/types.ts b/packages/openapi-typescript/src/types.ts index 73a163973..d045d521d 100644 --- a/packages/openapi-typescript/src/types.ts +++ b/packages/openapi-typescript/src/types.ts @@ -657,6 +657,8 @@ export interface OpenAPITSOptions { pathParamsAsTypes?: boolean; /** Treat all objects as if they have \`required\` set to all properties by default (default: false) */ propertiesRequiredByDefault?: boolean; + /** (optional) Generate schema types at root level */ + rootTypes?: boolean; /** * Configure Redocly for validation, schema fetching, and bundling * @see https://redocly.com/docs/cli/configuration/ @@ -688,6 +690,7 @@ export interface GlobalContext { pathParamsAsTypes: boolean; postTransform: OpenAPITSOptions["postTransform"]; propertiesRequiredByDefault: boolean; + rootTypes: boolean; redoc: RedoclyConfig; silent: boolean; transform: OpenAPITSOptions["transform"]; diff --git a/packages/openapi-typescript/test/cli.test.ts b/packages/openapi-typescript/test/cli.test.ts index 76376a720..448820bbf 100644 --- a/packages/openapi-typescript/test/cli.test.ts +++ b/packages/openapi-typescript/test/cli.test.ts @@ -36,6 +36,14 @@ describe("CLI", () => { ci: { timeout: TIMEOUT }, }, ], + [ + "snapshot > GitHub API (root types)", + { + given: ["./examples/github-api.yaml", "--root-types"], + want: new URL("./examples/github-api-root-types.ts", root), + ci: { timeout: TIMEOUT }, + }, + ], [ "snapshot > GitHub API (next)", { diff --git a/packages/openapi-typescript/test/test-helpers.ts b/packages/openapi-typescript/test/test-helpers.ts index f6330045c..714c1a493 100644 --- a/packages/openapi-typescript/test/test-helpers.ts +++ b/packages/openapi-typescript/test/test-helpers.ts @@ -23,6 +23,7 @@ export const DEFAULT_CTX: GlobalContext = { pathParamsAsTypes: false, postTransform: undefined, propertiesRequiredByDefault: false, + rootTypes: false, redoc: await createConfig({}, { extends: ["minimal"] }), resolve($ref) { return resolveRef({}, $ref, { silent: false }); diff --git a/packages/openapi-typescript/test/transform/components-object.test.ts b/packages/openapi-typescript/test/transform/components-object.test.ts index 2d7989aa0..a9732e405 100644 --- a/packages/openapi-typescript/test/transform/components-object.test.ts +++ b/packages/openapi-typescript/test/transform/components-object.test.ts @@ -464,6 +464,241 @@ describe("transformComponentsObject", () => { options: { ...DEFAULT_OPTIONS, excludeDeprecated: true }, }, ], + [ + "options > rootTypes: true", + { + given: { + schemas: { + SomeType: { + type: "object", + required: ["name", "url"], + properties: { + name: { type: "string" }, + url: { type: "string" }, + }, + }, + "Some-Type": { + type: "object", + required: ["name", "url"], + properties: { + name: { type: "string" }, + url: { type: "string" }, + }, + }, + "Some.Type": { + type: "object", + required: ["name", "url"], + properties: { + name: { type: "string" }, + url: { type: "string" }, + }, + }, + "Some/Type": { + type: "object", + required: ["name", "url"], + properties: { + name: { type: "string" }, + url: { type: "string" }, + }, + }, + "1Type": { + type: "object", + required: ["value"], + properties: { + value: { 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" }, + }, + }, + }, + SomeType: { + content: { + "application/json": { + schema: { $ref: "#/components/schemas/SomeType" }, + }, + }, + }, + }, + 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: { + SomeType: { + name: string; + url: string; + }; + "Some-Type": { + name: string; + url: string; + }; + "Some.Type": { + name: string; + url: string; + }; + "Some/Type": { + name: string; + url: string; + }; + "1Type": { + value: 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"]; + }; + }; + SomeType: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SomeType"]; + }; + }; + }; + 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; + }; + }; +} +export type SchemaSomeType = components['schemas']['SomeType']; +export type SchemaSomeType_2 = components['schemas']['Some-Type']; +export type SchemaSomeType_3 = components['schemas']['Some.Type']; +export type SchemaSomeType_4 = components['schemas']['Some/Type']; +export type Schema1Type = components['schemas']['1Type']; +export type SchemaError = components['schemas']['Error']; +export type ResponseOk = components['responses']['OK']; +export type ResponseNoContent = components['responses']['NoContent']; +export type ResponseErrorResponse = components['responses']['ErrorResponse']; +export type ResponseSomeType = components['responses']['SomeType']; +export type ParameterSearch = components['parameters']['Search']; +export type RequestBodyUploadUser = components['requestBodies']['UploadUser']; +export type HeaderAuth = components['headers']['Auth']; +export type PathItemUploadUser = components['pathItems']['UploadUser'];`, + options: { ...DEFAULT_OPTIONS, rootTypes: true }, + }, + ], [ "transform > with transform object", { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bd52eee04..e24438cdc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -266,6 +266,9 @@ importers: ansi-colors: specifier: ^4.1.3 version: 4.1.3 + change-case: + specifier: ^5.4.4 + version: 5.4.4 parse-json: specifier: ^8.1.0 version: 8.1.0 @@ -1856,6 +1859,9 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -5234,6 +5240,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + change-case@5.4.4: {} + chardet@0.7.0: {} check-error@2.1.1: {} @@ -5361,10 +5369,6 @@ snapshots: optionalDependencies: supports-color: 9.4.0 - debug@4.3.6: - dependencies: - ms: 2.1.2 - debug@4.3.6(supports-color@9.4.0): dependencies: ms: 2.1.2 @@ -6620,7 +6624,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.6 + debug: 4.3.6(supports-color@9.4.0) fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 3.5.1 From fdc6d229e995b6009619835530ac74487fda48ef Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:14:55 -0600 Subject: [PATCH 16/67] [ci] release (#1900) Co-authored-by: github-actions[bot] --- .changeset/late-geese-begin.md | 5 ----- packages/openapi-typescript/CHANGELOG.md | 6 ++++++ packages/openapi-typescript/package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 .changeset/late-geese-begin.md diff --git a/.changeset/late-geese-begin.md b/.changeset/late-geese-begin.md deleted file mode 100644 index 8a73acc1b..000000000 --- a/.changeset/late-geese-begin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": minor ---- - -Add option to export all root component types diff --git a/packages/openapi-typescript/CHANGELOG.md b/packages/openapi-typescript/CHANGELOG.md index 447d3e5e1..33833428a 100644 --- a/packages/openapi-typescript/CHANGELOG.md +++ b/packages/openapi-typescript/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-typescript +## 7.4.0 + +### Minor Changes + +- [#1876](https://github.com/openapi-ts/openapi-typescript/pull/1876) [`a9cd9aa`](https://github.com/openapi-ts/openapi-typescript/commit/a9cd9aa56dd9dec043a4e4fd85527acac227a142) Thanks [@BradHacker](https://github.com/BradHacker)! - Add option to export all root component types + ## 7.3.3 ### Patch Changes diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 32002978a..f5d54845f 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.3.3", + "version": "7.4.0", "author": { "name": "Drew Powers", "email": "drew@pow.rs" From 4fc9588cabe985e316ec4aaa8657abf310ba0938 Mon Sep 17 00:00:00 2001 From: Konstantin Barabanov Date: Mon, 16 Sep 2024 18:22:56 +0300 Subject: [PATCH 17/67] docs: added openapi-axios fetcher (#1122) (#1911) --- docs/examples.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/docs/examples.md b/docs/examples.md index d53129939..5fb0dc095 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -140,6 +140,76 @@ try { +
+openapi-axios by @web-bee-ru + +::: code-group + +```ts [test/my-project.ts] +import { OpenApiAxios } from "@web-bee-ru/openapi-axios"; +import type { paths } from "./my-openapi-3-schema"; // generated by openapi-typescript +import Axios from "axios"; + +const axios = Axios.create({ + baseURL: "https://myapi.dev/v1", + adapter: "fetch", // strongly recommended (available since axios@1.7.0) +}); + +// Example 1. Usage with "axios" (default) status handling strategy (validStatus: 'axios') + +const api = new OpenApiAxios(axios, { validStatus: "axios" }); // throws like axios (e.g. status 400+, network errors, interceptor errors) +// const api = new OpenApiAxios(axios) // same result + +try { + const { status, data, response } = await api.get("/users"); +} catch (err) { + if (api.isAxiosError(err)) { + if (typeof err.status === "number") { + // status >= 400 + } + // request failed (e.g. network error) + } + throw err; // axios.interceptors error +} + +// Example 2. Usage with "fetch" status handling strategy (validStatus: 'fetch') + +const fetchApi = new OpenApiAxios(axios, { validStatus: "fetch" }); // throws like browser's fetch() (e.g. network errors, interceptor errors) + +try { + const { status, data, error, response } = await api.get("/users"); + + if (error) { + // status >= 400 + } +} catch (err) { + if (api.isAxiosError(err)) { + // request failed (e.g. network error) + } + throw err; // axios.interceptors error +} + +// Example 3. Usage with "safe" status handling strategy (validStatus: 'all') +// (No try/catch required) + +const safeApi = new OpenApiAxios(axios, { validStatus: "all" }); // never throws errors + +const { status, data, error, response } = await api.get("/users"); + +if (error) { + if (typeof status === "number") { + // status >= 400 + } else if (api.isAxiosError(error)) { + // request failed (e.g. network error) + } + throw error; // axios.interceptors error +} +``` + +::: + +
+ ::: tip From 899b1575968334bc55aa402ea1419bc5db801391 Mon Sep 17 00:00:00 2001 From: zsugabubus Date: Fri, 20 Sep 2024 12:33:37 +0200 Subject: [PATCH 18/67] feat(openapi-react-query): Pass abort signal to fetch (#1864) --- .changeset/signal.md | 5 +++ packages/openapi-react-query/src/index.ts | 8 ++-- .../openapi-react-query/test/index.test.tsx | 45 ++++++++++++++++++- 3 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 .changeset/signal.md diff --git a/.changeset/signal.md b/.changeset/signal.md new file mode 100644 index 000000000..f1e82eb25 --- /dev/null +++ b/.changeset/signal.md @@ -0,0 +1,5 @@ +--- +"openapi-react-query": patch +--- + +Pass down signal to fetch function this way `useQuery` and `useSuspenseQuery` can cancel queries. diff --git a/packages/openapi-react-query/src/index.ts b/packages/openapi-react-query/src/index.ts index 438c7aa94..95dde2d9d 100644 --- a/packages/openapi-react-query/src/index.ts +++ b/packages/openapi-react-query/src/index.ts @@ -70,10 +70,10 @@ export default function createClient { + queryFn: async ({ signal }) => { const mth = method.toUpperCase() as keyof typeof client; const fn = client[mth] as ClientMethod; - const { data, error } = await fn(path, init as any); // TODO: find a way to avoid as any + const { data, error } = await fn(path, { signal, ...(init as any) }); // TODO: find a way to avoid as any if (error || !data) { throw error; } @@ -88,10 +88,10 @@ export default function createClient { + queryFn: async ({ signal }) => { const mth = method.toUpperCase() as keyof typeof client; const fn = client[mth] as ClientMethod; - const { data, error } = await fn(path, init as any); // TODO: find a way to avoid as any + const { data, error } = await fn(path, { signal, ...(init as any) }); // TODO: find a way to avoid as any if (error || !data) { throw error; } diff --git a/packages/openapi-react-query/test/index.test.tsx b/packages/openapi-react-query/test/index.test.tsx index 64a9a81e1..0acbce4ad 100644 --- a/packages/openapi-react-query/test/index.test.tsx +++ b/packages/openapi-react-query/test/index.test.tsx @@ -3,7 +3,7 @@ import { server, baseUrl, useMockRequestHandler } from "./fixtures/mock-server.j import type { paths } from "./fixtures/api.js"; import createClient from "../src/index.js"; import createFetchClient from "openapi-fetch"; -import { fireEvent, render, renderHook, screen, waitFor } from "@testing-library/react"; +import { fireEvent, render, renderHook, screen, waitFor, act } from "@testing-library/react"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { Suspense, type ReactNode } from "react"; import { ErrorBoundary } from "react-error-boundary"; @@ -109,6 +109,26 @@ describe("client", () => { expectTypeOf(error).toEqualTypeOf<{ code: number; message: string } | null>(); }); + it("passes abort signal to fetch", async () => { + let signalPassedToFetch: AbortSignal | undefined; + + const fetchClient = createFetchClient({ + baseUrl, + fetch: async ({ signal }) => { + signalPassedToFetch = signal; + await new Promise(() => {}); + return Response.error(); + }, + }); + const client = createClient(fetchClient); + + const { unmount } = renderHook(() => client.useQuery("get", "/string-array"), { wrapper }); + + unmount(); + + expect(signalPassedToFetch?.aborted).toBeTruthy(); + }); + describe("params", () => { it("should be required if OpenAPI schema requires params", async () => { const fetchClient = createFetchClient({ baseUrl }); @@ -258,6 +278,29 @@ describe("client", () => { await waitFor(() => rendered.findByText("data: Hello")); }); + + it("passes abort signal to fetch", async () => { + let signalPassedToFetch: AbortSignal | undefined; + + const fetchClient = createFetchClient({ + baseUrl, + fetch: async ({ signal }) => { + signalPassedToFetch = signal; + await new Promise(() => {}); + return Response.error(); + }, + }); + const client = createClient(fetchClient); + const queryClient = new QueryClient({}); + + const { unmount } = renderHook(() => client.useSuspenseQuery("get", "/string-array", {}, {}, queryClient)); + + unmount(); + + await act(() => queryClient.cancelQueries()); + + expect(signalPassedToFetch?.aborted).toBeTruthy(); + }); }); describe("useMutation", () => { From 2f64122fd886fd67d08abc85ff0b166d8bdd3340 Mon Sep 17 00:00:00 2001 From: Hong Seungwoo Date: Sat, 21 Sep 2024 00:02:59 +0900 Subject: [PATCH 19/67] docs: Update Migration Guide URL (#1914) * docs: update migration guide url * docs: update migration guide url --- docs/ja/migration-guide.md | 2 +- docs/migration-guide.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ja/migration-guide.md b/docs/ja/migration-guide.md index 2327effa7..3b79b25b6 100644 --- a/docs/ja/migration-guide.md +++ b/docs/ja/migration-guide.md @@ -53,4 +53,4 @@ await openapiTS(input); --- -[完全な変更履歴はこちら](https://github.com/openapi-ts/openapi-typescript/blob/6.x/packages/openapi-typescript/CHANGELOG.md) +[完全な変更履歴はこちら](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/CHANGELOG.md) diff --git a/docs/migration-guide.md b/docs/migration-guide.md index b4c941cfe..617e04dfd 100644 --- a/docs/migration-guide.md +++ b/docs/migration-guide.md @@ -53,4 +53,4 @@ The biggest change is the handling of `string`s—in 6.x a string could refer to --- -[See the full CHANGELOG](https://github.com/openapi-ts/openapi-typescript/blob/6.x/packages/openapi-typescript/CHANGELOG.md) +[See the full CHANGELOG](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/CHANGELOG.md) From 4a591248175f918369a9713dea0856b12dca16c3 Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Fri, 20 Sep 2024 09:25:32 -0600 Subject: [PATCH 20/67] chore: Update deps (#1917) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update deps * Update examples * Raise test timeout * Don’t parallelize builds --- .changeset/fair-suns-behave.md | 5 + biome.json | 2 +- package.json | 18 +- packages/openapi-fetch/biome.json | 2 +- .../examples/nextjs/package.json | 2 +- .../examples/react-query/package.json | 6 +- .../examples/sveltekit/package.json | 8 +- .../openapi-fetch/examples/vue-3/package.json | 10 +- packages/openapi-fetch/package.json | 4 +- .../test/common/schemas/common.d.ts | 1532 +-- .../test/examples/schemas/github.d.ts | 813 +- .../test/examples/schemas/stripe.d.ts | 1706 +++- packages/openapi-fetch/vitest.config.ts | 1 + packages/openapi-react-query/biome.json | 2 +- packages/openapi-react-query/package.json | 1 + packages/openapi-typescript/biome.json | 2 +- .../examples/digital-ocean-api.ts | 8541 ++++++++++------- .../DigitalOcean-public.v2.yaml | 142 +- .../apps/models/app_component_base.yml | 5 +- .../apps/models/app_functions_spec.yml | 5 +- .../apps/models/apps_update_app_request.yml | 5 + .../databases_delete_opensearch_index.yml | 44 + .../databases_list_opensearch_indexes.yml | 42 + .../databases_update_installUpdate.yml | 45 + .../databases_delete_opensearch_index.yml | 6 + .../databases_list_opensearch_indexes.yml | 6 + .../curl/databases_update_installUpdate.yml | 6 + .../go/databases_delete_opensearch_index.yml | 19 + .../go/databases_list_opensearch_indexes.yml | 17 + .../go/databases_update_installUpdate.yml | 17 + .../python/databases_update_installUpdate.yml | 8 + .../models/opensearch_connection.yml | 2 +- .../databases/models/opensearch_index.yml | 25 + .../models/opensearch_index_base.yml | 28 + .../databases/models/user_settings.yml | 38 +- .../resources/databases/parameters.yml | 11 +- .../resources/databases/responses/logsink.yml | 63 +- .../responses/opensearch_indexes.yml | 35 + .../droplets/dropletActions_post.yml | 6 +- .../droplets/droplets_get_backup_policy.yml | 39 + .../droplets_list_backup_policies.yml | 40 + ...roplets_list_supported_backup_policies.yml | 36 + .../curl/droplets_get_backup_policy.yml | 5 + .../curl/droplets_list_backup_policies.yml | 5 + ...roplets_list_supported_backup_policies.yml | 5 + .../resources/droplets/models/droplet.yml | 23 +- .../droplets/models/droplet_actions.yml | 36 + .../droplets/models/droplet_backup_policy.yml | 48 + .../models/droplet_backup_policy_record.yml | 24 + .../droplets/models/droplet_create.yml | 6 + .../models/droplet_next_backup_window.yml | 15 + .../supported_droplet_backup_policy.yml | 39 + .../responses/all_droplet_backup_policies.yml | 58 + .../responses/droplet_backup_policy.yml | 32 + .../droplets_supported_backup_policies.yml | 53 + .../examples/python/imageActions_get.yml | 2 +- .../examples/python/imageActions_list.yml | 2 +- ...monitoring_get_lb_droplets_connections.yml | 6 + .../monitoring_get_lb_droplets_downtime.yml | 6 + ...nitoring_get_lb_droplets_health_checks.yml | 6 + ...get_lb_droplets_http_response_time_50p.yml | 6 + ...get_lb_droplets_http_response_time_95p.yml | 6 + ...get_lb_droplets_http_response_time_99p.yml | 6 + ...get_lb_droplets_http_response_time_avg.yml | 6 + ...itoring_get_lb_droplets_http_responses.yml | 6 + ..._lb_droplets_http_session_duration_50p.yml | 6 + ..._lb_droplets_http_session_duration_95p.yml | 6 + ..._lb_droplets_http_session_duration_avg.yml | 6 + .../monitoring_get_lb_droplets_queue_size.yml | 6 + ...ng_get_lb_frontend_connections_current.yml | 6 + ...ring_get_lb_frontend_connections_limit.yml | 6 + ...toring_get_lb_frontend_cpu_utilization.yml | 6 + ...get_lb_frontend_firewall_dropped_bytes.yml | 6 + ...t_lb_frontend_firewall_dropped_packets.yml | 6 + ...t_lb_frontend_http_requests_per_second.yml | 6 + ...itoring_get_lb_frontend_http_responses.yml | 6 + ...et_lb_frontend_network_throughput_http.yml | 6 + ...get_lb_frontend_network_throughput_tcp.yml | 6 + ...get_lb_frontend_network_throughput_udp.yml | 6 + ...lb_frontend_nlb_tcp_network_throughput.yml | 6 + ...lb_frontend_nlb_udp_network_throughput.yml | 6 + ...et_lb_frontend_tls_connections_current.yml | 6 + ...d_tls_connections_exceeding_rate_limit.yml | 6 + ..._get_lb_frontend_tls_connections_limit.yml | 6 + .../monitoring/models/metrics_result.yml | 6 +- ...monitoring_get_lb_droplets_connections.yml | 37 + .../monitoring_get_lb_droplets_downtime.yml | 37 + ...nitoring_get_lb_droplets_health_checks.yml | 37 + ...get_lb_droplets_http_response_time_50p.yml | 37 + ...get_lb_droplets_http_response_time_95p.yml | 37 + ...get_lb_droplets_http_response_time_99p.yml | 37 + ...get_lb_droplets_http_response_time_avg.yml | 37 + ...itoring_get_lb_droplets_http_responses.yml | 37 + ..._lb_droplets_http_session_duration_50p.yml | 37 + ..._lb_droplets_http_session_duration_95p.yml | 37 + ..._lb_droplets_http_session_duration_avg.yml | 37 + .../monitoring_get_lb_droplets_queue_size.yml | 37 + ...ng_get_lb_frontend_connections_current.yml | 37 + ...ring_get_lb_frontend_connections_limit.yml | 37 + ...toring_get_lb_frontend_cpu_utilization.yml | 37 + ...get_lb_frontend_firewall_dropped_bytes.yml | 37 + ...t_lb_frontend_firewall_dropped_packets.yml | 37 + ...t_lb_frontend_http_requests_per_second.yml | 37 + ...itoring_get_lb_frontend_http_responses.yml | 37 + ...et_lb_frontend_network_throughput_http.yml | 37 + ...get_lb_frontend_network_throughput_tcp.yml | 37 + ...get_lb_frontend_network_throughput_udp.yml | 37 + ...lb_frontend_nlb_tcp_network_throughput.yml | 37 + ...lb_frontend_nlb_udp_network_throughput.yml | 37 + ...et_lb_frontend_tls_connections_current.yml | 37 + ...d_tls_connections_exceeding_rate_limit.yml | 37 + ..._get_lb_frontend_tls_connections_limit.yml | 37 + .../resources/monitoring/parameters.yml | 9 + .../resources/volumes/volumeActions_post.yml | 2 +- .../volumes/volumeActions_post_byId.yml | 2 +- .../github-api-export-type-immutable.ts | 813 +- .../examples/github-api-immutable.ts | 813 +- .../examples/github-api-next.ts | 1266 ++- .../examples/github-api-next.yaml | 2070 ++-- .../examples/github-api-required.ts | 813 +- .../examples/github-api-root-types.ts | 830 +- .../openapi-typescript/examples/github-api.ts | 813 +- .../examples/github-api.yaml | 2057 ++-- .../openapi-typescript/examples/stripe-api.ts | 1706 +++- .../examples/stripe-api.yaml | 4276 ++++++--- packages/openapi-typescript/package.json | 6 +- .../openapi-typescript/test/node-api.test.ts | 2 +- packages/openapi-typescript/vitest.config.ts | 1 + pnpm-lock.yaml | 1785 ++-- 129 files changed, 22324 insertions(+), 9805 deletions(-) create mode 100644 .changeset/fair-suns-behave.md create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_delete_opensearch_index.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_list_opensearch_indexes.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_update_installUpdate.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_delete_opensearch_index.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_list_opensearch_indexes.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_update_installUpdate.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_delete_opensearch_index.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_list_opensearch_indexes.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_update_installUpdate.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/python/databases_update_installUpdate.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_index.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_index_base.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/databases/responses/opensearch_indexes.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_get_backup_policy.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_list_backup_policies.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_list_supported_backup_policies.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_get_backup_policy.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_list_backup_policies.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_list_supported_backup_policies.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_backup_policy.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_backup_policy_record.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_next_backup_window.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/supported_droplet_backup_policy.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/all_droplet_backup_policies.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/droplet_backup_policy.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/droplets_supported_backup_policies.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_connections.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_downtime.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_health_checks.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_50p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_95p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_99p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_avg.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_responses.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_50p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_95p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_avg.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_queue_size.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_connections_current.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_connections_limit.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_cpu_utilization.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_firewall_dropped_bytes.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_firewall_dropped_packets.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_http_requests_per_second.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_http_responses.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_http.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_tcp.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_udp.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_current.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_limit.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_connections.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_downtime.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_health_checks.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_50p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_95p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_99p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_avg.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_responses.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_50p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_95p.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_avg.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_queue_size.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_connections_current.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_connections_limit.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_cpu_utilization.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_bytes.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_packets.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_http_requests_per_second.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_http_responses.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_http.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_tcp.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_udp.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_current.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml create mode 100644 packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_limit.yml diff --git a/.changeset/fair-suns-behave.md b/.changeset/fair-suns-behave.md new file mode 100644 index 000000000..49d232356 --- /dev/null +++ b/.changeset/fair-suns-behave.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": patch +--- + +Bump Redocly Core diff --git a/biome.json b/biome.json index 0593aef9c..c54ad40dc 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.8.1/schema.json", + "$schema": "https://biomejs.dev/schemas/1.9.2/schema.json", "organizeImports": { "enabled": false }, diff --git a/package.json b/package.json index 9cfd6fd59..5d6c40882 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "email": "drew@pow.rs" }, "scripts": { - "build": "pnpm run -r --parallel --filter \"!*docs\" --aggregate-output build", + "build": "pnpm run -r --filter \"!*docs\" --aggregate-output build", "lint": "pnpm run -r --parallel --aggregate-output lint", "format": "pnpm run -r --parallel --aggregate-output format", "test": "pnpm run -r --parallel --aggregate-output test", @@ -17,17 +17,17 @@ "version": "pnpm run build && changeset version && pnpm i" }, "devDependencies": { - "@biomejs/biome": "^1.8.3", + "@biomejs/biome": "^1.9.2", "@changesets/changelog-github": "^0.5.0", - "@changesets/cli": "^2.27.7", - "@playwright/test": "^1.46.1", - "@size-limit/preset-small-lib": "^11.1.4", - "@types/node": "^22.5.2", + "@changesets/cli": "^2.27.8", + "@playwright/test": "^1.47.1", + "@size-limit/preset-small-lib": "^11.1.5", + "@types/node": "^22.5.5", "del-cli": "^5.1.0", "prettier": "^3.3.3", - "size-limit": "^11.1.4", - "typescript": "^5.5.4", - "vitest": "^2.0.5" + "size-limit": "^11.1.5", + "typescript": "^5.6.2", + "vitest": "^2.1.1" }, "size-limit": [ { diff --git a/packages/openapi-fetch/biome.json b/packages/openapi-fetch/biome.json index 6ea8f6cf5..1c365083b 100644 --- a/packages/openapi-fetch/biome.json +++ b/packages/openapi-fetch/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.8.1/schema.json", + "$schema": "https://biomejs.dev/schemas/1.9.2/schema.json", "extends": ["../../biome.json"], "files": { "include": ["./src/", "./test/"], diff --git a/packages/openapi-fetch/examples/nextjs/package.json b/packages/openapi-fetch/examples/nextjs/package.json index 2d784a08e..75da1f2dc 100644 --- a/packages/openapi-fetch/examples/nextjs/package.json +++ b/packages/openapi-fetch/examples/nextjs/package.json @@ -12,7 +12,7 @@ "react-dom": "^18.3.1" }, "devDependencies": { - "@types/react": "^18.3.3", + "@types/react": "^18.3.8", "@types/react-dom": "^18.3.0", "openapi-typescript": "workspace:^", "typescript": "5.4.5" diff --git a/packages/openapi-fetch/examples/react-query/package.json b/packages/openapi-fetch/examples/react-query/package.json index 268417b91..20c7df8aa 100644 --- a/packages/openapi-fetch/examples/react-query/package.json +++ b/packages/openapi-fetch/examples/react-query/package.json @@ -6,7 +6,7 @@ "dev": "vite dev" }, "dependencies": { - "@tanstack/react-query": "^5.53.3", + "@tanstack/react-query": "^5.56.2", "openapi-fetch": "workspace:^", "openapi-typescript": "workspace:^", "react": "^18.3.1", @@ -16,7 +16,7 @@ "@types/react": "18.3.1", "@types/react-dom": "18.3.0", "@vitejs/plugin-react-swc": "^3.7.0", - "typescript": "^5.5.4", - "vite": "^5.4.3" + "typescript": "^5.6.2", + "vite": "^5.4.6" } } diff --git a/packages/openapi-fetch/examples/sveltekit/package.json b/packages/openapi-fetch/examples/sveltekit/package.json index 5a6ee2fce..03198c381 100644 --- a/packages/openapi-fetch/examples/sveltekit/package.json +++ b/packages/openapi-fetch/examples/sveltekit/package.json @@ -11,14 +11,14 @@ "openapi-fetch": "workspace:^" }, "devDependencies": { - "@sveltejs/adapter-auto": "^3.2.4", - "@sveltejs/kit": "^2.5.25", + "@sveltejs/adapter-auto": "^3.2.5", + "@sveltejs/kit": "^2.5.28", "@sveltejs/vite-plugin-svelte": "^3.1.2", "openapi-typescript": "workspace:^", "svelte": "^4.2.19", "svelte-check": "^3.8.6", "tslib": "^2.7.0", - "typescript": "^5.5.4", - "vite": "^5.4.3" + "typescript": "^5.6.2", + "vite": "^5.4.6" } } diff --git a/packages/openapi-fetch/examples/vue-3/package.json b/packages/openapi-fetch/examples/vue-3/package.json index 1a83adf4c..23034b54c 100644 --- a/packages/openapi-fetch/examples/vue-3/package.json +++ b/packages/openapi-fetch/examples/vue-3/package.json @@ -12,15 +12,15 @@ }, "dependencies": { "openapi-fetch": "workspace:^", - "vue": "^3.5.0" + "vue": "^3.5.6" }, "devDependencies": { "@tsconfig/node20": "^20.1.4", - "@vitejs/plugin-vue": "^5.1.3", + "@vitejs/plugin-vue": "^5.1.4", "@vue/tsconfig": "^0.5.1", "openapi-typescript": "workspace:^", - "typescript": "^5.5.4", - "vite": "^5.4.3", - "vue-tsc": "^2.1.4" + "typescript": "^5.6.2", + "vite": "^5.4.6", + "vue-tsc": "^2.1.6" } } diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index 24e861299..64a0efa41 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -79,7 +79,7 @@ "openapi-typescript-codegen": "^0.25.0", "openapi-typescript-fetch": "^2.0.0", "superagent": "^10.1.0", - "typescript": "^5.5.4", - "vite": "^5.4.2" + "typescript": "^5.6.2", + "vite": "^5.4.6" } } diff --git a/packages/openapi-fetch/test/common/schemas/common.d.ts b/packages/openapi-fetch/test/common/schemas/common.d.ts index 6e4d561a8..b684c117e 100644 --- a/packages/openapi-fetch/test/common/schemas/common.d.ts +++ b/packages/openapi-fetch/test/common/schemas/common.d.ts @@ -4,779 +4,779 @@ */ export interface paths { - "/resources": { - 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"]["ResourceList"]; - }; - }; - /** @description Internal Server Error */ - 500: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/resources/{id}": { - parameters: { - query?: { - version?: number; - format?: string; - }; - header?: never; - path: { - id: number; - }; - cookie?: never; - }; - get: { - parameters: { - query?: { - version?: number; - format?: string; - }; - header?: never; - path: { - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Resource"]; - }; - }; - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/error-404": { - 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"]["ResourceList"]; - }; - }; - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/error-500": { - 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"]["ResourceList"]; - }; - }; - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/error-default": { - 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"]["ResourceList"]; - }; - }; - /** @description Unexpected error */ - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/media-json": { - 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"]["ResourceList"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/media-vnd-json": { - 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/vnd.api+json": components["schemas"]["ResourceList"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/media-text": { - 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: { - "text/html": string; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/media-multiple": { - 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": { - foo: string; - }; - "application/ld+json": { - bar: string; - }; - "application/json5": { - baz: string; - }; - "text/html": string; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/mismatched-response": { - 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"]["Resource"]; - }; - }; - /** @description Created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ResourceList"]; - }; - }; - /** @description Unexpected error */ - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/mismatched-errors": { - 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"]["Resource"]; - }; - }; - /** @description Not Found */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Internal server error */ - 500: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/path-params/{string}": { - parameters: { - query?: never; - header?: never; - path: { - string: string; - }; - cookie?: never; - }; - get: { - parameters: { - query?: never; - header?: never; - path: { - string: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - success?: boolean; - }; - }; - }; - /** @description Unexpected error */ - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}": { - parameters: { - query?: never; - header?: never; - path: { - simple_primitive: string; - simple_obj_flat: { - a: string; - c: string; - }; - simple_arr_flat: number[]; - simple_obj_explode: { - e: string; - g: string; - }; - simple_arr_explode: number[]; - label_primitive: string; - label_obj_flat: { - a: string; - c: string; - }; - label_arr_flat: number[]; - label_obj_explode: { - e: string; - g: string; - }; - label_arr_explode: number[]; - matrix_primitive: string; - matrix_obj_flat: { - a: string; - c: string; - }; - matrix_arr_flat: number[]; - matrix_obj_explode: { - e: string; - g: string; - }; - matrix_arr_explode: number[]; - }; - cookie?: never; - }; - get: { - parameters: { - query?: never; - header?: never; - path: { - simple_primitive: string; - simple_obj_flat: { - a: string; - c: string; - }; - simple_arr_flat: number[]; - simple_obj_explode: { - e: string; - g: string; - }; - simple_arr_explode: number[]; - label_primitive: string; - label_obj_flat: { - a: string; - c: string; - }; - label_arr_flat: number[]; - label_obj_explode: { - e: string; - g: string; - }; - label_arr_explode: number[]; - matrix_primitive: string; - matrix_obj_flat: { - a: string; - c: string; - }; - matrix_arr_flat: number[]; - matrix_obj_explode: { - e: string; - g: string; - }; - matrix_arr_explode: number[]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - status: string; - }; - }; - }; - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - put?: never; - 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; - }; - "/query-params": { - parameters: { - query?: { - string?: string; - number?: number; - boolean?: boolean; - array?: string[]; - object?: { - foo: string; - bar: string; - }; - }; - header?: never; - path?: never; - cookie?: never; - }; - get: { - parameters: { - query?: { - string?: string; - number?: number; - boolean?: boolean; - array?: string[]; - object?: { - foo: string; - bar: string; - }; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - status: string; - }; - }; - }; - default: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; + "/resources": { + 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"]["ResourceList"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/resources/{id}": { + parameters: { + query?: { + version?: number; + format?: string; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + get: { + parameters: { + query?: { + version?: number; + format?: string; + }; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Resource"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-404": { + 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"]["ResourceList"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-500": { + 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"]["ResourceList"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/error-default": { + 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"]["ResourceList"]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-json": { + 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"]["ResourceList"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-vnd-json": { + 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/vnd.api+json": components["schemas"]["ResourceList"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-text": { + 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: { + "text/html": string; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/media-multiple": { + 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": { + foo: string; + }; + "application/ld+json": { + bar: string; + }; + "application/json5": { + baz: string; + }; + "text/html": string; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/mismatched-response": { + 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"]["Resource"]; + }; + }; + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ResourceList"]; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/mismatched-errors": { + 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"]["Resource"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/path-params/{string}": { + parameters: { + query?: never; + header?: never; + path: { + string: string; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + string: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + success?: boolean; + }; + }; + }; + /** @description Unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/path-params/{simple_primitive}/{simple_obj_flat}/{simple_arr_flat}/{simple_obj_explode*}/{simple_arr_explode*}/{.label_primitive}/{.label_obj_flat}/{.label_arr_flat}/{.label_obj_explode*}/{.label_arr_explode*}/{;matrix_primitive}/{;matrix_obj_flat}/{;matrix_arr_flat}/{;matrix_obj_explode*}/{;matrix_arr_explode*}": { + parameters: { + query?: never; + header?: never; + path: { + simple_primitive: string; + simple_obj_flat: { + a: string; + c: string; + }; + simple_arr_flat: number[]; + simple_obj_explode: { + e: string; + g: string; + }; + simple_arr_explode: number[]; + label_primitive: string; + label_obj_flat: { + a: string; + c: string; + }; + label_arr_flat: number[]; + label_obj_explode: { + e: string; + g: string; + }; + label_arr_explode: number[]; + matrix_primitive: string; + matrix_obj_flat: { + a: string; + c: string; + }; + matrix_arr_flat: number[]; + matrix_obj_explode: { + e: string; + g: string; + }; + matrix_arr_explode: number[]; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + simple_primitive: string; + simple_obj_flat: { + a: string; + c: string; + }; + simple_arr_flat: number[]; + simple_obj_explode: { + e: string; + g: string; + }; + simple_arr_explode: number[]; + label_primitive: string; + label_obj_flat: { + a: string; + c: string; + }; + label_arr_flat: number[]; + label_obj_explode: { + e: string; + g: string; + }; + label_arr_explode: number[]; + matrix_primitive: string; + matrix_obj_flat: { + a: string; + c: string; + }; + matrix_arr_flat: number[]; + matrix_obj_explode: { + e: string; + g: string; + }; + matrix_arr_explode: number[]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + put?: never; + 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; + }; + "/query-params": { + parameters: { + query?: { + string?: string; + number?: number; + boolean?: boolean; + array?: string[]; + object?: { + foo: string; + bar: string; + }; + }; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + string?: string; + number?: number; + boolean?: boolean; + array?: string[]; + object?: { + foo: string; + bar: string; + }; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["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; - }; } export type webhooks = Record; export interface components { - schemas: { - Error: { - code: number; - message: string; - }; - Resource: { - id: number; + schemas: { + Error: { + code: number; + message: string; + }; + Resource: { + id: number; + }; + ResourceList: components["schemas"]["Resource"][]; }; - ResourceList: components["schemas"]["Resource"][]; - }; - 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 interface operations { - 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: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; }; - }; } diff --git a/packages/openapi-fetch/test/examples/schemas/github.d.ts b/packages/openapi-fetch/test/examples/schemas/github.d.ts index 054f0d22d..9f2016e9e 100644 --- a/packages/openapi-fetch/test/examples/schemas/github.d.ts +++ b/packages/openapi-fetch/test/examples/schemas/github.d.ts @@ -649,7 +649,7 @@ export interface paths { * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -718,6 +718,42 @@ export interface paths { patch?: never; trace?: never; }; + "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for an enterprise team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-enterprise-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/events": { parameters: { query?: never; @@ -3037,7 +3073,7 @@ export interface paths { * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. * See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -4808,6 +4844,9 @@ export interface paths { /** * Get an organization repository ruleset * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-org-ruleset"]; /** @@ -5002,6 +5041,42 @@ export interface paths { patch?: never; trace?: never; }; + "/orgs/{org}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/orgs/{org}/teams": { parameters: { query?: never; @@ -5620,7 +5695,7 @@ export interface paths { * * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. */ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; delete?: never; @@ -7418,9 +7493,9 @@ export interface paths { * Create an attestation * @description Store an artifact attestation and associate it with a repository. * - * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. * - * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). */ post: operations["repos/create-attestation"]; delete?: never; @@ -8619,6 +8694,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/code-security-configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/codeowners/errors": { parameters: { query?: never; @@ -13282,6 +13381,9 @@ export interface paths { /** * Get a repository ruleset * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-repo-ruleset"]; /** @@ -13380,6 +13482,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/security-advisories": { parameters: { query?: never; @@ -17305,6 +17431,20 @@ export interface components { /** @description The functions in the package that are affected by the vulnerability. */ readonly vulnerable_functions: string[] | null; }; + "cvss-severities": { + cvss_v3?: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + cvss_v4?: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; /** * Simple User * @description A GitHub user. @@ -17463,12 +17603,17 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; /** @description The name of the CWE. */ readonly name: string; }[] | null; + epss?: { + percentage?: number; + percentile?: number; + } | null; /** @description The users who contributed to the advisory. */ readonly credits: { user: components["schemas"]["simple-user"]; @@ -17583,6 +17728,8 @@ export interface components { slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -17640,8 +17787,6 @@ export interface components { * @example 5 */ installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -19141,6 +19286,45 @@ export interface components { /** Format: uri */ html_url: string | null; }; + /** + * 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; + }; /** * Team Simple * @description Groups of organization members that gives permissions on specified repositories. @@ -19236,124 +19420,6 @@ export interface components { 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; - }; - }; - /** - * 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; - }; /** * Enterprise Team * @description Group of enterprise owners and/or members @@ -19388,7 +19454,7 @@ export interface components { /** @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"]); + } & components["schemas"]["simple-user"]; /** @description The organization to which this seat belongs. */ organization?: components["schemas"]["organization-simple"] | null; /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ @@ -19511,6 +19577,7 @@ export interface components { /** @description The full CVSS vector string for the advisory. */ readonly vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ readonly cwes: { /** @description The unique CWE ID. */ @@ -19904,7 +19971,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; @@ -20025,6 +20092,8 @@ export interface components { slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -20082,8 +20151,6 @@ export interface components { * @example 5 */ installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -20869,16 +20936,31 @@ export interface components { * "192.0.2.1" * ] */ actions_macos?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + codespaces?: string[]; /** @example [ * "192.0.2.1" * ] */ dependabot?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + copilot?: string[]; domains?: { website?: string[]; codespaces?: string[]; copilot?: string[]; packages?: string[]; actions?: string[]; + artifact_attestations?: { + /** @example [ + * "example" + * ] */ + trust_domain?: string; + services?: string[]; + }; }; }; "security-and-analysis": { @@ -21686,8 +21768,14 @@ export interface components { security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ description?: string; + /** @description A 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; @@ -21775,6 +21863,16 @@ export interface components { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -21805,6 +21903,11 @@ export interface components { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -23030,9 +23133,14 @@ export interface components { * Organization Custom Property * @description Custom property defined on an organization */ - "org-custom-property": { + "custom-property": { /** @description The name of the property */ property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; /** * @description The type of the value for the property * @example single_select @@ -23777,18 +23885,15 @@ export interface components { * @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. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - * */ + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ actor_id?: number | null; /** * @description The type of actor that can bypass a ruleset. - * * @enum {string} */ actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; /** * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - * * @enum {string} */ bypass_mode: "always" | "pull_request"; @@ -23859,7 +23964,6 @@ export interface components { /** * 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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); /** @@ -24219,9 +24323,6 @@ export interface components { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -24294,7 +24395,7 @@ export interface components { * @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} */ - evaluation_result?: "pass" | "fail"; + evaluation_result?: "pass" | "fail" | "bypass"; }[]; /** * Rule Suite @@ -24328,10 +24429,10 @@ export interface components { */ result?: "pass" | "fail" | "bypass"; /** - * @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} + * @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`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} */ - evaluation_result?: "pass" | "fail"; + evaluation_result?: "pass" | "fail" | "bypass" | null; /** @description Details on the evaluated rules. */ rule_evaluations?: { rule_source?: { @@ -24354,8 +24455,8 @@ export interface components { result?: "pass" | "fail"; /** @description The type of rule. */ rule_type?: string; - /** @description Any associated details with the rule evaluation. */ - details?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details?: string | null; }[]; }; /** @description A product affected by the vulnerability detailed in a repository security advisory. */ @@ -24462,6 +24563,7 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; @@ -26417,6 +26519,7 @@ export interface components { site_admin?: boolean; }; name?: string; + client_id?: string; description?: string; external_url?: string; html_url?: string; @@ -26820,6 +26923,7 @@ export interface components { */ "check-run": { /** + * Format: int64 * @description The id of the check. * @example 21 */ @@ -27051,7 +27155,7 @@ export interface components { 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. */ + /** @description A description of the rule used to detect the alert. */ full_description?: string; /** @description A set of tags applicable for the rule. */ tags?: string[] | null; @@ -27382,6 +27486,15 @@ export interface components { /** @description Any errors that ocurred during processing of the delivery. */ readonly errors?: string[] | null; }; + /** @description Code security configuration associated with a repository and attachment status */ + "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + configuration?: components["schemas"]["code-security-configuration"]; + }; /** * CODEOWNERS errors * @description A list of errors found in a repo's CODEOWNERS file @@ -28279,6 +28392,22 @@ export interface components { }; }; }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + "repository-rule-violation-error": { + message?: string; + documentation_url?: string; + status?: string; + metadata?: { + secret_scanning?: { + bypass_placeholders?: { + placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + token_type?: string; + }[]; + }; + }; + }; /** * Contributor * @description Contributor @@ -31406,7 +31535,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; @@ -31600,6 +31729,21 @@ export interface components { type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at?: string | null; + /** @description The token type this bypass is for. */ + token_type?: string; + }; "repository-advisory-create": { /** @description A short summary of the advisory. */ summary: string; @@ -35372,7 +35516,6 @@ export interface components { /** * 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. */ @@ -38203,7 +38346,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** * @description The token status as of the latest validity check. @@ -38225,6 +38368,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -38649,6 +38793,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -38890,6 +39036,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -39131,6 +39279,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -40132,7 +40282,7 @@ export interface components { "webhook-custom-property-created": { /** @enum {string} */ action: "created"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -40155,7 +40305,7 @@ export interface components { "webhook-custom-property-updated": { /** @enum {string} */ action: "updated"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -81529,6 +81679,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -81847,6 +81998,70 @@ export interface components { target_url: string | null; updated_at: string; }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; /** team_add event */ "webhook-team-add": { enterprise?: components["schemas"]["enterprise-webhooks"]; @@ -83524,7 +83739,7 @@ export interface components { /** Format: uri */ check_suite_url: string; /** @enum {string|null} */ - conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; /** Format: date-time */ created_at: string; event: string; @@ -85137,7 +85352,7 @@ export interface components { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -85146,6 +85361,8 @@ export interface components { "secret-scanning-alert-sort": "created" | "updated"; /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ "secret-scanning-alert-validity": string; + /** @description The slug of the team name. */ + "team-slug": string; /** @description The unique identifier of the gist. */ "gist-id": string; /** @description The unique identifier of the comment. */ @@ -85204,8 +85421,6 @@ export interface components { "migration-id": number; /** @description repo_name parameter */ "repo-name": string; - /** @description The slug of the team name. */ - "team-slug": string; /** @description The unique identifier of the role. */ "role-id": number; /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -85235,8 +85450,7 @@ export interface components { "fine-grained-personal-access-token-id": number; /** @description The custom property name. The name is case sensitive. */ "custom-property-name": string; - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ "ref-in-query": string; /** @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; @@ -85476,6 +85690,12 @@ export interface operations { * * 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 If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + epss_percentile?: 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ @@ -85485,7 +85705,7 @@ export interface operations { /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ per_page?: number; /** @description The property to sort the results by. */ - sort?: "updated" | "published"; + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; }; header?: never; path?: never; @@ -86460,7 +86680,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -86501,6 +86721,44 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "copilot/usage-metrics-for-enterprise-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + /** @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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "activity/list-public-events": { parameters: { query?: { @@ -89660,6 +89918,20 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @default disabled @@ -89696,6 +89968,12 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @default disabled @@ -89853,6 +90131,16 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -89883,6 +90171,11 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -93466,7 +93759,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -93487,7 +93780,7 @@ export interface operations { content: { "application/json": { /** @description The array of custom properties to create or update. */ - properties: components["schemas"]["org-custom-property"][]; + properties: components["schemas"]["custom-property"][]; }; }; }; @@ -93498,7 +93791,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -93525,7 +93818,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -93572,7 +93865,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -93903,7 +94196,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -93920,7 +94215,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -94007,9 +94304,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -94039,8 +94334,7 @@ export interface operations { "repos/get-org-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ ref?: components["parameters"]["ref-in-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"]; @@ -94156,9 +94450,6 @@ export interface operations { name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -94216,7 +94507,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -94435,6 +94726,44 @@ export interface operations { }; }; }; + "copilot/usage-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + 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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "teams/list": { parameters: { query?: { @@ -96628,7 +96957,7 @@ export interface operations { /** @description Can be `enabled` or `disabled`. */ status?: string; }; - /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_scanning_non_provider_patterns?: { /** @description Can be `enabled` or `disabled`. */ status?: string; @@ -96693,7 +97022,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -96710,7 +97041,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -99467,7 +99800,6 @@ export interface operations { /** * @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. */ @@ -99937,7 +100269,6 @@ export interface operations { /** * @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. */ @@ -101724,6 +102055,35 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "code-security/get-configuration-for-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"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; "repos/codeowners-errors": { parameters: { query?: { @@ -103115,7 +103475,15 @@ export interface operations { }; }; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -104926,7 +105294,15 @@ export interface operations { 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; }; }; "git/get-blob": { @@ -110049,6 +110425,7 @@ export interface operations { "application/json": components["schemas"]["content-file"]; }; }; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; @@ -110764,9 +111141,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -110796,8 +111171,7 @@ export interface operations { "repos/get-repo-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. 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. * @@ -110922,9 +111296,6 @@ export interface operations { name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -110984,7 +111355,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -111168,6 +111539,60 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "secret-scanning/create-push-protection-bypass": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; "security-advisories/list-repository-advisories": { parameters: { query?: { @@ -116165,7 +116590,9 @@ export interface operations { */ delete_branch_on_merge?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -116182,7 +116609,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). diff --git a/packages/openapi-fetch/test/examples/schemas/stripe.d.ts b/packages/openapi-fetch/test/examples/schemas/stripe.d.ts index e1f03ff19..8fd2077d5 100644 --- a/packages/openapi-fetch/test/examples/schemas/stripe.d.ts +++ b/packages/openapi-fetch/test/examples/schemas/stripe.d.ts @@ -106,7 +106,7 @@ export interface paths { * *

Test-mode accounts can be deleted at any time.

* - *

Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all balances are zero.

+ *

Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when 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"]; @@ -627,6 +627,92 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/billing/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists billing active and inactive alerts

*/ + get: operations["GetBillingAlerts"]; + put?: never; + /** @description

Creates a billing alert

*/ + post: operations["PostBillingAlerts"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/alerts/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a billing alert given an ID

*/ + get: operations["GetBillingAlertsId"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/alerts/{id}/activate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Reactivates this alert, allowing it to trigger again.

*/ + post: operations["PostBillingAlertsIdActivate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/alerts/{id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Archives this alert, removing it from the list view and APIs. This is non-reversible.

*/ + post: operations["PostBillingAlertsIdArchive"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/alerts/{id}/deactivate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Deactivates this alert, preventing it from triggering.

*/ + post: operations["PostBillingAlertsIdDeactivate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/billing/meter_event_adjustments": { parameters: { query?: never; @@ -2549,6 +2635,74 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/invoice_rendering_templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List all templates, ordered by creation date, with the most recently created template appearing first.

*/ + get: operations["GetInvoiceRenderingTemplates"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/invoice_rendering_templates/{template}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions.

*/ + get: operations["GetInvoiceRenderingTemplatesTemplate"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/invoice_rendering_templates/{template}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates the status of an invoice rendering template to ‘archived’ so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it.

*/ + post: operations["PostInvoiceRenderingTemplatesTemplateArchive"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/invoice_rendering_templates/{template}/unarchive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Unarchive an invoice rendering template so it can be used on new Stripe objects again.

*/ + post: operations["PostInvoiceRenderingTemplatesTemplateUnarchive"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/invoiceitems": { parameters: { query?: never; @@ -3548,7 +3702,10 @@ export interface paths { * 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.

*/ + * attempt. + * There is a variable upper limit on how many times a PaymentIntent can be confirmed. + * After this limit is reached, any further calls to this endpoint will + * transition the PaymentIntent to the canceled state.

*/ post: operations["PostPaymentIntentsIntentConfirm"]; delete?: never; options?: never; @@ -4270,7 +4427,7 @@ export interface paths { path?: never; cookie?: never; }; - /** @description

Download the PDF for a finalized quote. Explanation for special handling can be found here

*/ + /** @description

Download the PDF for a finalized quote. Explanation for special handling can be found here

*/ get: operations["GetQuotesQuotePdf"]; put?: never; post?: never; @@ -5164,6 +5321,23 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/tax/calculations/{calculation}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Tax Calculation object, if the calculation hasn’t expired.

*/ + get: operations["GetTaxCalculationsCalculation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/tax/calculations/{calculation}/line_items": { parameters: { query?: never; @@ -5880,6 +6054,23 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/test_helpers/issuing/settlements": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Allows the user to create an Issuing settlement.

*/ + post: operations["PostTestHelpersIssuingSettlements"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/test_helpers/issuing/transactions/create_force_capture": { parameters: { query?: never; @@ -7378,13 +7569,13 @@ export interface components { 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) */ + /** @description The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). */ 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) */ + /** @description The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). */ 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. */ + /** @description The Kana variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). */ 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. */ + /** @description The Kanji variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). */ statement_descriptor_prefix_kanji?: string | null; }; /** AccountPayoutSettings */ @@ -7430,7 +7621,7 @@ export interface components { * @description The code for the type of error. * @enum {string} */ - code: "invalid_address_city_state_postal_code" | "invalid_address_highway_contract_box" | "invalid_address_private_mailbox" | "invalid_business_profile_name" | "invalid_business_profile_name_denylisted" | "invalid_company_name_denylisted" | "invalid_dob_age_over_maximum" | "invalid_dob_age_under_18" | "invalid_dob_age_under_minimum" | "invalid_product_description_length" | "invalid_product_description_url_match" | "invalid_representative_country" | "invalid_statement_descriptor_business_mismatch" | "invalid_statement_descriptor_denylisted" | "invalid_statement_descriptor_length" | "invalid_statement_descriptor_prefix_denylisted" | "invalid_statement_descriptor_prefix_mismatch" | "invalid_street_address" | "invalid_tax_id" | "invalid_tax_id_format" | "invalid_tos_acceptance" | "invalid_url_denylisted" | "invalid_url_format" | "invalid_url_web_presence_detected" | "invalid_url_website_business_information_mismatch" | "invalid_url_website_empty" | "invalid_url_website_inaccessible" | "invalid_url_website_inaccessible_geoblocked" | "invalid_url_website_inaccessible_password_protected" | "invalid_url_website_incomplete" | "invalid_url_website_incomplete_cancellation_policy" | "invalid_url_website_incomplete_customer_service_details" | "invalid_url_website_incomplete_legal_restrictions" | "invalid_url_website_incomplete_refund_policy" | "invalid_url_website_incomplete_return_policy" | "invalid_url_website_incomplete_terms_and_conditions" | "invalid_url_website_incomplete_under_construction" | "invalid_url_website_other" | "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_representative_authority" | "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" | "verification_requires_additional_proof_of_registration"; + code: "invalid_address_city_state_postal_code" | "invalid_address_highway_contract_box" | "invalid_address_private_mailbox" | "invalid_business_profile_name" | "invalid_business_profile_name_denylisted" | "invalid_company_name_denylisted" | "invalid_dob_age_over_maximum" | "invalid_dob_age_under_18" | "invalid_dob_age_under_minimum" | "invalid_product_description_length" | "invalid_product_description_url_match" | "invalid_representative_country" | "invalid_statement_descriptor_business_mismatch" | "invalid_statement_descriptor_denylisted" | "invalid_statement_descriptor_length" | "invalid_statement_descriptor_prefix_denylisted" | "invalid_statement_descriptor_prefix_mismatch" | "invalid_street_address" | "invalid_tax_id" | "invalid_tax_id_format" | "invalid_tos_acceptance" | "invalid_url_denylisted" | "invalid_url_format" | "invalid_url_web_presence_detected" | "invalid_url_website_business_information_mismatch" | "invalid_url_website_empty" | "invalid_url_website_inaccessible" | "invalid_url_website_inaccessible_geoblocked" | "invalid_url_website_inaccessible_password_protected" | "invalid_url_website_incomplete" | "invalid_url_website_incomplete_cancellation_policy" | "invalid_url_website_incomplete_customer_service_details" | "invalid_url_website_incomplete_legal_restrictions" | "invalid_url_website_incomplete_refund_policy" | "invalid_url_website_incomplete_return_policy" | "invalid_url_website_incomplete_terms_and_conditions" | "invalid_url_website_incomplete_under_construction" | "invalid_url_website_other" | "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_representative_authority" | "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" | "verification_requires_additional_proof_of_registration" | "verification_supportability"; /** @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. */ @@ -8049,6 +8240,37 @@ export interface components { */ void_at?: number | null; }; + /** + * ThresholdsResourceAlert + * @description A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests. + */ + "billing.alert": { + /** + * @description Defines the type of the alert. + * @enum {string} + */ + alert_type: "usage_threshold"; + /** @description Limits the scope of the alert to a specific [customer](https://stripe.com/docs/api/customers). */ + filter?: components["schemas"]["thresholds_resource_alert_filter"] | 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: "billing.alert"; + /** + * @description Status of the alert. This can be active, inactive or archived. + * @enum {string|null} + */ + status?: "active" | "archived" | "inactive" | null; + /** @description Title of the alert. */ + title: string; + /** @description Encapsulates configuration of the alert to monitor usage on a specific [Billing Meter](https://stripe.com/docs/api/billing/meter). */ + usage_threshold_config?: components["schemas"]["thresholds_resource_usage_threshold_config"] | null; + }; /** * BillingMeter * @description A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then attach the billing meter to a price and attach the price to a subscription to charge the user for the number of API calls they make. @@ -8181,6 +8403,18 @@ export interface components { */ start_time: number; }; + /** BillingClocksResourceStatusDetailsAdvancingStatusDetails */ + billing_clocks_resource_status_details_advancing_status_details: { + /** + * Format: unix-time + * @description The `frozen_time` that the Test Clock is advancing towards. + */ + target_frozen_time: number; + }; + /** BillingClocksResourceStatusDetailsStatusDetails */ + billing_clocks_resource_status_details_status_details: { + advancing?: components["schemas"]["billing_clocks_resource_status_details_advancing_status_details"]; + }; /** billing_details */ billing_details: { /** @description Billing address. */ @@ -8393,11 +8627,11 @@ export interface components { 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`. */ + /** @description Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `Girocard`, `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. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ + /** @description Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ 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; @@ -8498,7 +8732,7 @@ export interface components { /** @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. This only works for card payments. */ + /** @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. This value only exists for card payments. */ 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; @@ -8580,11 +8814,13 @@ export interface components { 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. */ + /** @description The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://docs.stripe.com/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. */ + /** @description For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. */ statement_descriptor_suffix?: string | null; /** * @description The status of the payment is either `succeeded`, `pending`, or `failed`. @@ -8779,7 +9015,7 @@ export interface components { /** @description The ID of the original expired Checkout Session that triggered the recovery flow. */ recovered_from?: string | null; /** - * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) of embedded sessions. Defaults to `always`. + * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. * @enum {string} */ redirect_on_completion?: "always" | "if_required" | "never"; @@ -8856,11 +9092,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -8875,11 +9111,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8889,11 +9125,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8903,11 +9139,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8917,11 +9153,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -8931,11 +9167,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8945,11 +9181,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -8959,11 +9195,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8975,11 +9211,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -9000,11 +9236,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -9018,11 +9254,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9051,11 +9287,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9065,11 +9301,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9079,11 +9315,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9093,11 +9329,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9107,11 +9343,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9121,11 +9357,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9135,11 +9371,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -9151,11 +9387,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9165,11 +9401,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -9179,11 +9415,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9193,11 +9429,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9209,11 +9445,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9223,11 +9459,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9237,11 +9473,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9260,11 +9496,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -9279,11 +9515,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -9293,11 +9529,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -9342,11 +9578,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9362,11 +9598,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -10462,6 +10698,10 @@ export interface components { * CustomerSessionResourceCustomerSession * @description A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access * control over a Customer. + * + * Related guides: [Customer Session with the Payment Element](/payments/accept-a-payment-deferred?platform=web&type=payment#save-payment-methods), + * [Customer Session with the Pricing Table](/payments/checkout/pricing-table#customer-session), + * [Customer Session with the Buy Button](/payment-links/buy-button#pass-an-existing-customer). */ customer_session: { /** @description The client secret of this Customer Session. Used on the client to set up secure access to the given `customer`. @@ -10530,7 +10770,7 @@ export interface components { * @enum {string} */ payment_method_redisplay: "disabled" | "enabled"; - /** @description Determines the max number of saved payment methods for the Payment Element to display. This parameter defaults to `10`. */ + /** @description Determines the max number of saved payment methods for the Payment Element to display. This parameter defaults to `3`. */ payment_method_redisplay_limit?: number | null; /** * @description Controls whether the Payment Element displays the option to remove a saved payment method. This parameter defaults to `disabled`. @@ -11158,6 +11398,7 @@ export interface components { }; /** DisputePaymentMethodDetails */ dispute_payment_method_details: { + amazon_pay?: components["schemas"]["dispute_payment_method_details_amazon_pay"]; card?: components["schemas"]["dispute_payment_method_details_card"]; klarna?: components["schemas"]["dispute_payment_method_details_klarna"]; paypal?: components["schemas"]["dispute_payment_method_details_paypal"]; @@ -11165,7 +11406,15 @@ export interface components { * @description Payment method type. * @enum {string} */ - type: "card" | "klarna" | "paypal"; + type: "amazon_pay" | "card" | "klarna" | "paypal"; + }; + /** DisputePaymentMethodDetailsAmazonPay */ + dispute_payment_method_details_amazon_pay: { + /** + * @description The AmazonPay dispute type, chargeback or claim + * @enum {string|null} + */ + dispute_type?: "chargeback" | "claim" | null; }; /** DisputePaymentMethodDetailsCard */ dispute_payment_method_details_card: { @@ -11487,7 +11736,7 @@ export interface components { * @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"; + 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" | "issuing_regulatory_reporting" | "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. */ @@ -12413,6 +12662,8 @@ export interface components { provided_details?: components["schemas"]["gelato_provided_details"] | 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 Token referencing a Customer resource. */ + related_customer?: string | null; /** * @description Status of this VerificationSession. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). * @enum {string} @@ -12542,6 +12793,11 @@ export interface components { /** @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"]; + /** + * Format: unix-time + * @description The time when this invoice is currently scheduled to be automatically finalized. The field will be `null` if the invoice is not scheduled to finalize in the future. If the invoice is not in the draft state, this field will always be `null` - see `finalized_at` for the time when an already-finalized invoice was finalized. + */ + automatically_finalizes_at?: number | null; /** * @description Indicates the reason why the invoice was created. * @@ -12866,6 +13122,40 @@ export interface components { */ page_size?: "a4" | "auto" | "letter" | null; }; + /** + * InvoiceRenderingTemplate + * @description Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates + * can be created from within the Dashboard, and they can be used over the API when creating invoices. + */ + invoice_rendering_template: { + /** + * 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 Set of [key-value pairs](https://stripe.com/docs/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 template, 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: "invoice_rendering_template"; + /** + * @description The status of the template, one of `active` or `archived`. + * @enum {string} + */ + status: "active" | "archived"; + /** @description Version of this template; version increases by one when an update on the template changes any field that controls invoice rendering */ + version: number; + }; /** InvoiceSettingCustomField */ invoice_setting_custom_field: { /** @description The name of the custom field. */ @@ -12877,6 +13167,8 @@ export interface components { invoice_setting_customer_rendering_options: { /** @description How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. */ amount_tax_display?: string | null; + /** @description ID of the invoice rendering template to be used for this customer's invoices. If set, the template will be used on all invoices for this customer unless a template is set directly on the invoice. */ + template?: string | null; }; /** InvoiceSettingCustomerSetting */ invoice_setting_customer_setting: { @@ -13056,14 +13348,18 @@ export interface components { amount_tax_display?: string | null; /** @description Invoice pdf rendering options */ pdf?: components["schemas"]["invoice_rendering_pdf"] | null; + /** @description ID of the rendering template that the invoice is formatted by. */ + template?: string | null; + /** @description Version of the rendering template that the invoice is using. */ + template_version?: number | 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @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`, `hr_oib`, `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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` * @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -13438,7 +13734,10 @@ export interface components { "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. */ + /** + * Format: unix-time + * @description The date that the transactions are cleared and posted to user's accounts. + */ clearing_date: number; /** * Format: unix-time @@ -13460,10 +13759,10 @@ export interface components { /** @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"] + * @description The card network for this settlement report. One of ["visa", "maestro"] * @enum {string} */ - network: "visa"; + network: "maestro" | "visa"; /** @description The total amount of fees owed to the network. */ network_fees: number; /** @description The Settlement Identification Number assigned by the network. */ @@ -13475,6 +13774,11 @@ export interface components { object: "issuing.settlement"; /** @description One of `international` or `uk_national_net`. */ settlement_service: string; + /** + * @description The current processing status of this settlement. + * @enum {string} + */ + status: "complete" | "pending"; /** @description The total number of transactions reflected in this settlement. */ transaction_count: number; /** @description The total transaction amount reflected in this settlement. */ @@ -13907,7 +14211,7 @@ export interface components { * @description The delivery status of the card. * @enum {string|null} */ - status?: "canceled" | "delivered" | "failure" | "pending" | "returned" | "shipped" | null; + status?: "canceled" | "delivered" | "failure" | "pending" | "returned" | "shipped" | "submitted" | 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. */ @@ -14531,7 +14835,7 @@ export interface components { /** @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?: string; /** @description The discounts applied to the line item. */ discounts?: components["schemas"]["line_items_discount_amount"][]; /** @description Unique identifier for the object. */ @@ -14548,6 +14852,16 @@ export interface components { /** @description The taxes applied to the line item. */ taxes?: components["schemas"]["line_items_tax_amount"][]; }; + /** klarna_address */ + klarna_address: { + /** @description The payer address country */ + country?: string | null; + }; + /** klarna_payer_details */ + klarna_payer_details: { + /** @description The payer's address */ + address?: components["schemas"]["klarna_address"] | null; + }; /** LegalEntityCompany */ legal_entity_company: { address?: components["schemas"]["address"]; @@ -14665,7 +14979,12 @@ export interface components { /** @description The user-agent string from the browser where the beneficial owner attestation was made. */ user_agent?: string | null; }; - /** InvoiceLineItem */ + /** + * InvoiceLineItem + * @description Invoice Line Items represent the individual lines within an [invoice](https://stripe.com/docs/api/invoices) and only exist within the context of an invoice. + * + * Each line item is backed by either an [invoice item](https://stripe.com/docs/api/invoiceitems) or a [subscription item](https://stripe.com/docs/api/subscription_items). + */ line_item: { /** @description The amount, in cents (or local equivalent). */ amount: number; @@ -14712,9 +15031,9 @@ export interface components { /** @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"][]; + tax_amounts: components["schemas"]["invoice_tax_amount"][]; /** @description The tax rates which apply to the line item. */ - tax_rates?: components["schemas"]["tax_rate"][]; + 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} @@ -15111,6 +15430,14 @@ export interface components { */ status: "available" | "unavailable"; }; + /** PaymentFlowsPrivatePaymentMethodsCardPresentCommonWallet */ + payment_flows_private_payment_methods_card_present_common_wallet: { + /** + * @description The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. + * @enum {string} + */ + type: "apple_pay" | "google_pay" | "samsung_pay" | "unknown"; + }; /** PaymentFlowsPrivatePaymentMethodsKlarnaDOB */ payment_flows_private_payment_methods_klarna_dob: { /** @description The day of birth, between 1 and 31. */ @@ -15190,7 +15517,7 @@ export interface components { * * Payment methods attached to other Customers cannot be used with this PaymentIntent. * - * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ 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; @@ -15234,19 +15561,21 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/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 card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. */ 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). @@ -15550,7 +15879,7 @@ export interface components { alipay?: components["schemas"]["payment_method_options_alipay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; amazon_pay?: components["schemas"]["payment_method_options_amazon_pay"] | 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"]; + bacs_debit?: components["schemas"]["payment_intent_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"]; @@ -15590,11 +15919,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15609,11 +15938,26 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. + * + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. + * + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_intent_payment_method_options_bacs_debit */ + payment_intent_payment_method_options_bacs_debit: { + mandate_options?: components["schemas"]["payment_intent_payment_method_options_mandate_options_bacs_debit"]; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15623,11 +15967,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -15649,7 +15993,7 @@ export interface components { * @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; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null; /** * @description Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent. * @enum {string} @@ -15680,11 +16024,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15698,11 +16042,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -15717,11 +16061,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -15743,6 +16087,8 @@ export interface components { */ transaction_type?: "business" | "personal" | null; }; + /** payment_intent_payment_method_options_mandate_options_bacs_debit */ + payment_intent_payment_method_options_mandate_options_bacs_debit: Record; /** payment_intent_payment_method_options_mandate_options_sepa_debit */ payment_intent_payment_method_options_mandate_options_sepa_debit: Record; /** payment_intent_payment_method_options_mobilepay */ @@ -15755,11 +16101,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -15770,11 +16116,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15786,11 +16132,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -15807,11 +16153,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15856,11 +16202,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -16134,9 +16480,9 @@ export interface components { * @enum {string|null} */ setup_future_usage?: "off_session" | "on_session" | null; - /** @description Extra information about the payment. This will appear on your customer's statement when this payment succeeds in creating a charge. */ + /** @description For a non-card payment, information about the charge that appears on the customer's statement when this payment succeeds in creating a charge. */ 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. */ + /** @description For a card payment, information about the charge that appears on the customer's statement when this payment succeeds in creating a charge. Concatenated with the account's statement descriptor prefix to form the complete statement descriptor. */ statement_descriptor_suffix?: string | 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; @@ -16194,6 +16540,8 @@ export interface components { payment_links_resource_tax_id_collection: { /** @description Indicates whether tax ID collection is enabled for the session. */ enabled: boolean; + /** @enum {string} */ + required: "if_supported" | "never"; }; /** PaymentLinksResourceTransferData */ payment_links_resource_transfer_data: { @@ -16406,6 +16754,8 @@ export interface components { 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 Details about payment methods collected offline. */ + offline?: components["schemas"]["payment_method_details_card_present_offline"] | null; /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */ preferred_locales?: string[] | null; /** @@ -16413,6 +16763,7 @@ export interface components { * @enum {string|null} */ read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2" | null; + wallet?: components["schemas"]["payment_flows_private_payment_methods_card_present_common_wallet"]; }; /** payment_method_card_present_networks */ payment_method_card_present_networks: { @@ -16753,6 +17104,8 @@ export interface components { payment_method_details_card: { /** @description The authorized amount. */ amount_authorized?: number | null; + /** @description Authorization code on the charge. */ + authorization_code?: string | null; /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ brand?: string | null; /** @@ -16871,10 +17224,7 @@ export interface components { 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 This is used by the financial networks to identify a transaction. - * Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. - * The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). - * This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ + /** @description This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ network_transaction_id?: string | null; /** @description Details about payments collected offline. */ offline?: components["schemas"]["payment_method_details_card_present_offline"] | null; @@ -16889,6 +17239,7 @@ export interface components { 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; + wallet?: components["schemas"]["payment_flows_private_payment_methods_card_present_common_wallet"]; }; /** payment_method_details_card_present_offline */ payment_method_details_card_present_offline: { @@ -16897,6 +17248,11 @@ export interface components { * @description Time at which the payment was collected while offline */ stored_at?: number | null; + /** + * @description The method used to process this payment method offline. Only deferred is allowed. + * @enum {string|null} + */ + type?: "deferred" | null; }; /** payment_method_details_card_present_receipt */ payment_method_details_card_present_receipt: { @@ -17072,10 +17428,7 @@ export interface components { 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 This is used by the financial networks to identify a transaction. - * Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. - * The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). - * This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ + /** @description This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ network_transaction_id?: string | null; /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */ preferred_locales?: string[] | null; @@ -17113,6 +17466,8 @@ export interface components { }; /** payment_method_details_klarna */ payment_method_details_klarna: { + /** @description The payer details for this transaction. */ + payer_details?: components["schemas"]["klarna_payer_details"] | null; /** @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; @@ -17438,11 +17793,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17460,11 +17815,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17474,11 +17829,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17493,29 +17848,15 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/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. - * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. - * - * 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: { /** @@ -17526,11 +17867,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17542,11 +17883,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -17619,11 +17960,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -17639,11 +17980,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17674,11 +18015,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17688,11 +18029,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17702,11 +18043,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17716,11 +18057,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17739,11 +18080,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17764,11 +18105,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17778,11 +18119,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17794,11 +18135,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17808,11 +18149,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17822,11 +18163,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17845,11 +18186,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17863,11 +18204,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17877,11 +18218,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17896,11 +18237,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17915,11 +18256,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17929,11 +18270,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17958,11 +18299,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17972,11 +18313,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -18340,10 +18681,10 @@ export interface components { /** 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @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`, `hr_oib`, `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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` * @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -18351,6 +18692,11 @@ export interface components { payment_pages_checkout_session_tax_id_collection: { /** @description Indicates whether tax ID collection is enabled for the session */ enabled: boolean; + /** + * @description Indicates whether a tax ID is required on the payment page + * @enum {string} + */ + required: "if_supported" | "never"; }; /** PaymentPagesCheckoutSessionTotalDetails */ payment_pages_checkout_session_total_details: { @@ -18561,7 +18907,8 @@ export interface components { }; /** PersonAdditionalTOSAcceptances */ person_additional_tos_acceptances: { - account: components["schemas"]["person_additional_tos_acceptance"]; + /** @description Details on the legal guardian's acceptance of the main Stripe service agreement. */ + account?: components["schemas"]["person_additional_tos_acceptance"] | null; }; /** PersonFutureRequirements */ person_future_requirements: { @@ -20198,7 +20545,7 @@ export interface components { 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. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.corp.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead. */ + /** @description ID of the payment method used with this SetupIntent. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead. */ 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; @@ -20254,6 +20601,7 @@ export interface components { 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"]; amazon_pay?: components["schemas"]["setup_intent_payment_method_options_amazon_pay"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + bacs_debit?: components["schemas"]["setup_intent_payment_method_options_bacs_debit"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; card?: components["schemas"]["setup_intent_payment_method_options_card"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; card_present?: components["schemas"]["setup_intent_payment_method_options_card_present"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; link?: components["schemas"]["setup_intent_payment_method_options_link"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; @@ -20277,6 +20625,10 @@ export interface components { }; /** setup_intent_payment_method_options_amazon_pay */ setup_intent_payment_method_options_amazon_pay: Record; + /** setup_intent_payment_method_options_bacs_debit */ + setup_intent_payment_method_options_bacs_debit: { + mandate_options?: components["schemas"]["setup_intent_payment_method_options_mandate_options_bacs_debit"]; + }; /** 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. */ @@ -20285,7 +20637,7 @@ export interface components { * @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; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "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. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. * @enum {string|null} @@ -20350,6 +20702,8 @@ export interface components { */ transaction_type?: "business" | "personal" | null; }; + /** setup_intent_payment_method_options_mandate_options_bacs_debit */ + setup_intent_payment_method_options_mandate_options_bacs_debit: Record; /** 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 */ @@ -21208,7 +21562,7 @@ export interface components { * @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; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "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/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. * @enum {string|null} @@ -21906,10 +22260,10 @@ export interface components { /** @description The account or customer the tax ID belongs to. */ owner?: components["schemas"]["tax_i_ds_owner"] | null; /** - * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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` + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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. */ @@ -22039,6 +22393,7 @@ export interface components { local_lease_tax?: components["schemas"]["tax_product_registrations_resource_country_options_us_local_lease_tax"]; /** @description Two-letter US state code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). */ state: string; + state_sales_tax?: components["schemas"]["tax_product_registrations_resource_country_options_us_state_sales_tax"]; /** * @description Type of registration in the US. * @enum {string} @@ -22055,6 +22410,21 @@ export interface components { /** @description A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. */ jurisdiction: string; }; + /** TaxProductRegistrationsResourceCountryOptionsUsStateSalesTax */ + tax_product_registrations_resource_country_options_us_state_sales_tax: { + /** @description Elections for the state sales tax registration. */ + elections?: components["schemas"]["tax_product_registrations_resource_country_options_us_state_sales_tax_election"][]; + }; + /** TaxProductRegistrationsResourceCountryOptionsUsStateSalesTaxElection */ + tax_product_registrations_resource_country_options_us_state_sales_tax_election: { + /** @description A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. */ + jurisdiction?: string; + /** + * @description The type of the election for the state sales tax registration. + * @enum {string} + */ + type: "local_use_tax" | "simplified_sellers_use_tax" | "single_local_use_tax"; + }; /** TaxProductResourceCustomerDetails */ tax_product_resource_customer_details: { /** @description The customer's postal address (for example, home or business location). */ @@ -22077,10 +22447,10 @@ export interface components { /** 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @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`, `hr_oib`, `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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` * @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -22410,7 +22780,7 @@ export interface components { /** @description Serial number of the reader. */ serial_number: string; /** - * @description The networking status of the reader. + * @description The networking status of the reader. We do not recommend using this field in flows that may block taking payments. * @enum {string|null} */ status?: "offline" | "online" | null; @@ -22642,6 +23012,7 @@ export interface components { * @enum {string} */ status: "advancing" | "internal_failure" | "ready"; + status_details: components["schemas"]["billing_clocks_resource_status_details_status_details"]; }; /** three_d_secure_details */ three_d_secure_details: { @@ -22724,6 +23095,26 @@ export interface components { /** @description Whether 3D Secure is supported on this card. */ supported: boolean; }; + /** ThresholdsResourceAlertFilter */ + thresholds_resource_alert_filter: { + /** @description Limit the scope of the alert to this customer ID */ + customer?: (string | components["schemas"]["customer"]) | null; + }; + /** + * ThresholdsResourceUsageThresholdConfig + * @description The usage threshold alert configuration enables setting up alerts for when a certain usage threshold on a specific meter is crossed. + */ + thresholds_resource_usage_threshold_config: { + /** @description The value at which this alert will trigger. */ + gte: number; + /** @description The [Billing Meter](/api/billing/meter) ID whose usage is monitored. */ + meter: string | components["schemas"]["billing.meter"]; + /** + * @description Defines how the alert will behave. + * @enum {string} + */ + recurrence: "one_time"; + }; /** * Token * @description Tokenization is the process Stripe uses to collect sensitive card or bank @@ -22894,7 +23285,7 @@ export interface components { }; /** @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. */ + /** @description ID of the charge 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; @@ -23090,7 +23481,7 @@ export interface components { */ "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")[]; + active_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "financial_addresses.aba.forwarding" | "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; @@ -23116,11 +23507,11 @@ export interface components { */ 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")[]; + pending_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "financial_addresses.aba.forwarding" | "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")[]; + restricted_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "financial_addresses.aba.forwarding" | "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} @@ -23151,7 +23542,9 @@ export interface components { }; /** * 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. + * @description Use [InboundTransfers](https://docs.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. + * + * Related guide: [Moving money with Treasury using InboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) */ "treasury.inbound_transfer": { /** @description Amount (in cents) transferred. */ @@ -23206,9 +23599,11 @@ export interface components { }; /** * 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). + * @description Use [OutboundPayments](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) 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. + * + * Related guide: [Moving money with Treasury using OutboundPayment objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) */ "treasury.outbound_payment": { /** @description Amount (in cents) transferred. */ @@ -23271,9 +23666,11 @@ export interface components { }; /** * 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. + * @description Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) 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. + * + * Related guide: [Moving money with Treasury using OutboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) */ "treasury.outbound_transfer": { /** @description Amount (in cents) transferred. */ @@ -23400,7 +23797,7 @@ export interface components { * @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; + failure_code?: "account_closed" | "account_frozen" | "insufficient_funds" | "international_transaction" | "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. */ @@ -23796,8 +24193,10 @@ export interface components { }; /** TreasuryOutboundPaymentsResourceUSDomesticWireTrackingDetails */ treasury_outbound_payments_resource_us_domestic_wire_tracking_details: { + /** @description CHIPS System Sequence Number (SSN) of the OutboundPayment for payments sent over the `us_domestic_wire` network. */ + chips?: string | null; /** @description IMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. */ - imad: string; + imad?: string | null; /** @description OMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. */ omad?: string | null; }; @@ -23851,8 +24250,10 @@ export interface components { }; /** TreasuryOutboundTransfersResourceUSDomesticWireTrackingDetails */ treasury_outbound_transfers_resource_us_domestic_wire_tracking_details: { + /** @description CHIPS System Sequence Number (SSN) of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. */ + chips?: string | null; /** @description IMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. */ - imad: string; + imad?: string | null; /** @description OMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. */ omad?: string | null; }; @@ -24193,7 +24594,7 @@ export interface operations { */ collection_options?: { /** @enum {string} */ - fields: "currently_due" | "eventually_due"; + fields?: "currently_due" | "eventually_due"; /** @enum {string} */ future_requirements?: "include" | "omit"; }; @@ -26426,7 +26827,7 @@ export interface operations { "application/x-www-form-urlencoded": { /** * person_additional_tos_acceptances_specs - * @description Details on the legal guardian's acceptance of the required Stripe agreements. + * @description Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. */ additional_tos_acceptances?: { /** settings_terms_of_service_specs */ @@ -26658,7 +27059,7 @@ export interface operations { "application/x-www-form-urlencoded": { /** * person_additional_tos_acceptances_specs - * @description Details on the legal guardian's acceptance of the required Stripe agreements. + * @description Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. */ additional_tos_acceptances?: { /** settings_terms_of_service_specs */ @@ -26949,7 +27350,7 @@ export interface operations { "application/x-www-form-urlencoded": { /** * person_additional_tos_acceptances_specs - * @description Details on the legal guardian's acceptance of the required Stripe agreements. + * @description Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. */ additional_tos_acceptances?: { /** settings_terms_of_service_specs */ @@ -27181,7 +27582,7 @@ export interface operations { "application/x-www-form-urlencoded": { /** * person_additional_tos_acceptances_specs - * @description Details on the legal guardian's acceptance of the required Stripe agreements. + * @description Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. */ additional_tos_acceptances?: { /** settings_terms_of_service_specs */ @@ -28373,6 +28774,277 @@ export interface operations { }; }; }; + GetBillingAlerts: { + parameters: { + query?: { + /** @description Filter results to only include this type of alert. */ + alert_type?: "usage_threshold"; + /** @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 results to only include alerts with the given meter. */ + meter?: 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"]["billing.alert"][]; + /** @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"]; + }; + }; + }; + }; + PostBillingAlerts: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description The type of alert to create. + * @enum {string} + */ + alert_type: "usage_threshold"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * alert_filter + * @description Filters to limit the scope of an alert. + */ + filter?: { + customer?: string; + subscription?: string; + subscription_item?: string; + }; + /** @description The title of the alert. */ + title: string; + /** + * usage_threshold_config + * @description The configuration of the usage threshold. + */ + usage_threshold_config?: { + gte: number; + meter?: string; + /** @enum {string} */ + recurrence: "one_time"; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBillingAlertsId: { + 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"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingAlertsIdActivate: { + 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"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingAlertsIdArchive: { + 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"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingAlertsIdDeactivate: { + 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"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; PostBillingMeterEventAdjustments: { parameters: { query?: never; @@ -29241,7 +29913,7 @@ export interface operations { 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. */ + /** @description Only return charges for this transfer group, limited to 100. */ transfer_group?: string; }; header?: never; @@ -29369,9 +30041,11 @@ export interface operations { }; /** @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. */ + /** @description For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. */ statement_descriptor_suffix?: string; /** * transfer_data_specs @@ -29598,9 +30272,11 @@ export interface operations { 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. */ + /** @description For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. */ statement_descriptor_suffix?: string; /** * transfer_data_specs @@ -30164,7 +30840,7 @@ export interface operations { * @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. */ + /** @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. This parameter is not allowed if ui_mode is `embedded`. */ 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 @@ -30687,7 +31363,7 @@ export interface operations { enabled: boolean; }; /** - * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) of embedded sessions. Defaults to `always`. + * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. * @enum {string} */ redirect_on_completion?: "always" | "if_required" | "never"; @@ -30826,6 +31502,8 @@ export interface operations { */ tax_id_collection?: { enabled: boolean; + /** @enum {string} */ + required?: "if_supported" | "never"; }; /** * @description The UI mode of the Session. Defaults to `hosted`. @@ -32541,6 +33219,7 @@ export interface operations { rendering_options?: { /** @enum {string} */ amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + template?: string; } | ""; }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ @@ -32590,7 +33269,7 @@ export interface operations { /** @description The customer's tax IDs. */ tax_id_data?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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. */ @@ -32811,6 +33490,7 @@ export interface operations { rendering_options?: { /** @enum {string} */ amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + template?: string; } | ""; }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ @@ -34723,7 +35403,7 @@ export interface operations { description?: string; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; } | ""; @@ -34764,7 +35444,7 @@ export interface operations { interval: "day" | "month" | "week" | "year"; interval_count?: number; } | ""; - /** @description The 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + /** @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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ promotion_code?: string; /** * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. @@ -35056,7 +35736,7 @@ export interface operations { description?: string; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; } | ""; @@ -35097,7 +35777,7 @@ export interface operations { 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. */ + /** @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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ promotion_code?: string; /** * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/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`. @@ -35342,10 +36022,10 @@ export interface operations { /** @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`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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` + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -36303,7 +36983,7 @@ export interface operations { * @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`. */ + /** @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`, `issuing_regulatory_reporting`, `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?: { @@ -36432,7 +37112,7 @@ export interface operations { /** @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"; + 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" | "issuing_regulatory_reporting" | "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; }; @@ -36510,7 +37190,7 @@ export interface operations { * @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"; + purpose: "account_requirement" | "additional_verification" | "business_icon" | "business_logo" | "customer_signature" | "dispute_evidence" | "identity_document" | "issuing_regulatory_reporting" | "pci_document" | "tax_document_user_upload" | "terminal_reader_splashscreen"; }; }; }; @@ -37366,6 +38046,7 @@ export interface operations { 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; + related_customer?: 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 VerificationSessions with this status. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). */ @@ -37450,6 +38131,8 @@ export interface operations { email?: string; phone?: string; }; + /** @description Token referencing a Customer resource. */ + related_customer?: string; /** @description The URL that the user will be redirected to upon completing the verification flow. */ return_url?: string; /** @@ -37664,6 +38347,176 @@ export interface operations { }; }; }; + GetInvoiceRenderingTemplates: { + 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; + status?: "active" | "archived"; + }; + 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"]["invoice_rendering_template"][]; + /** @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"]; + }; + }; + }; + }; + GetInvoiceRenderingTemplatesTemplate: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + version?: number; + }; + header?: never; + path: { + template: 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_rendering_template"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoiceRenderingTemplatesTemplateArchive: { + parameters: { + query?: never; + header?: never; + path: { + template: 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_rendering_template"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoiceRenderingTemplatesTemplateUnarchive: { + parameters: { + query?: never; + header?: never; + path: { + template: 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_rendering_template"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; GetInvoiceitems: { parameters: { query?: { @@ -38202,9 +39055,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -38258,6 +39111,8 @@ export interface operations { /** @enum {string} */ page_size?: "a4" | "auto" | "letter"; }; + template?: string; + template_version?: number | ""; }; /** * shipping_cost @@ -38421,7 +39276,7 @@ export interface operations { tax_exempt?: "" | "exempt" | "none" | "reverse"; tax_ids?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }[]; }; @@ -38433,7 +39288,7 @@ export interface operations { }[] | ""; /** @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. */ + /** @description List of invoice items to add or update in the upcoming invoice preview (up to 250). */ invoice_items?: { amount?: number; currency?: string; @@ -38797,7 +39652,7 @@ export interface operations { tax_exempt?: "" | "exempt" | "none" | "reverse"; tax_ids?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }[]; }; @@ -38809,7 +39664,7 @@ export interface operations { }[] | ""; /** @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. */ + /** @description List of invoice items to add or update in the upcoming invoice preview (up to 250). */ invoice_items?: { amount?: number; currency?: string; @@ -39170,7 +40025,7 @@ export interface operations { tax_exempt?: "" | "exempt" | "none" | "reverse"; tax_ids?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }[]; }; @@ -39184,7 +40039,7 @@ export interface operations { 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. */ + /** @description List of invoice items to add or update in the upcoming invoice preview (up to 250). */ invoice_items?: { amount?: number; currency?: string; @@ -39660,9 +40515,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -39711,6 +40566,8 @@ export interface operations { /** @enum {string} */ page_size?: "a4" | "auto" | "letter"; }; + template?: string; + template_version?: number | ""; }; /** @description Settings for the cost of shipping for this invoice. */ shipping_cost?: { @@ -42951,7 +43808,7 @@ export interface operations { * * Payment methods attached to other Customers cannot be used with this PaymentIntent. * - * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ customer?: string; /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ description?: string; @@ -43192,6 +44049,8 @@ export interface operations { setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; /** @enum {string} */ setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; @@ -43219,9 +44078,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -43243,7 +44102,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_extended_authorization?: "if_available" | "never"; /** @enum {string} */ @@ -43485,11 +44344,11 @@ export interface operations { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "off_session" | "on_session"; @@ -43512,9 +44371,11 @@ export interface operations { phone?: string; tracking_number?: string; }; - /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. */ statement_descriptor_suffix?: string; /** * transfer_data_creation_params @@ -43674,7 +44535,7 @@ export interface operations { * * Payment methods attached to other Customers cannot be used with this PaymentIntent. * - * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ customer?: string; /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ description?: string; @@ -43888,6 +44749,8 @@ export interface operations { setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; /** @enum {string} */ setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; @@ -43915,9 +44778,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -43939,7 +44802,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_extended_authorization?: "if_available" | "never"; /** @enum {string} */ @@ -44172,13 +45035,13 @@ export interface operations { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * - * If `setup_future_usage` is already set and you are performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. + * If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. * @enum {string} */ setup_future_usage?: "" | "off_session" | "on_session"; @@ -44198,9 +45061,11 @@ export interface operations { phone?: string; tracking_number?: string; } | ""; - /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. */ statement_descriptor_suffix?: string; /** * transfer_data_update_params @@ -44350,9 +45215,11 @@ export interface operations { metadata?: { [key: string]: string; } | ""; - /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. */ statement_descriptor_suffix?: string; /** * transfer_data_update_params @@ -44646,6 +45513,8 @@ export interface operations { setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; /** @enum {string} */ setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; @@ -44673,9 +45542,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -44697,7 +45566,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_extended_authorization?: "if_available" | "never"; /** @enum {string} */ @@ -44941,13 +45810,13 @@ export interface operations { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * - * If `setup_future_usage` is already set and you are performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. + * If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. * @enum {string} */ setup_future_usage?: "" | "off_session" | "on_session"; @@ -45017,7 +45886,7 @@ export interface operations { metadata?: { [key: string]: string; }; - /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card or card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). */ statement_descriptor?: string; /** * transfer_data_update_params @@ -45418,6 +46287,8 @@ export interface operations { */ tax_id_collection?: { enabled: boolean; + /** @enum {string} */ + required?: "if_supported" | "never"; }; /** * transfer_data_params @@ -45707,6 +46578,8 @@ export interface operations { */ tax_id_collection?: { enabled: boolean; + /** @enum {string} */ + required?: "if_supported" | "never"; }; }; }; @@ -49562,7 +50435,7 @@ export interface operations { 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. */ + /** @description The discounts applied to the quote. */ discounts?: { coupon?: string; discount?: string; @@ -49755,7 +50628,7 @@ export interface operations { 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. */ + /** @description The discounts applied to the quote. */ discounts?: { coupon?: string; discount?: string; @@ -51638,6 +52511,11 @@ export interface operations { }; /** setup_intent_payment_method_options_param */ amazon_pay?: Record; + /** setup_intent_payment_method_options_param */ + bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; /** setup_intent_param */ card?: { /** setup_intent_mandate_options_param */ @@ -51658,7 +52536,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; /** setup_intent_payment_method_options_param */ @@ -52015,6 +52893,11 @@ export interface operations { }; /** setup_intent_payment_method_options_param */ amazon_pay?: Record; + /** setup_intent_payment_method_options_param */ + bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; /** setup_intent_param */ card?: { /** setup_intent_mandate_options_param */ @@ -52035,7 +52918,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; /** setup_intent_payment_method_options_param */ @@ -52391,6 +53274,11 @@ export interface operations { }; /** setup_intent_payment_method_options_param */ amazon_pay?: Record; + /** setup_intent_payment_method_options_param */ + bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; /** setup_intent_param */ card?: { /** setup_intent_mandate_options_param */ @@ -52411,7 +53299,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; /** setup_intent_payment_method_options_param */ @@ -54462,12 +55350,14 @@ export interface operations { lt?: number; lte?: number; } | number; + /** @description Only return subscriptions whose current_period_end falls within the given date interval. */ current_period_end?: { gt?: number; gte?: number; lt?: number; lte?: number; } | number; + /** @description Only return subscriptions whose current_period_start falls within the given date interval. */ current_period_start?: { gt?: number; gte?: number; @@ -54738,7 +55628,7 @@ export interface operations { description?: string; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; } | ""; @@ -54779,7 +55669,7 @@ export interface operations { interval: "day" | "month" | "week" | "year"; interval_count?: number; } | ""; - /** @description The 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + /** @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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ promotion_code?: string; /** * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. @@ -55127,7 +56017,7 @@ export interface operations { description?: string; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; } | ""; @@ -55168,7 +56058,7 @@ export interface operations { 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. */ + /** @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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ promotion_code?: string; /** * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/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`. @@ -55396,7 +56286,7 @@ export interface operations { ip_address?: string; tax_ids?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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} */ @@ -55466,6 +56356,44 @@ export interface operations { }; }; }; + GetTaxCalculationsCalculation: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: 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": components["schemas"]["tax.calculation"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; GetTaxCalculationsCalculationLineItems: { parameters: { query?: { @@ -56011,6 +56939,14 @@ export interface operations { jurisdiction: string; }; state: string; + /** state_sales_tax */ + state_sales_tax?: { + elections: { + jurisdiction?: string; + /** @enum {string} */ + type: "local_use_tax" | "simplified_sellers_use_tax" | "single_local_use_tax"; + }[]; + }; /** @enum {string} */ type: "local_amusement_tax" | "local_lease_tax" | "state_communications_tax" | "state_sales_tax"; }; @@ -56620,10 +57556,10 @@ export interface operations { type: "account" | "application" | "customer" | "self"; }; /** - * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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` + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -57494,7 +58430,7 @@ export interface operations { }; /** @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. */ + /** @description A name for the location. Maximum length is 1000 characters. */ display_name: string; /** @description Specifies which fields in the response should be expanded. */ expand?: string[]; @@ -57985,7 +58921,7 @@ export interface operations { content: { "application/x-www-form-urlencoded": { /** @description Customer Consent Collected */ - customer_consent_collected: boolean; + customer_consent_collected?: boolean; /** @description Specifies which fields in the response should be expanded. */ expand?: string[]; /** @@ -59170,6 +60106,58 @@ export interface operations { }; }; }; + PostTestHelpersIssuingSettlements: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @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; + /** @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 total interchange received as reimbursement for the transactions. */ + interchange_fees?: number; + /** @description The total net amount required to settle with the network. */ + net_total: number; + /** @description The Settlement Identification Number assigned by the network. */ + network_settlement_identifier?: 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; + }; + }; + }; + 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"]; + }; + }; + }; + }; PostTestHelpersIssuingTransactionsCreateForceCapture: { parameters: { query?: never; @@ -59950,6 +60938,7 @@ export interface operations { type: "ach" | "us_domestic_wire"; /** us_domestic_wire_tracking_details_params */ us_domestic_wire?: { + chips?: string; imad?: string; omad?: string; }; @@ -60127,6 +61116,7 @@ export interface operations { type: "ach" | "us_domestic_wire"; /** us_domestic_wire_tracking_details_params */ us_domestic_wire?: { + chips?: string; imad?: string; omad?: string; }; @@ -61121,7 +62111,7 @@ export interface operations { "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). */ + /** @description Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). */ currency: string; /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ description?: string; diff --git a/packages/openapi-fetch/vitest.config.ts b/packages/openapi-fetch/vitest.config.ts index 3cdd106a6..3ac7efb64 100644 --- a/packages/openapi-fetch/vitest.config.ts +++ b/packages/openapi-fetch/vitest.config.ts @@ -2,6 +2,7 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { + environment: "node", globals: true, typecheck: { enabled: true, diff --git a/packages/openapi-react-query/biome.json b/packages/openapi-react-query/biome.json index 684920f12..b53df374b 100644 --- a/packages/openapi-react-query/biome.json +++ b/packages/openapi-react-query/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.8.1/schema.json", + "$schema": "https://biomejs.dev/schemas/1.9.2/schema.json", "extends": ["../../biome.json"], "files": { "ignore": ["./test/fixtures/"] diff --git a/packages/openapi-react-query/package.json b/packages/openapi-react-query/package.json index ae2ddc12b..7d0604404 100644 --- a/packages/openapi-react-query/package.json +++ b/packages/openapi-react-query/package.json @@ -72,6 +72,7 @@ "esbuild": "^0.20.2", "execa": "^8.0.1", "msw": "^2.4.1", + "openapi-fetch": "workspace:^", "openapi-typescript": "workspace:^", "react": "^18.3.1", "react-error-boundary": "^4.0.13" diff --git a/packages/openapi-typescript/biome.json b/packages/openapi-typescript/biome.json index cd15331eb..f3ab913c1 100644 --- a/packages/openapi-typescript/biome.json +++ b/packages/openapi-typescript/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.8.1/schema.json", + "$schema": "https://biomejs.dev/schemas/1.9.2/schema.json", "extends": ["../../biome.json"], "files": { "include": ["./bin/", "./src/", "./test/"], diff --git a/packages/openapi-typescript/examples/digital-ocean-api.ts b/packages/openapi-typescript/examples/digital-ocean-api.ts index e04ea094b..a2a213b96 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api.ts +++ b/packages/openapi-typescript/examples/digital-ocean-api.ts @@ -364,54 +364,6 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/apps/tiers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List App Tiers - * @deprecated - * @description List all app tiers. - * This endpoint has been deprecated because app tiers are not tied to instance sizes anymore. - * The concept of tiers will be retired in the future. - * - */ - 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 - * @deprecated - * @description Retrieve information about a specific app tier. - * This endpoint has been deprecated because app tiers are not tied to instance sizes anymore. - * The concept of tiers will be retired in the future. - * - */ - 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; @@ -1245,6 +1197,27 @@ export interface paths { patch?: never; trace?: never; }; + "/v2/databases/{database_cluster_uuid}/install_update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Start Database Maintenance + * @description To start the installation of updates for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/install_update`. + * A successful request will receive a 204 No Content status code with no body in response. + */ + put: operations["databases_install_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v2/databases/{database_cluster_uuid}/backups": { parameters: { query?: never; @@ -1892,6 +1865,55 @@ export interface paths { patch?: never; trace?: never; }; + "/v2/databases/{database_cluster_uuid}/indexes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Indexes for a OpenSearch Cluster + * @description To list all of a OpenSearch cluster's indexes, send a GET request to + * `/v2/databases/$DATABASE_ID/indexes`. + * + * The result will be a JSON object with a `indexes` key. + * + */ + get: operations["databases_list_opeasearch_indexes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/databases/{database_cluster_uuid}/indexes/{index_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete Index for OpenSearch Cluster + * @description To delete a single index within OpenSearch cluster, send a DELETE request + * to `/v2/databases/$DATABASE_ID/indexes/$INDEX_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_opensearch_index"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v2/domains": { parameters: { query?: never; @@ -2156,6 +2178,72 @@ export interface paths { patch?: never; trace?: never; }; + "/v2/droplets/{droplet_id}/backups/policy": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve the Backup Policy for an Existing Droplet + * @description To show information about an individual Droplet's backup policy, send a GET + * request to `/v2/droplets/$DROPLET_ID/backups/policy`. + * + */ + get: operations["droplets_get_backup_policy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/droplets/backups/policies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Backup Policies for All Existing Droplets + * @description To list information about the backup policies for all Droplets in the account, + * send a GET request to `/v2/droplets/backups/policies`. + * + */ + get: operations["droplets_list_backup_policies"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/droplets/backups/supported_policies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Supported Droplet Backup Policies + * @description To retrieve a list of all supported Droplet backup policies, send a GET + * request to `/v2/droplets/backups/supported_policies`. + * + */ + get: operations["droplets_list_supported_backup_policies"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v2/droplets/{droplet_id}/snapshots": { parameters: { query?: never; @@ -2211,6 +2299,7 @@ export interface paths { * | ---------------------------------------- | ----------- | * | `enable_backups` | Enables backups for a Droplet | * | `disable_backups` | Disables backups for a Droplet | + * | `change_backup_policy` | Update the backup policy 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. | @@ -4043,7 +4132,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/projects": { + "/v2/monitoring/metrics/load_balancer/frontend_connections_current": { parameters: { query?: never; header?: never; @@ -4051,23 +4140,19 @@ export interface paths { cookie?: never; }; /** - * List All Projects - * @description To list all your projects, send a GET request to `/v2/projects`. + * Get Load Balancer Frontend Total Current Active Connections Metrics + * @description To retrieve frontend total current active connections for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_connections_current`. */ - get: operations["projects_list"]; + get: operations["monitoring_get_lb_frontend_connections_current"]; put?: never; - /** - * Create a Project - * @description To create a project, send a POST request to `/v2/projects`. - */ - post: operations["projects_create"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/projects/default": { + "/v2/monitoring/metrics/load_balancer/frontend_connections_limit": { parameters: { query?: never; header?: never; @@ -4075,27 +4160,19 @@ export interface paths { 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. + * Get Load Balancer Frontend Max Connections Limit Metrics + * @description To retrieve frontend max connections limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_connections_limit`. */ - put: operations["projects_update_default"]; + get: operations["monitoring_get_lb_frontend_connections_limit"]; + put?: 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"]; + patch?: never; trace?: never; }; - "/v2/projects/{project_id}": { + "/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization": { parameters: { query?: never; header?: never; @@ -4103,37 +4180,19 @@ export interface paths { 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. + * Get Load Balancer Frontend Average Percentage CPU Utilization Metrics + * @description To retrieve frontend average percentage CPU utilization for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization`. */ - put: operations["projects_update"]; + get: operations["monitoring_get_lb_frontend_cpu_utilization"]; + put?: never; 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"]; + delete?: 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"]; + patch?: never; trace?: never; }; - "/v2/projects/{project_id}/resources": { + "/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes": { parameters: { query?: never; header?: never; @@ -4141,23 +4200,19 @@ export interface paths { 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 Load Balancer Frontend Firewall Dropped Bytes Metrics + * @description To retrieve firewall dropped bytes for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes`. This is currently only supported for network load balancers. */ - get: operations["projects_list_resources"]; + get: operations["monitoring_get_lb_frontend_firewall_dropped_bytes"]; 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"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/projects/default/resources": { + "/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets": { parameters: { query?: never; header?: never; @@ -4165,23 +4220,19 @@ export interface paths { 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 Load Balancer Frontend Firewall Dropped Packets Metrics + * @description To retrieve firewall dropped packets per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets`. This is currently only supported for network load balancers. */ - get: operations["projects_list_resources_default"]; + get: operations["monitoring_get_lb_frontend_firewall_dropped_packets"]; 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"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/regions": { + "/v2/monitoring/metrics/load_balancer/frontend_http_responses": { parameters: { query?: never; header?: never; @@ -4189,11 +4240,10 @@ export interface paths { 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 Load Balancer Frontend HTTP Rate Of Response Code Metrics + * @description To retrieve frontend HTTP rate of response code for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_http_responses`. */ - get: operations["regions_list"]; + get: operations["monitoring_get_lb_frontend_http_responses"]; put?: never; post?: never; delete?: never; @@ -4202,7 +4252,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/registry": { + "/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second": { parameters: { query?: never; header?: never; @@ -4210,32 +4260,19 @@ export interface paths { cookie?: never; }; /** - * Get Container Registry Information - * @description To get information about your container registry, send a GET request to `/v2/registry`. + * Get Load Balancer Frontend HTTP Requests Metrics + * @description To retrieve frontend HTTP requests per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second`. */ - get: operations["registry_get"]; + get: operations["monitoring_get_lb_frontend_http_requests_per_second"]; 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"]; + post?: never; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/registry/subscription": { + "/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http": { parameters: { query?: never; header?: never; @@ -4243,23 +4280,19 @@ export interface paths { 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 Load Balancer Frontend HTTP Throughput Metrics + * @description To retrieve frontend HTTP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http`. */ - get: operations["registry_get_subscription"]; + get: operations["monitoring_get_lb_frontend_network_throughput_http"]; 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"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/registry/docker-credentials": { + "/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp": { parameters: { query?: never; header?: never; @@ -4267,32 +4300,10 @@ export interface paths { 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 Load Balancer Frontend UDP Throughput Metrics + * @description To retrieve frontend UDP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp`. */ - get: operations["registry_get_dockerCredentials"]; + get: operations["monitoring_get_lb_frontend_network_throughput_udp"]; put?: never; post?: never; delete?: never; @@ -4301,33 +4312,27 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/registry/validate-name": { + "/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp": { 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. - * + * Get Load Balancer Frontend TCP Throughput Metrics + * @description To retrieve frontend TCP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp`. */ - post: operations["registry_validate_name"]; + get: operations["monitoring_get_lb_frontend_network_throughput_tcp"]; + put?: never; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/repositories": { + "/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput": { parameters: { query?: never; header?: never; @@ -4335,15 +4340,10 @@ export interface paths { 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 Network Load Balancer Frontend TCP Throughput Metrics + * @description To retrieve frontend TCP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput`. */ - get: operations["registry_list_repositories"]; + get: operations["monitoring_get_lb_frontend_nlb_tcp_network_throughput"]; put?: never; post?: never; delete?: never; @@ -4352,7 +4352,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/repositoriesV2": { + "/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput": { parameters: { query?: never; header?: never; @@ -4360,10 +4360,10 @@ export interface paths { 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 Network Load Balancer Frontend UDP Throughput Metrics + * @description To retrieve frontend UDP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput`. */ - get: operations["registry_list_repositoriesV2"]; + get: operations["monitoring_get_lb_frontend_nlb_udp_network_throughput"]; put?: never; post?: never; delete?: never; @@ -4372,7 +4372,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/repositories/{repository_name}/tags": { + "/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current": { parameters: { query?: never; header?: never; @@ -4380,17 +4380,10 @@ export interface paths { 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 Load Balancer Frontend Current TLS Connections Rate Metrics + * @description To retrieve frontend current TLS connections rate for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current`. */ - get: operations["registry_list_repositoryTags"]; + get: operations["monitoring_get_lb_frontend_tls_connections_current"]; put?: never; post?: never; delete?: never; @@ -4399,37 +4392,27 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}": { + "/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit": { 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. - * + * Get Load Balancer Frontend Max TLS Connections Limit Metrics + * @description To retrieve frontend max TLS connections limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit`. */ - delete: operations["registry_delete_repositoryTag"]; + get: operations["monitoring_get_lb_frontend_tls_connections_limit"]; + put?: never; + post?: never; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/repositories/{repository_name}/digests": { + "/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit": { parameters: { query?: never; header?: never; @@ -4437,17 +4420,10 @@ export interface paths { 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 Load Balancer Frontend Closed TLS Connections For Exceeded Rate Limit Metrics + * @description To retrieve frontend closed TLS connections for exceeded rate limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit`. */ - get: operations["registry_list_repositoryManifests"]; + get: operations["monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit"]; put?: never; post?: never; delete?: never; @@ -4456,37 +4432,27 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}": { + "/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg": { 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. - * + * Get Load Balancer Droplets Average HTTP Session Duration Metrics + * @description To retrieve Droplets average HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg`. */ - delete: operations["registry_delete_repositoryManifest"]; + get: operations["monitoring_get_lb_droplets_http_session_duration_avg"]; + put?: never; + post?: never; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/garbage-collection": { + "/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p": { parameters: { query?: never; header?: never; @@ -4494,44 +4460,19 @@ export interface paths { 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 Load Balancer Droplets 50th Percentile HTTP Session Duration Metrics + * @description To retrieve Droplets 50th percentile HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p`. */ - get: operations["registry_get_garbageCollection"]; + get: operations["monitoring_get_lb_droplets_http_session_duration_50p"]; 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"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/garbage-collections": { + "/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p": { parameters: { query?: never; header?: never; @@ -4539,10 +4480,10 @@ export interface paths { 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 Load Balancer Droplets 95th Percentile HTTP Session Duration Metrics + * @description To retrieve Droplets 95th percentile HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p`. */ - get: operations["registry_list_garbageCollections"]; + get: operations["monitoring_get_lb_droplets_http_session_duration_95p"]; put?: never; post?: never; delete?: never; @@ -4551,19 +4492,19 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}": { + "/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg": { 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. + * Get Load Balancer Droplets Average HTTP Response Time Metrics + * @description To retrieve Droplets average HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg`. */ - put: operations["registry_update_garbageCollection"]; + get: operations["monitoring_get_lb_droplets_http_response_time_avg"]; + put?: never; post?: never; delete?: never; options?: never; @@ -4571,7 +4512,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/registry/options": { + "/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p": { parameters: { query?: never; header?: never; @@ -4579,13 +4520,10 @@ export interface paths { 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 Load Balancer Droplets 50th Percentile HTTP Response Time Metrics + * @description To retrieve Droplets 50th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p`. */ - get: operations["registry_get_options"]; + get: operations["monitoring_get_lb_droplets_http_response_time_50p"]; put?: never; post?: never; delete?: never; @@ -4594,7 +4532,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/reports/droplet_neighbors_ids": { + "/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p": { parameters: { query?: never; header?: never; @@ -4602,18 +4540,10 @@ export interface paths { 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 Load Balancer Droplets 95th Percentile HTTP Response Time Metrics + * @description To retrieve Droplets 95th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p`. */ - get: operations["droplets_list_neighborsIds"]; + get: operations["monitoring_get_lb_droplets_http_response_time_95p"]; put?: never; post?: never; delete?: never; @@ -4622,7 +4552,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/reserved_ips": { + "/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p": { parameters: { query?: never; header?: never; @@ -4630,30 +4560,19 @@ export interface paths { 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 Load Balancer Droplets 99th Percentile HTTP Response Time Metrics + * @description To retrieve Droplets 99th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p`. */ - get: operations["reservedIPs_list"]; + get: operations["monitoring_get_lb_droplets_http_response_time_99p"]; 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"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/reserved_ips/{reserved_ip}": { + "/v2/monitoring/metrics/load_balancer/droplets_queue_size": { parameters: { query?: never; header?: never; @@ -4661,28 +4580,19 @@ export interface paths { 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 Load Balancer Droplets Queue Size Metrics + * @description To retrieve Droplets queue size for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_queue_size`. */ - get: operations["reservedIPs_get"]; + get: operations["monitoring_get_lb_droplets_queue_size"]; 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"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/reserved_ips/{reserved_ip}/actions": { + "/v2/monitoring/metrics/load_balancer/droplets_http_responses": { parameters: { query?: never; header?: never; @@ -4690,31 +4600,19 @@ export interface paths { 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 Load Balancer Droplets HTTP Rate Of Response Code Metrics + * @description To retrieve Droplets HTTP rate of response code for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_responses`. */ - get: operations["reservedIPsActions_list"]; + get: operations["monitoring_get_lb_droplets_http_responses"]; 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"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/reserved_ips/{reserved_ip}/actions/{action_id}": { + "/v2/monitoring/metrics/load_balancer/droplets_connections": { parameters: { query?: never; header?: never; @@ -4722,10 +4620,10 @@ export interface paths { 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 Load Balancer Droplets Active Connections Metrics + * @description To retrieve Droplets active connections for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_connections`. */ - get: operations["reservedIPsActions_get"]; + get: operations["monitoring_get_lb_droplets_connections"]; put?: never; post?: never; delete?: never; @@ -4734,7 +4632,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/sizes": { + "/v2/monitoring/metrics/load_balancer/droplets_health_checks": { parameters: { query?: never; header?: never; @@ -4742,11 +4640,10 @@ export interface paths { 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 Load Balancer Droplets Health Check Status Metrics + * @description To retrieve Droplets health check status for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_health_checks`. */ - get: operations["sizes_list"]; + get: operations["monitoring_get_lb_droplets_health_checks"]; put?: never; post?: never; delete?: never; @@ -4755,7 +4652,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/snapshots": { + "/v2/monitoring/metrics/load_balancer/droplets_downtime": { parameters: { query?: never; header?: never; @@ -4763,30 +4660,10 @@ export interface paths { 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 Load Balancer Droplets Downtime Status Metrics + * @description To retrieve Droplets downtime status for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_downtime`. */ - get: operations["snapshots_list"]; + get: operations["monitoring_get_lb_droplets_downtime"]; put?: never; post?: never; delete?: never; @@ -4795,7 +4672,7 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/snapshots/{snapshot_id}": { + "/v2/projects": { parameters: { query?: never; header?: never; @@ -4803,34 +4680,23 @@ export interface paths { 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. - * + * List All Projects + * @description To list all your projects, send a GET request to `/v2/projects`. */ - get: operations["snapshots_get"]; + get: operations["projects_list"]; 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. - * + * Create a Project + * @description To create a project, send a POST request to `/v2/projects`. */ - delete: operations["snapshots_delete"]; + post: operations["projects_create"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/tags": { + "/v2/projects/default": { parameters: { query?: never; header?: never; @@ -4838,23 +4704,27 @@ export interface paths { cookie?: never; }; /** - * List All Tags - * @description To list all of your tags, you can send a GET request to `/v2/tags`. + * Retrieve the Default Project + * @description To get your default project, send a GET request to `/v2/projects/default`. */ - get: operations["tags_list"]; - put?: never; + get: operations["projects_get_default"]; /** - * Create a New Tag - * @description To create a tag you can send a POST request to `/v2/tags` with a `name` attribute. + * 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. */ - post: operations["tags_create"]; + put: operations["projects_update_default"]; + post?: never; delete?: never; options?: never; head?: never; - patch?: 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/tags/{tag_id}": { + "/v2/projects/{project_id}": { parameters: { query?: never; header?: never; @@ -4862,49 +4732,61 @@ export interface paths { cookie?: never; }; /** - * Retrieve a Tag - * @description To retrieve an individual tag, you can send a `GET` request to `/v2/tags/$TAG_NAME`. + * Retrieve an Existing Project + * @description To get a project, send a GET request to `/v2/projects/$PROJECT_ID`. */ - get: operations["tags_get"]; - put?: never; + 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 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 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["tags_delete"]; + delete: operations["projects_delete"]; options?: never; head?: never; - patch?: 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/tags/{tag_id}/resources": { + "/v2/projects/{project_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. + * List Project Resources + * @description To list all your resources in a project, send a GET request to `/v2/projects/$PROJECT_ID/resources`. */ - post: operations["tags_assign_resources"]; + get: operations["projects_list_resources"]; + put?: never; /** - * 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. + * Assign Resources to a Project + * @description To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`. */ - delete: operations["tags_unassign_resources"]; + post: operations["projects_assign_resources"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/volumes": { + "/v2/projects/default/resources": { parameters: { query?: never; header?: never; @@ -4912,89 +4794,44 @@ export interface paths { 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`. - * - * - * + * 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["volumes_list"]; + get: operations["projects_list_resources_default"]; 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. - * - * + * Assign Resources to Default Project + * @description To assign resources to your default project, send a POST request to `/v2/projects/default/resources`. */ - delete: operations["volumes_delete_byName"]; + post: operations["projects_assign_resources_default"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/volumes/actions": { + "/v2/regions": { 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 | - * + * 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. */ - post: operations["volumeActions_post"]; + get: operations["regions_list"]; + put?: never; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/volumes/snapshots/{snapshot_id}": { + "/v2/registry": { parameters: { query?: never; header?: never; @@ -5002,30 +4839,32 @@ export interface paths { 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/$VOLUME_SNAPSHOT_ID`. - * - * + * Get Container Registry Information + * @description To get information about your container registry, send a GET request to `/v2/registry`. */ - get: operations["volumeSnapshots_get_byId"]; + get: operations["registry_get"]; put?: never; - post?: never; /** - * Delete a Volume Snapshot - * @description To delete a volume snapshot, send a DELETE request to - * `/v2/volumes/snapshots/$VOLUME_SNAPSHOT_ID`. + * Create Container Registry + * @description To create your container registry, send a POST request to `/v2/registry`. * - * A status of 204 will be given. This indicates that the request was processed - * successfully, but that no response body is needed. + * 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`. * */ - delete: operations["volumeSnapshots_delete_byId"]; + 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/volumes/{volume_id}": { + "/v2/registry/subscription": { parameters: { query?: never; header?: never; @@ -5033,28 +4872,23 @@ export interface paths { 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 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["volumes_get"]; + get: operations["registry_get_subscription"]; 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. - * - * + * 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`. */ - delete: operations["volumes_delete"]; + post: operations["registry_update_subscription"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/volumes/{volume_id}/actions": { + "/v2/registry/docker-credentials": { parameters: { query?: never; header?: never; @@ -5062,83 +4896,67 @@ export interface paths { 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 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`. * - */ - 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. + * 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: * - * ## Attach a Block Storage Volume to a Droplet + * kubectl create secret generic docr \ + * --from-file=.dockerconfigjson=config.json \ + * --type=kubernetes.io/dockerconfigjson * - * | 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 | + * 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` * - * 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. + * 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. * */ - post: operations["volumeActions_post_byId"]; + get: operations["registry_get_dockerCredentials"]; + put?: never; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/volumes/{volume_id}/actions/{action_id}": { + "/v2/registry/validate-name": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + get?: never; + put?: 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`. + * 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. * */ - get: operations["volumeActions_get"]; - put?: never; - post?: never; + post: operations["registry_validate_name"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/volumes/{volume_id}/snapshots": { + "/v2/registry/{registry_name}/repositories": { parameters: { query?: never; header?: never; @@ -5146,25 +4964,24 @@ export interface paths { 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`. + * 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["volumeSnapshots_list"]; + get: operations["registry_list_repositories"]; 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"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/vpcs": { + "/v2/registry/{registry_name}/repositoriesV2": { parameters: { query?: never; header?: never; @@ -5172,71 +4989,76 @@ export interface paths { cookie?: never; }; /** - * List All VPCs - * @description To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. + * 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["vpcs_list"]; + 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; + }; /** - * 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. + * 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:** 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. + * 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`. * */ - post: operations["vpcs_create"]; + get: operations["registry_list_repositoryTags"]; + put?: never; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/vpcs/{vpc_id}": { + "/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}": { 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"]; + get?: never; + put?: never; 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. + * 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`. * - * 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. + * 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["vpcs_delete"]; + delete: operations["registry_delete_repositoryTag"]; 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"]; + patch?: never; trace?: never; }; - "/v2/vpcs/{vpc_id}/members": { + "/v2/registry/{registry_name}/repositories/{repository_name}/digests": { parameters: { query?: never; header?: never; @@ -5244,16 +5066,17 @@ export interface paths { 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`. + * 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`. * - * 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`. + * 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["vpcs_list_members"]; + get: operations["registry_list_repositoryManifests"]; put?: never; post?: never; delete?: never; @@ -5262,33 +5085,37 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/uptime/checks": { + "/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}": { 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"]; + get?: never; put?: never; + post?: 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. + * 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. * */ - post: operations["uptime_create_check"]; - delete?: never; + delete: operations["registry_delete_repositoryManifest"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/uptime/checks/{check_id}": { + "/v2/registry/{registry_name}/garbage-collection": { parameters: { query?: never; header?: never; @@ -5296,33 +5123,44 @@ export interface paths { 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`. - * + * 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`. */ - put: operations["uptime_update_check"]; - post?: never; + get: operations["registry_get_garbageCollection"]; + put?: 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. + * 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. * - * Deleting a check will also delete alerts associated with the check. + * * 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. * */ - delete: operations["uptime_delete_check"]; + post: operations["registry_run_garbageCollection"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/uptime/checks/{check_id}/state": { + "/v2/registry/{registry_name}/garbage-collections": { parameters: { query?: never; header?: never; @@ -5330,10 +5168,10 @@ export interface paths { 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`. + * 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["uptime_get_checkState"]; + get: operations["registry_list_garbageCollections"]; put?: never; post?: never; delete?: never; @@ -5342,33 +5180,27 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/uptime/checks/{check_id}/alerts": { + "/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + get?: 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. - * + * 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. */ - post: operations["uptime_create_alert"]; - delete?: never; + put: operations["registry_update_garbageCollection"]; + post?: never; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/v2/uptime/checks/{check_id}/alerts/{alert_id}": { + "/v2/registry/options": { parameters: { query?: never; header?: never; @@ -5376,183 +5208,980 @@ export interface paths { 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`. + * 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["uptime_get_alert"]; + 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; + }; /** - * 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`. + * 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. * */ - put: operations["uptime_update_alert"]; + 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; + }; /** - * 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. + * 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. */ - delete: operations["uptime_delete_alert"]; + post: operations["reservedIPs_create"]; + delete?: never; 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; - }; + "/v2/reserved_ips/{reserved_ip}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. - * @example 512189 + * Retrieve an Existing Reserved IP + * @description To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. */ - ssh_key_id: number; + get: operations["reservedIPs_get"]; + put?: never; + post?: never; /** - * @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 + * 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. + * */ - ssh_key_fingerprint: string; + 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; + }; /** - * @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 + * 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`. */ - 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. + 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 fifteen + * 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/$VOLUME_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/volumes/snapshots/$VOLUME_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 fifteen + * 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; @@ -6094,7 +6723,8 @@ export interface components { * @example node-js */ environment_slug?: string; - log_destinations?: components["schemas"]["app_log_destination_definition"]; + /** @description A list of configured log forwarding destinations. */ + log_destinations?: components["schemas"]["app_log_destination_definition"][]; }; app_component_instance_base: { /** @@ -6424,7 +7054,8 @@ export interface components { 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"]; + /** @description A list of configured log forwarding destinations. */ + log_destinations?: components["schemas"]["app_log_destination_definition"][]; }; app_database_spec: { /** @@ -6856,6 +7487,12 @@ export interface components { }; apps_update_app_request: { spec: components["schemas"]["app_spec"]; + /** + * @description Whether or not to update the source versions (for example fetching a new commit or image digest) of all components. By default (when this is false) only newly added sources will be updated to avoid changes like updating the scale of a component from also updating the respective code. + * @default false + * @example true + */ + update_all_source_versions: boolean; }; apps_delete_app_response: { /** @@ -6887,42 +7524,6 @@ export interface components { 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 @@ -7889,7 +8490,7 @@ export interface components { opensearch_connection: { /** * @description This is provided as a convenience and should be able to be constructed by the other attributes. - * @example opensearch://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + * @example https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 */ readonly uri?: string; /** @@ -7976,6 +8577,20 @@ export interface components { * @example true */ pg_allow_replication?: boolean; + /** @description ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. */ + opensearch_acl?: { + /** + * @description A regex for matching the indexes that this ACL should apply to. + * @example index-abc.* + */ + index?: string; + /** + * @description Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + * @example read + * @enum {string} + */ + permission?: "deny" | "admin" | "read" | "readwrite" | "write"; + }[]; /** @description ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. */ acl?: { /** @@ -9961,6 +10576,48 @@ export interface components { database_metrics_credentials: { credentials?: components["schemas"]["databases_basic_auth_credentials"]; }; + opensearch_index_base: { + /** + * @description The name of the opensearch index. + * @example events + */ + index_name?: string; + /** + * @description The number of shards for the index. + * @example 2 + */ + number_of_shards?: number; + /** + * @description The number of replicas for the index. + * @example 3 + */ + number_of_replicas?: number; + /** + * @description The size of the index. + * @example 208 + */ + size?: number; + /** + * Format: date-time + * @description The date and time the index was created. + * @example 2021-01-01T00:00:00Z + */ + created_time?: string; + }; + opensearch_index: components["schemas"]["opensearch_index_base"] & { + /** + * @description The status of the OpenSearch index. + * @example open + * @enum {string} + */ + status?: "unknown" | "open" | "close" | "none"; + /** + * @description The health of the OpenSearch index. + * @example green + * @enum {string} + */ + health?: "unknown" | "green" | "yellow" | "red" | "red*"; + }; 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. @@ -10078,6 +10735,20 @@ export interface components { */ version?: string; } | null; + droplet_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 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 @@ -10361,21 +11032,7 @@ export interface components { * ] */ 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; + next_backup_window: components["schemas"]["droplet_next_backup_window"] & unknown; /** * @description An array of snapshot IDs of any snapshots created from the Droplet instance. * @example [ @@ -10417,6 +11074,36 @@ export interface components { */ vpc_uuid?: string; }; + droplet_backup_policy: { + /** + * @description The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + * @example daily + * @enum {string} + */ + plan?: "daily" | "weekly"; + /** + * @description The day of the week on which the backup will occur. + * @example SUN + * @enum {string} + */ + weekday?: "SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT"; + /** + * @description The hour of the day that the backup window will start. + * @example 0 + * @enum {integer} + */ + hour?: 0 | 4 | 8 | 12 | 16 | 20; + /** + * @description The length of the backup window starting from `hour`. + * @example 4 + */ + readonly window_length_hours?: number; + /** + * @description The number of days the backup will be retained. + * @example 7 + */ + readonly retention_period_days?: number; + }; 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. @@ -10448,6 +11135,7 @@ export interface components { * @example true */ backups: boolean; + backup_policy?: components["schemas"]["droplet_backup_policy"] & unknown; /** * @description A boolean indicating whether to enable IPv6 on the Droplet. * @default false @@ -10587,6 +11275,64 @@ export interface components { */ type: "snapshot" | "backup"; }; + droplet_backup_policy_record: { + /** + * @description The unique identifier for the Droplet. + * @example 7101383 + */ + droplet_id?: number; + /** + * @description A boolean value indicating whether backups are enabled for the Droplet. + * @example true + */ + backup_enabled?: boolean; + backup_policy?: components["schemas"]["droplet_backup_policy"] & unknown; + next_backup_window?: components["schemas"]["droplet_next_backup_window"] & unknown; + }; + supported_droplet_backup_policy: { + /** + * @description The name of the Droplet backup plan. + * @example daily + */ + name?: string; + /** + * @description An array of integers representing the hours of the day that a backup can + * start. + * + * @example [ + * 0, + * 4, + * 8, + * 12, + * 16, + * 20 + * ] + */ + possible_window_starts?: number[]; + /** + * @description The number of hours that a backup window is open. + * @example 4 + */ + window_length_hours?: number; + /** + * @description The number of days that a backup will be kept. + * @example 7 + */ + retention_period_days?: number; + /** + * @description The day of the week the backup will occur. + * @example [ + * "SUN", + * "MON", + * "TUE", + * "WED", + * "THU", + * "FRI", + * "SAT" + * ] + */ + possible_days?: string[]; + }; /** @description Specifies the action that will be taken on the Droplet. */ droplet_action: { /** @@ -10595,6 +11341,27 @@ export interface components { */ type: "enable_backups" | "disable_backups" | "power_cycle" | "shutdown" | "power_off" | "power_on" | "enable_ipv6"; }; + /** @example { + * "type": "enable_backups", + * "backup_policy": { + * "plan": "daily", + * "hour": 20 + * } + * } */ + droplet_action_enable_backups: components["schemas"]["droplet_action"] & { + backup_policy?: components["schemas"]["droplet_backup_policy"] & unknown; + }; + /** @example { + * "type": "enable_backups", + * "backup_policy": { + * "plan": "weekly", + * "day": "SUN", + * "hour": 20 + * } + * } */ + droplet_action_change_backup_policy: components["schemas"]["droplet_action"] & { + backup_policy: components["schemas"]["droplet_backup_policy"] & unknown; + }; droplet_action_restore: components["schemas"]["droplet_action"] & { /** * @description The ID of a backup of the current Droplet instance to restore from. @@ -12070,7 +12837,7 @@ export interface components { }; metrics_result: { /** - * @description An object containing the metric labels. + * @description An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. * @example { * "host_id": "19201920" * } @@ -12078,7 +12845,9 @@ export interface components { metric: { [key: string]: string; }; - /** @example [ + /** + * @description An array of values for the metric. + * @example [ * [ * 1435781430, * "1" @@ -12087,7 +12856,8 @@ export interface components { * 1435781445, * "1" * ] - * ] */ + * ] + */ values: (number | string)[][]; }; metrics_data: { @@ -13409,30 +14179,6 @@ export interface components { "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: { @@ -14031,7 +14777,9 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["logsink_verbose"]; + "application/json": { + sink?: components["schemas"]["logsink_verbose"]; + }; }; }; /** @description A JSON object with a key of `credentials`. */ @@ -14048,6 +14796,20 @@ export interface components { }; }; }; + /** @description A JSON object with a key of `indexes`. */ + opensearch_indexes: { + 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": { + indexes?: components["schemas"]["opensearch_index"][]; + }; + }; + }; /** @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: { @@ -14210,6 +14972,55 @@ export interface components { } & components["schemas"]["pagination"] & components["schemas"]["meta"]; }; }; + /** @description The response will be a JSON object with a key called `policy`. This will be + * set to a JSON object that contains the standard Droplet backup policy attributes. + * */ + droplet_backup_policy: { + 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"]["droplet_backup_policy_record"]; + }; + }; + }; + /** @description A JSON object with a `policies` key set to a map. The keys are Droplet IDs and the values are objects containing the backup policy information for each Droplet. */ + all_droplet_backup_policies: { + 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 map where the keys are the Droplet IDs and the values are + * objects containing the backup policy information for each Droplet. + * */ + policies?: { + [key: string]: components["schemas"]["droplet_backup_policy_record"]; + }; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description A JSON object with an `supported_policies` key set to an array of objects describing each supported backup policy. */ + droplets_supported_backup_policies: { + 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": { + supported_policies?: components["schemas"]["supported_droplet_backup_policy"][]; + }; + }; + }; /** @description A JSON object with an `snapshots` key. */ all_droplet_snapshots: { headers: { @@ -15869,11 +16680,6 @@ export interface components { * @example 3aa4d20e-5527-4c00-b496-601fbd22520a */ deployment_id: string; - /** - * @description The slug of the tier - * @example basic - */ - slug_tier: string; /** * @description The slug of the instance size * @example apps-s-1vcpu-0.5gb @@ -15949,6 +16755,11 @@ export interface components { * @example 50484ec3-19d6-4cd3-b56f-3b0381c289a6 */ logsink_id: string; + /** + * @description The name of the OpenSearch index. + * @example logs-* + */ + opensearch_index_name: string; /** * @description The name of the domain itself. * @example example.com @@ -16114,6 +16925,11 @@ export interface components { * @example sample-application */ app_component: string; + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + parameters_load_balancer_id: string; /** * @description A unique identifier for a project. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 @@ -16225,164 +17041,574 @@ export interface components { */ parameters_alert_id: string; }; - requestBodies: never; - headers: { - /** - * @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 - */ - "x-request-id": string; + requestBodies: never; + headers: { + /** + * @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 + */ + "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"]; + }; + }; + 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"]; + }; + }; + 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"]; + }; + }; + 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"]; + }; + }; + 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"]; + }; + }; + 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"]; + }; + }; + 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"]; + }; + }; + 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"]; + }; }; - pathItems: never; -} -export type $defs = Record; -export interface operations { - oneClicks_list: { + actions_list: { parameters: { query?: { /** - * @description Restrict results to a certain type of 1-Click. - * @example kubernetes + * @description Number of items returned per page + * @example 2 */ - type?: components["parameters"]["oneClicks_type"]; + 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"]; + }; + }; + 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"]; + }; + }; + 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; + 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"]; + }; + }; + 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": "apps-s-1vcpu-0.5gb", + * "routes": [ + * { + * "path": "/api" + * } + * ] + * } + * ], + * "egress": { + * "type": "DEDICATED_IP" + * } + * } + * } */ + "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"]; + }; + }; + 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"]; + }; + }; + 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"]["oneClicks_all"]; + 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"]; }; }; - oneClicks_install_kubernetes: { + apps_delete: { parameters: { query?: never; header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["oneClicks_create"]; + 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"]["oneClicks_create"]; + 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"]; }; }; - account_get: { + apps_get_logs_active_deployment: { parameters: { - query?: never; + 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 + * - RUN_RESTARTED: Logs of crashed/restarted instances during runtime + * @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?: 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"]["account"]; + 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"]; }; }; - sshKeys_list: { + 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 Which 'page' of paginated results to return. - * @example 1 + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf */ - page?: components["parameters"]["page"]; + app_id: components["parameters"]["app_id"]; }; - header?: never; - path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["sshKeys_all"]; + 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"]; }; }; - sshKeys_create: { + apps_create_deployment: { parameters: { query?: never; header?: never; - path?: 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"]["sshKeys"]; + "application/json": components["schemas"]["apps_create_deployment_request"]; }; }; responses: { - 201: components["responses"]["sshKeys_new"]; + 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"]; }; }; - sshKeys_get: { + apps_get_deployment: { parameters: { query?: never; header?: never; path: { /** - * @description Either the ID or the fingerprint of an existing SSH key. - * @example 512189 + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf */ - ssh_key_identifier: components["parameters"]["ssh_key_identifier"]; + 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"]["sshKeys_existing"]; + 200: components["responses"]["list_deployment"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16390,29 +17616,80 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - sshKeys_update: { + apps_cancel_deployment: { parameters: { query?: never; header?: never; path: { /** - * @description Either the ID or the fingerprint of an existing SSH key. - * @example 512189 + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf */ - ssh_key_identifier: components["parameters"]["ssh_key_identifier"]; + app_id: components["parameters"]["app_id"]; + /** + * @description The deployment ID + * @example 3aa4d20e-5527-4c00-b496-601fbd22520a + */ + deployment_id: components["parameters"]["deployment_id"]; }; 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"]; - }; + 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"]; + }; + }; + 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 + * - RUN_RESTARTED: Logs of crashed/restarted instances during runtime + * @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"]["sshKeys_existing"]; + 200: components["responses"]["list_logs"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16420,22 +17697,90 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - sshKeys_delete: { + apps_get_logs_aggregate: { parameters: { - query?: never; + 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 + * - RUN_RESTARTED: Logs of crashed/restarted instances during runtime + * @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"]; + }; + }; + 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 + * - RUN_RESTARTED: Logs of crashed/restarted instances during runtime + * @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 Either the ID or the fingerprint of an existing SSH key. - * @example 512189 + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf */ - ssh_key_identifier: components["parameters"]["ssh_key_identifier"]; + app_id: components["parameters"]["app_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["list_logs"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16443,49 +17788,38 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - actions_list: { + apps_list_instanceSizes: { 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"]; - }; + query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["actions"]; + 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"]; }; }; - actions_get: { + apps_get_instanceSize: { parameters: { query?: never; header?: never; path: { /** - * @description A unique numeric ID that can be used to identify and reference an action. - * @example 36804636 + * @description The slug of the instance size + * @example apps-s-1vcpu-0.5gb */ - action_id: components["parameters"]["action_id"]; + slug: components["parameters"]["slug_size"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["action"]; + 200: components["responses"]["get_instance"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16493,53 +17827,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_list: { + apps_list_regions: { 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"]; - }; + query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_apps"]; + 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"]; }; }; - apps_create: { + apps_validate_appSpec: { 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"]; - }; + header?: never; path?: never; cookie?: never; }; @@ -16567,45 +17874,69 @@ export interface operations { * } * ] * } - * ], - * "egress": { - * "type": "DEDICATED_IP" - * } - * } + * ] + * }, + * "app_id": "b6bdf840-2854-4f87-a36c-5f231c617c84" * } */ - "application/json": components["schemas"]["apps_create_app_request"]; + "application/json": components["schemas"]["app_propose"]; }; }; responses: { - 200: components["responses"]["new_app"]; + 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"]; }; }; - apps_get: { + apps_list_alerts: { parameters: { - query?: { + query?: never; + header?: never; + path: { /** - * @description The name of the app to retrieve. - * @example myApp + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf */ - name?: components["parameters"]["app_name"]; + 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"]; + }; + }; + apps_assign_alertDestinations: { + parameters: { + query?: never; header?: never; path: { /** - * @description The ID of the app + * @description The app ID * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf */ - id: components["parameters"]["id_app"]; + 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?: never; + requestBody: { + content: { + "application/json": components["schemas"]["apps_assign_app_alert_destinations_request"]; + }; + }; responses: { - 200: components["responses"]["apps_get"]; + 200: components["responses"]["assign_alert_destinations"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16613,26 +17944,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_update: { + apps_create_rollback: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the app + * @description The app ID * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf */ - id: components["parameters"]["id_app"]; + app_id: components["parameters"]["app_id"]; }; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["apps_update_app_request"]; + "application/json": components["schemas"]["apps_rollback_app_request"]; }; }; responses: { - 200: components["responses"]["update_app"]; + 200: components["responses"]["new_app_deployment"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16640,22 +17971,129 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_delete: { + apps_validate_rollback: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the app + * @description The app ID * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf */ - id: components["parameters"]["id_app"]; + 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"]; + }; + }; + 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"]["delete_app"]; + 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"]; + }; + }; + 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"]; + }; + }; + 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"]; + }; + }; + 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"]; @@ -16663,81 +18101,69 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_get_logs_active_deployment: { + cdn_list_endpoints: { parameters: { - query: { - /** - * @description Whether the logs should follow live updates. - * @example true - */ - follow?: components["parameters"]["live_updates"]; + query?: { /** - * @description The type of logs to retrieve - * - BUILD: Build-time logs - * - DEPLOY: Deploy-time logs - * - RUN: Live run-time logs - * - RUN_RESTARTED: Logs of crashed/restarted instances during runtime - * @example BUILD + * @description Number of items returned per page + * @example 2 */ - type: components["parameters"]["log_type"]; + per_page?: components["parameters"]["per_page"]; /** - * @description An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`. - * @example 3m + * @description Which 'page' of paginated results to return. + * @example 1 */ - pod_connection_timeout?: components["parameters"]["time_wait"]; + page?: components["parameters"]["page"]; }; 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"]; - }; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_logs"]; + 200: components["responses"]["all_cdn_endpoints"]; 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"]; }; }; - apps_list_deployments: { + cdn_create_endpoint: { 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"]; + 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"]; + }; + }; + cdn_get_endpoint: { + parameters: { + query?: never; header?: never; path: { /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 */ - app_id: components["parameters"]["app_id"]; + cdn_id: components["parameters"]["cdn_endpoint_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["existing_deployments"]; + 200: components["responses"]["existing_endpoint"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16745,26 +18171,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_create_deployment: { + cdn_update_endpoints: { parameters: { query?: never; header?: never; path: { /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 */ - app_id: components["parameters"]["app_id"]; + cdn_id: components["parameters"]["cdn_endpoint_id"]; }; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["apps_create_deployment_request"]; + "application/json": components["schemas"]["update_endpoint"]; }; }; responses: { - 200: components["responses"]["new_app_deployment"]; + 200: components["responses"]["existing_endpoint"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16772,27 +18198,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_get_deployment: { + cdn_delete_endpoint: { 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 + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 */ - deployment_id: components["parameters"]["deployment_id"]; + cdn_id: components["parameters"]["cdn_endpoint_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_deployment"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16800,27 +18221,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_cancel_deployment: { + cdn_purge_cache: { 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 + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 */ - deployment_id: components["parameters"]["deployment_id"]; + cdn_id: components["parameters"]["cdn_endpoint_id"]; }; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": components["schemas"]["purge_cache"]; + }; + }; responses: { - 200: components["responses"]["cancel_deployment"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16828,100 +18248,74 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_get_logs: { + certificates_list: { parameters: { - query: { + query?: { /** - * @description Whether the logs should follow live updates. - * @example true + * @description Number of items returned per page + * @example 2 */ - follow?: components["parameters"]["live_updates"]; + per_page?: components["parameters"]["per_page"]; /** - * @description The type of logs to retrieve - * - BUILD: Build-time logs - * - DEPLOY: Deploy-time logs - * - RUN: Live run-time logs - * - RUN_RESTARTED: Logs of crashed/restarted instances during runtime - * @example BUILD + * @description Which 'page' of paginated results to return. + * @example 1 */ - type: components["parameters"]["log_type"]; + page?: components["parameters"]["page"]; /** - * @description An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`. - * @example 3m + * @description Name of expected certificate + * @example certificate-name */ - pod_connection_timeout?: components["parameters"]["time_wait"]; + name?: components["parameters"]["certificate_name"]; }; 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"]; - }; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_logs"]; + 200: components["responses"]["all_certificates"]; 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"]; }; }; - apps_get_logs_aggregate: { + certificates_create: { 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 - * - RUN_RESTARTED: Logs of crashed/restarted instances during runtime - * @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"]; + 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"]; + }; + }; + certificates_get: { + 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 + * @description A unique identifier for a certificate. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - deployment_id: components["parameters"]["deployment_id"]; + certificate_id: components["parameters"]["certificate_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_logs"]; + 200: components["responses"]["existing_certificate"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16929,42 +18323,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_get_logs_active_deployment_aggregate: { + certificates_delete: { 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 - * - RUN_RESTARTED: Logs of crashed/restarted instances during runtime - * @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"]; - }; + query?: never; header?: never; path: { /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + * @description A unique identifier for a certificate. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - app_id: components["parameters"]["app_id"]; + certificate_id: components["parameters"]["certificate_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_logs"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -16972,7 +18346,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_list_tiers: { + balance_get: { parameters: { query?: never; header?: never; @@ -16981,29 +18355,24 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["all_tiers"]; + 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"]; }; }; - apps_get_tier: { + billingHistory_list: { parameters: { query?: never; header?: never; - path: { - /** - * @description The slug of the tier - * @example basic - */ - slug: components["parameters"]["slug_tier"]; - }; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["get_tier"]; + 200: components["responses"]["billing_history"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17011,38 +18380,49 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_list_instanceSizes: { + invoices_list: { parameters: { - query?: never; + 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_instance"]; + 200: components["responses"]["invoices"]; 401: components["responses"]["unauthorized"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - apps_get_instanceSize: { + invoices_get_byUUID: { parameters: { query?: never; header?: never; path: { /** - * @description The slug of the instance size - * @example apps-s-1vcpu-0.5gb + * @description UUID of the invoice + * @example 22737513-0ea7-4206-8ceb-98a575af7681 */ - slug: components["parameters"]["slug_size"]; + invoice_uuid: components["parameters"]["invoice_uuid"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["get_instance"]; + 200: components["responses"]["invoice"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17050,84 +18430,68 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_list_regions: { + invoices_get_csvByUUID: { parameters: { query?: never; header?: never; - path?: 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"]["list_regions"]; + 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"]; }; }; - apps_validate_appSpec: { + invoices_get_pdfByUUID: { 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": "apps-s-1vcpu-0.5gb", - * "routes": [ - * { - * "path": "/api" - * } - * ] - * } - * ] - * }, - * "app_id": "b6bdf840-2854-4f87-a36c-5f231c617c84" - * } */ - "application/json": components["schemas"]["app_propose"]; + 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"]["propose_app"]; + 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"]; }; }; - apps_list_alerts: { + invoices_get_summaryByUUID: { parameters: { query?: never; header?: never; path: { /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + * @description UUID of the invoice + * @example 22737513-0ea7-4206-8ceb-98a575af7681 */ - app_id: components["parameters"]["app_id"]; + invoice_uuid: components["parameters"]["invoice_uuid"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_alerts"]; + 200: components["responses"]["invoice_summary"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17135,31 +18499,16 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_assign_alertDestinations: { + databases_list_options: { 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"]; - }; + path?: never; cookie?: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["apps_assign_app_alert_destinations_request"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["assign_alert_destinations"]; + 200: components["responses"]["options"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17167,26 +18516,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_create_rollback: { + databases_list_clusters: { parameters: { - query?: never; - header?: never; - path: { + query?: { /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + * @description Limits the results to database clusters with a specific tag. + * @example production */ - app_id: components["parameters"]["app_id"]; + tag_name?: components["parameters"]["tag_name"]; }; + header?: never; + path?: never; cookie?: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["apps_rollback_app_request"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["new_app_deployment"]; + 200: components["responses"]["database_clusters"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17194,26 +18539,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_validate_rollback: { + databases_create_cluster: { parameters: { query?: never; header?: never; - path: { - /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - */ - app_id: components["parameters"]["app_id"]; - }; + path?: never; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["apps_rollback_app_request"]; + "application/json": components["schemas"]["database_cluster"] & { + backup_restore?: components["schemas"]["database_backup"]; + }; }; }; responses: { - 200: components["responses"]["apps_validate_rollback"]; + 201: components["responses"]["database_cluster"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17221,22 +18562,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_commit_rollback: { + databases_get_cluster: { parameters: { query?: never; header?: never; path: { /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - app_id: components["parameters"]["app_id"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["no_content"]; + 200: components["responses"]["database_cluster"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17244,22 +18585,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_revert_rollback: { + databases_destroy_cluster: { parameters: { query?: never; header?: never; path: { /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - app_id: components["parameters"]["app_id"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["new_app_deployment"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17267,28 +18608,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_get_metrics_bandwidth_daily: { + databases_get_config: { 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; - }; + query?: never; header?: never; path: { /** - * @description The app ID - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - app_id: components["parameters"]["app_id"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["get_metrics_bandwidth_usage"]; + 200: components["responses"]["database_config"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17296,27 +18631,32 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - apps_list_metrics_bandwidth_daily: { + databases_patch_config: { parameters: { query?: never; header?: never; - path?: 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 { - * "app_ids": [ - * "4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf", - * "c2a93513-8d9b-4223-9d61-5e7272c81cf5" - * ], - * "date": "2023-01-17T00:00:00Z" + * "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"]["app_metrics_bandwidth_usage_request"]; + "application/json": components["schemas"]["database_config"]; }; }; responses: { - 200: components["responses"]["list_metrics_bandwidth_usage"]; + 200: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17324,69 +18664,86 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - cdn_list_endpoints: { + databases_get_ca: { parameters: { - query?: { - /** - * @description Number of items returned per page - * @example 2 - */ - per_page?: components["parameters"]["per_page"]; + query?: never; + header?: never; + path: { /** - * @description Which 'page' of paginated results to return. - * @example 1 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["all_cdn_endpoints"]; + 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"]; }; }; - cdn_create_endpoint: { + databases_get_migrationStatus: { parameters: { query?: never; header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["cdn_endpoint"]; + 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: { - 201: components["responses"]["existing_endpoint"]; + 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"]; }; }; - cdn_get_endpoint: { + databases_update_onlineMigration: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a CDN endpoint. - * @example 19f06b6a-3ace-4315-b086-499a0e521b76 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - cdn_id: components["parameters"]["cdn_endpoint_id"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; - requestBody?: 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, + * "ignore_dbs": [ + * "db0", + * "db1" + * ] + * } */ + "application/json": components["schemas"]["source_database"]; + }; + }; responses: { - 200: components["responses"]["existing_endpoint"]; + 200: components["responses"]["online_migration"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17394,26 +18751,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - cdn_update_endpoints: { + databases_delete_onlineMigration: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a CDN endpoint. - * @example 19f06b6a-3ace-4315-b086-499a0e521b76 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - cdn_id: components["parameters"]["cdn_endpoint_id"]; + 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: { - content: { - "application/json": components["schemas"]["update_endpoint"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["existing_endpoint"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17421,22 +18779,32 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - cdn_delete_endpoint: { + databases_update_region: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a CDN endpoint. - * @example 19f06b6a-3ace-4315-b086-499a0e521b76 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - cdn_id: components["parameters"]["cdn_endpoint_id"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; - requestBody?: 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: { - 204: components["responses"]["no_content"]; + 202: components["responses"]["accepted"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17444,26 +18812,31 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - cdn_purge_cache: { + databases_update_clusterSize: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a CDN endpoint. - * @example 19f06b6a-3ace-4315-b086-499a0e521b76 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - cdn_id: components["parameters"]["cdn_endpoint_id"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["purge_cache"]; + /** @example { + * "size": "db-s-4vcpu-8gb", + * "num_nodes": 3, + * "storage_size_mib": 163840 + * } */ + "application/json": components["schemas"]["database_cluster_resize"]; }; }; responses: { - 204: components["responses"]["no_content"]; + 202: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17471,74 +18844,102 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - certificates_list: { + databases_list_firewall_rules: { 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"]; + query?: never; + header?: never; + path: { /** - * @description Name of expected certificate - * @example certificate-name + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - name?: components["parameters"]["certificate_name"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; - header?: never; - path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["all_certificates"]; + 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"]; }; }; - certificates_create: { + databases_update_firewall_rules: { parameters: { query?: never; header?: never; - path?: 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"]["certificate_request_lets_encrypt"] | components["schemas"]["certificate_request_custom"]; + /** @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: { - 201: components["responses"]["new_certificate"]; + 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"]; }; }; - certificates_get: { + databases_update_maintenanceWindow: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a certificate. - * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - certificate_id: components["parameters"]["certificate_id"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + /** @example { + * "day": "tuesday", + * "hour": "14:00" + * } */ + "application/json": components["schemas"]["database_maintenance_window"]; + }; + }; responses: { - 200: components["responses"]["existing_certificate"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17546,16 +18947,16 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - certificates_delete: { + databases_install_update: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a certificate. - * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - certificate_id: components["parameters"]["certificate_id"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; @@ -17569,16 +18970,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - balance_get: { + databases_list_backups: { parameters: { query?: never; header?: never; - path?: 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"]["balance"]; + 200: components["responses"]["database_backups"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17586,16 +18993,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - billingHistory_list: { + databases_list_replicas: { parameters: { query?: never; header?: never; - path?: 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"]["billing_history"]; + 200: components["responses"]["database_replicas"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17603,49 +19016,55 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - invoices_list: { + databases_create_replica: { parameters: { - query?: { - /** - * @description Number of items returned per page - * @example 2 - */ - per_page?: components["parameters"]["per_page"]; + query?: never; + header?: never; + path: { /** - * @description Which 'page' of paginated results to return. - * @example 1 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - page?: components["parameters"]["page"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "name": "read-nyc3-01", + * "region": "nyc3", + * "size": "db-s-2vcpu-4gb", + * "storage_size_mib": 61440 + * } */ + "application/json": WithRequired; }; - header?: never; - path?: never; - cookie?: never; }; - requestBody?: never; responses: { - 200: components["responses"]["invoices"]; + 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"]; }; }; - invoices_get_byUUID: { + databases_list_events_logs: { parameters: { query?: never; header?: never; path: { /** - * @description UUID of the invoice - * @example 22737513-0ea7-4206-8ceb-98a575af7681 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - invoice_uuid: components["parameters"]["invoice_uuid"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["invoice"]; + 200: components["responses"]["events_logs"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17653,22 +19072,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - invoices_get_csvByUUID: { + databases_get_replica: { parameters: { query?: never; header?: never; path: { /** - * @description UUID of the invoice - * @example 22737513-0ea7-4206-8ceb-98a575af7681 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - invoice_uuid: components["parameters"]["invoice_uuid"]; + 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"]["invoice_csv"]; + 200: components["responses"]["database_replica"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17676,22 +19100,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - invoices_get_pdfByUUID: { + databases_destroy_replica: { parameters: { query?: never; header?: never; path: { /** - * @description UUID of the invoice - * @example 22737513-0ea7-4206-8ceb-98a575af7681 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - invoice_uuid: components["parameters"]["invoice_uuid"]; + 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"]["invoice_pdf"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17699,22 +19128,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - invoices_get_summaryByUUID: { + databases_promote_replica: { parameters: { query?: never; header?: never; path: { /** - * @description UUID of the invoice - * @example 22737513-0ea7-4206-8ceb-98a575af7681 + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - invoice_uuid: components["parameters"]["invoice_uuid"]; + 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"]["invoice_summary"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17722,39 +19156,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_options: { + databases_list_users: { 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"]; - }; - }; - databases_list_clusters: { - parameters: { - query?: { + path: { /** - * @description Limits the results to database clusters with a specific tag. - * @example production + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - tag_name?: components["parameters"]["tag_name"]; + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; }; - header?: never; - path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["database_clusters"]; + 200: components["responses"]["users"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17762,22 +19179,34 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_create_cluster: { + databases_add_user: { parameters: { query?: never; header?: never; - path?: 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_cluster"] & { - backup_restore?: components["schemas"]["database_backup"]; + "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"]["database_cluster"]; + 201: components["responses"]["user"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17785,7 +19214,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_cluster: { + databases_get_user: { parameters: { query?: never; header?: never; @@ -17795,12 +19224,17 @@ export interface operations { * @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"]["database_cluster"]; + 200: components["responses"]["user"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17808,7 +19242,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_destroy_cluster: { + databases_update_user: { parameters: { query?: never; header?: never; @@ -17818,12 +19252,23 @@ export interface operations { * @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; + requestBody: { + content: { + "application/json": { + settings: components["schemas"]["user_settings"]; + }; + }; + }; responses: { - 204: components["responses"]["no_content"]; + 201: components["responses"]["user"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17831,7 +19276,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_config: { + databases_delete_user: { parameters: { query?: never; header?: never; @@ -17841,12 +19286,17 @@ export interface operations { * @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"]["database_config"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17854,7 +19304,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_patch_config: { + databases_reset_auth: { parameters: { query?: never; header?: never; @@ -17864,45 +19314,28 @@ export interface operations { * @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 { - * "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 + * "mysql_settings": { + * "auth_plugin": "caching_sha2_password" * } * } */ - "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"]; - }; - }; - 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"]; + "application/json": { + mysql_settings?: components["schemas"]["mysql_settings"]; + }; }; - cookie?: never; }; - requestBody?: never; responses: { - 200: components["responses"]["ca"]; + 200: components["responses"]["user"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17910,7 +19343,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_migrationStatus: { + databases_list: { parameters: { query?: never; header?: never; @@ -17925,7 +19358,7 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["online_migration"]; + 200: components["responses"]["databases"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17933,7 +19366,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_onlineMigration: { + databases_add: { parameters: { query?: never; header?: never; @@ -17949,24 +19382,13 @@ export interface operations { 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, - * "ignore_dbs": [ - * "db0", - * "db1" - * ] + * "name": "alpha" * } */ - "application/json": components["schemas"]["source_database"]; + "application/json": components["schemas"]["database"]; }; }; responses: { - 200: components["responses"]["online_migration"]; + 201: components["responses"]["database"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -17974,7 +19396,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_delete_onlineMigration: { + databases_get: { parameters: { query?: never; header?: never; @@ -17985,16 +19407,16 @@ export interface operations { */ database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; /** - * @description A unique identifier assigned to the online migration. - * @example 77b28fc8-19ff-11eb-8c9c-c68e24557488 + * @description The name of the database. + * @example alpha */ - migration_id: components["parameters"]["migration_id"]; + database_name: components["parameters"]["database_name"]; }; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["database"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18002,7 +19424,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_region: { + databases_delete: { parameters: { query?: never; header?: never; @@ -18012,22 +19434,17 @@ export interface operations { * @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: { - content: { - "application/json": { - /** - * @description A slug identifier for the region to which the database cluster will be migrated. - * @example lon1 - */ - region: string; - }; - }; - }; + requestBody?: never; responses: { - 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18035,7 +19452,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_clusterSize: { + databases_list_connectionPools: { parameters: { query?: never; header?: never; @@ -18048,18 +19465,9 @@ export interface operations { }; cookie?: never; }; - requestBody: { - content: { - /** @example { - * "size": "db-s-4vcpu-8gb", - * "num_nodes": 3, - * "storage_size_mib": 163840 - * } */ - "application/json": components["schemas"]["database_cluster_resize"]; - }; - }; + requestBody?: never; responses: { - 202: components["responses"]["no_content"]; + 200: components["responses"]["connection_pools"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18067,7 +19475,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_firewall_rules: { + databases_add_connectionPool: { parameters: { query?: never; header?: never; @@ -18080,9 +19488,20 @@ export interface operations { }; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + /** @example { + * "name": "backend-pool", + * "mode": "transaction", + * "size": 10, + * "db": "defaultdb", + * "user": "doadmin" + * } */ + "application/json": components["schemas"]["connection_pool"]; + }; + }; responses: { - 200: components["responses"]["firewall_rules"]; + 201: components["responses"]["connection_pool"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18090,7 +19509,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_firewall_rules: { + databases_get_connectionPool: { parameters: { query?: never; header?: never; @@ -18100,38 +19519,17 @@ export interface operations { * @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 { - * "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"][]; - }; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["connection_pool"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18139,7 +19537,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_maintenanceWindow: { + databases_update_connectionPool: { parameters: { query?: never; header?: never; @@ -18149,16 +19547,23 @@ export interface operations { * @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 { - * "day": "tuesday", - * "hour": "14:00" + * "mode": "transaction", + * "size": 10, + * "db": "defaultdb", + * "user": "doadmin" * } */ - "application/json": components["schemas"]["database_maintenance_window"]; + "application/json": components["schemas"]["connection_pool_update"]; }; }; responses: { @@ -18170,7 +19575,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_backups: { + databases_delete_connectionPool: { parameters: { query?: never; header?: never; @@ -18180,12 +19585,17 @@ export interface operations { * @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"]["database_backups"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18193,7 +19603,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_replicas: { + databases_get_evictionPolicy: { parameters: { query?: never; header?: never; @@ -18208,7 +19618,7 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["database_replicas"]; + 200: components["responses"]["eviction_policy_response"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18216,7 +19626,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_create_replica: { + databases_update_evictionPolicy: { parameters: { query?: never; header?: never; @@ -18229,19 +19639,18 @@ export interface operations { }; cookie?: never; }; - requestBody?: { + requestBody: { content: { /** @example { - * "name": "read-nyc3-01", - * "region": "nyc3", - * "size": "db-s-2vcpu-4gb", - * "storage_size_mib": 61440 + * "eviction_policy": "allkeys_lru" * } */ - "application/json": WithRequired; + "application/json": { + eviction_policy: components["schemas"]["eviction_policy_model"]; + }; }; }; responses: { - 201: components["responses"]["database_replica"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18249,7 +19658,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_events_logs: { + databases_get_sql_mode: { parameters: { query?: never; header?: never; @@ -18264,7 +19673,7 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["events_logs"]; + 200: components["responses"]["sql_mode"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18272,7 +19681,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_replica: { + databases_update_sql_mode: { parameters: { query?: never; header?: never; @@ -18282,17 +19691,19 @@ export interface operations { * @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; + 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: { - 200: components["responses"]["database_replica"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18300,7 +19711,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_destroy_replica: { + databases_update_major_version: { parameters: { query?: never; header?: never; @@ -18310,15 +19721,17 @@ export interface operations { * @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; + requestBody: { + content: { + /** @example { + * "version": "14" + * } */ + "application/json": components["schemas"]["version-2"]; + }; + }; responses: { 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; @@ -18328,7 +19741,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_promote_replica: { + databases_list_kafka_topics: { parameters: { query?: never; header?: never; @@ -18338,17 +19751,12 @@ export interface operations { * @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"]; + 200: components["responses"]["kafka_topics"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18356,7 +19764,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_users: { + databases_create_kafka_topic: { parameters: { query?: never; header?: never; @@ -18369,9 +19777,22 @@ export interface operations { }; cookie?: never; }; - requestBody?: never; + requestBody?: { + content: { + /** @example { + * "name": "customer-events", + * "partitions": 3, + * "replication": 2, + * "config": { + * "retention_bytes": -1, + * "retention_ms": 100000 + * } + * } */ + "application/json": components["schemas"]["kafka_topic_create"]; + }; + }; responses: { - 200: components["responses"]["users"]; + 201: components["responses"]["kafka_topic"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18379,7 +19800,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_add_user: { + databases_get_kafka_topic: { parameters: { query?: never; header?: never; @@ -18389,24 +19810,17 @@ export interface operations { * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name used to identify the Kafka topic. + * @example customer-events + */ + topic_name: components["parameters"]["kafka_topic_name"]; }; 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; - }; - }; - }; + requestBody?: never; responses: { - 201: components["responses"]["user"]; + 200: components["responses"]["kafka_topic"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18414,7 +19828,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_user: { + databases_update_kafka_topic: { parameters: { query?: never; header?: never; @@ -18425,16 +19839,28 @@ export interface operations { */ database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; /** - * @description The name of the database user. - * @example app-01 + * @description The name used to identify the Kafka topic. + * @example customer-events */ - username: components["parameters"]["username"]; + topic_name: components["parameters"]["kafka_topic_name"]; }; cookie?: never; }; - requestBody?: never; + requestBody?: { + content: { + /** @example { + * "partitions": 3, + * "replication": 2, + * "config": { + * "retention_bytes": -1, + * "retention_ms": 100000 + * } + * } */ + "application/json": components["schemas"]["kafka_topic_update"]; + }; + }; responses: { - 200: components["responses"]["user"]; + 200: components["responses"]["kafka_topic"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18442,7 +19868,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_user: { + databases_delete_kafka_topic: { parameters: { query?: never; header?: never; @@ -18453,22 +19879,16 @@ export interface operations { */ database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; /** - * @description The name of the database user. - * @example app-01 + * @description The name used to identify the Kafka topic. + * @example customer-events */ - username: components["parameters"]["username"]; + topic_name: components["parameters"]["kafka_topic_name"]; }; cookie?: never; }; - requestBody: { - content: { - "application/json": { - settings: components["schemas"]["user_settings"]; - }; - }; - }; + requestBody?: never; responses: { - 201: components["responses"]["user"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18476,7 +19896,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_delete_user: { + databases_list_logsink: { parameters: { query?: never; header?: never; @@ -18486,17 +19906,12 @@ export interface operations { * @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"]; + 201: components["responses"]["logsinks"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18504,7 +19919,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_reset_auth: { + databases_create_logsink: { parameters: { query?: never; header?: never; @@ -18514,28 +19929,16 @@ export interface operations { * @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"]; - }; + content: { + "application/json": components["schemas"]["logsink_create"]; }; }; responses: { - 200: components["responses"]["user"]; + 201: components["responses"]["logsink"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18543,7 +19946,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list: { + databases_get_logsink: { parameters: { query?: never; header?: never; @@ -18553,12 +19956,17 @@ export interface operations { * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description A unique identifier for a logsink of a database cluster + * @example 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + */ + logsink_id: components["parameters"]["logsink_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["databases"]; + 201: components["responses"]["logsink"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18566,7 +19974,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_add: { + databases_update_logsink: { parameters: { query?: never; header?: never; @@ -18576,19 +19984,29 @@ export interface operations { * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description A unique identifier for a logsink of a database cluster + * @example 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + */ + logsink_id: components["parameters"]["logsink_id"]; }; cookie?: never; }; requestBody: { content: { /** @example { - * "name": "alpha" + * "config": { + * "server": "192.168.0.1", + * "port": 514, + * "tls": false, + * "format": "rfc3164" + * } * } */ - "application/json": components["schemas"]["database"]; + "application/json": components["schemas"]["logsink_update"]; }; }; responses: { - 201: components["responses"]["database"]; + 200: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18596,7 +20014,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get: { + databases_delete_logsink: { parameters: { query?: never; header?: never; @@ -18607,16 +20025,16 @@ export interface operations { */ database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; /** - * @description The name of the database. - * @example alpha + * @description A unique identifier for a logsink of a database cluster + * @example 50484ec3-19d6-4cd3-b56f-3b0381c289a6 */ - database_name: components["parameters"]["database_name"]; + logsink_id: components["parameters"]["logsink_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["database"]; + 200: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18624,27 +20042,16 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_delete: { + databases_get_cluster_metrics_credentials: { 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"]; - }; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["database_metrics_auth"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18652,30 +20059,33 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_connectionPools: { + databases_update_cluster_metrics_credentials: { 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"]; - }; + path?: never; cookie?: never; }; - requestBody?: never; + requestBody?: { + content: { + /** @example { + * "credentials": { + * "basic_auth_username": "new_username", + * "basic_auth_password": "new_password" + * } + * } */ + "application/json": components["schemas"]["database_metrics_credentials"]; + }; + }; responses: { - 200: components["responses"]["connection_pools"]; + 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"]; }; }; - databases_add_connectionPool: { + databases_list_opeasearch_indexes: { parameters: { query?: never; header?: never; @@ -18688,20 +20098,9 @@ export interface operations { }; cookie?: never; }; - requestBody: { - content: { - /** @example { - * "name": "backend-pool", - * "mode": "transaction", - * "size": 10, - * "db": "defaultdb", - * "user": "doadmin" - * } */ - "application/json": components["schemas"]["connection_pool"]; - }; - }; + requestBody?: never; responses: { - 201: components["responses"]["connection_pool"]; + 200: components["responses"]["opensearch_indexes"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18709,7 +20108,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_connectionPool: { + databases_delete_opensearch_index: { parameters: { query?: never; header?: never; @@ -18720,16 +20119,16 @@ export interface operations { */ database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; /** - * @description The name used to identify the connection pool. - * @example backend-pool + * @description The name of the OpenSearch index. + * @example logs-* */ - pool_name: components["parameters"]["pool_name"]; + index_name: components["parameters"]["opensearch_index_name"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["connection_pool"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18737,65 +20136,72 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_connectionPool: { + domains_list: { parameters: { - query?: never; - header?: never; - path: { + query?: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description Number of items returned per page + * @example 2 */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + per_page?: components["parameters"]["per_page"]; /** - * @description The name used to identify the connection pool. - * @example backend-pool + * @description Which 'page' of paginated results to return. + * @example 1 */ - pool_name: components["parameters"]["pool_name"]; + page?: components["parameters"]["page"]; }; + header?: never; + path?: never; cookie?: never; }; - requestBody: { + 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"]; + }; + }; + domains_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { content: { /** @example { - * "mode": "transaction", - * "size": 10, - * "db": "defaultdb", - * "user": "doadmin" + * "name": "example.com" * } */ - "application/json": components["schemas"]["connection_pool_update"]; + "application/json": components["schemas"]["domain"]; }; }; responses: { - 204: components["responses"]["no_content"]; + 201: components["responses"]["create_domain_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"]; }; }; - databases_delete_connectionPool: { + domains_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 used to identify the connection pool. - * @example backend-pool + * @description The name of the domain itself. + * @example example.com */ - pool_name: components["parameters"]["pool_name"]; + domain_name: components["parameters"]["domain_name"]; }; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["existing_domain"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18803,22 +20209,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_evictionPolicy: { + domains_delete: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description The name of the domain itself. + * @example example.com */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + domain_name: components["parameters"]["domain_name"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["eviction_policy_response"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18826,31 +20232,43 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_evictionPolicy: { + domains_list_records: { parameters: { - query?: never; + 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 A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description The name of the domain itself. + * @example example.com */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + domain_name: components["parameters"]["domain_name"]; }; cookie?: never; }; - requestBody: { - content: { - /** @example { - * "eviction_policy": "allkeys_lru" - * } */ - "application/json": { - eviction_policy: components["schemas"]["eviction_policy_model"]; - }; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["all_domain_records_response"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18858,22 +20276,37 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_sql_mode: { + domains_create_record: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description The name of the domain itself. + * @example example.com */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + domain_name: components["parameters"]["domain_name"]; }; cookie?: never; }; - requestBody?: 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: { - 200: components["responses"]["sql_mode"]; + 201: components["responses"]["created_domain_record"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18881,29 +20314,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_sql_mode: { + domains_get_record: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @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 */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + domain_record_id: components["parameters"]["domain_record_id"]; }; 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"]; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["domain_record"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18911,29 +20342,35 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_major_version: { + domains_update_record: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description The name of the domain itself. + * @example example.com */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + 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: { + requestBody?: { content: { /** @example { - * "version": "14" + * "name": "blog", + * "type": "CNAME" * } */ - "application/json": components["schemas"]["version-2"]; + "application/json": components["schemas"]["domain_record"]; }; }; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["domain_record"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18941,22 +20378,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_kafka_topics: { + domains_delete_record: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description The name of the domain itself. + * @example example.com */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + 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"]["kafka_topics"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -18964,35 +20406,35 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_create_kafka_topic: { + domains_patch_record: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description The name of the domain itself. + * @example example.com */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + 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": "customer-events", - * "partitions": 3, - * "replication": 2, - * "config": { - * "retention_bytes": -1, - * "retention_ms": 100000 - * } + * "name": "blog", + * "type": "A" * } */ - "application/json": components["schemas"]["kafka_topic_create"]; + "application/json": components["schemas"]["domain_record"]; }; }; responses: { - 201: components["responses"]["kafka_topic"]; + 200: components["responses"]["domain_record"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19000,95 +20442,79 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_kafka_topic: { + droplets_list: { parameters: { - query?: never; - header?: never; - path: { + query?: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description Number of items returned per page + * @example 2 */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + per_page?: components["parameters"]["per_page"]; /** - * @description The name used to identify the Kafka topic. - * @example customer-events + * @description Which 'page' of paginated results to return. + * @example 1 */ - topic_name: components["parameters"]["kafka_topic_name"]; + 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"]["kafka_topic"]; + 200: components["responses"]["all_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"]; }; }; - databases_update_kafka_topic: { + droplets_create: { 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 Kafka topic. - * @example customer-events - */ - topic_name: components["parameters"]["kafka_topic_name"]; - }; + path?: never; cookie?: never; }; requestBody?: { content: { - /** @example { - * "partitions": 3, - * "replication": 2, - * "config": { - * "retention_bytes": -1, - * "retention_ms": 100000 - * } - * } */ - "application/json": components["schemas"]["kafka_topic_update"]; + "application/json": components["schemas"]["droplet_single_create"] | components["schemas"]["droplet_multi_create"]; }; }; responses: { - 200: components["responses"]["kafka_topic"]; + 202: components["responses"]["droplet_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"]; }; }; - databases_delete_kafka_topic: { + droplets_destroy_byTag: { 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"]; + query: { /** - * @description The name used to identify the Kafka topic. - * @example customer-events + * @description Specifies Droplets to be deleted by tag. + * @example env:test */ - topic_name: components["parameters"]["kafka_topic_name"]; + tag_name: components["parameters"]["droplet_delete_tag_name"]; }; + header?: never; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 204: components["responses"]["no_content_with_content_type"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19096,22 +20522,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_list_logsink: { + droplets_get: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 201: components["responses"]["logsinks"]; + 200: components["responses"]["existing_droplet"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19119,26 +20545,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_create_logsink: { + droplets_destroy: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["logsink_create"]; - }; - }; + requestBody?: never; responses: { - 201: components["responses"]["logsink"]; + 204: components["responses"]["no_content_with_content_type"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19146,27 +20568,33 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_logsink: { + droplets_list_backups: { parameters: { - query?: never; - header?: never; - path: { + query?: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description Number of items returned per page + * @example 2 */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + per_page?: components["parameters"]["per_page"]; /** - * @description A unique identifier for a logsink of a database cluster - * @example 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + * @description Which 'page' of paginated results to return. + * @example 1 */ - logsink_id: components["parameters"]["logsink_id"]; + 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: { - 201: components["responses"]["logsink"]; + 200: components["responses"]["all_droplet_backups"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19174,39 +20602,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_logsink: { + droplets_get_backup_policy: { 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 for a logsink of a database cluster - * @example 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - logsink_id: components["parameters"]["logsink_id"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; - requestBody: { - content: { - /** @example { - * "config": { - * "server": "192.168.0.1", - * "port": 514, - * "tls": false, - * "format": "rfc3164" - * } - * } */ - "application/json": components["schemas"]["logsink_update"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["no_content"]; + 200: components["responses"]["droplet_backup_policy"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19214,27 +20625,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_delete_logsink: { + droplets_list_backup_policies: { parameters: { - query?: never; - header?: never; - path: { + query?: { /** - * @description A unique identifier for a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + * @description Number of items returned per page + * @example 2 */ - database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + per_page?: components["parameters"]["per_page"]; /** - * @description A unique identifier for a logsink of a database cluster - * @example 50484ec3-19d6-4cd3-b56f-3b0381c289a6 + * @description Which 'page' of paginated results to return. + * @example 1 */ - logsink_id: components["parameters"]["logsink_id"]; + page?: components["parameters"]["page"]; }; + header?: never; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["no_content"]; + 200: components["responses"]["all_droplet_backup_policies"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19242,7 +20653,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_get_cluster_metrics_credentials: { + droplets_list_supported_backup_policies: { parameters: { query?: never; header?: never; @@ -19251,7 +20662,7 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["database_metrics_auth"]; + 200: components["responses"]["droplets_supported_backup_policies"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19259,33 +20670,41 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - databases_update_cluster_metrics_credentials: { + droplets_list_snapshots: { parameters: { - query?: never; + 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: { - /** @example { - * "credentials": { - * "basic_auth_username": "new_username", - * "basic_auth_password": "new_password" - * } - * } */ - "application/json": components["schemas"]["database_metrics_credentials"]; + 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"]; + 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"]; }; }; - domains_list: { + dropletActions_list: { parameters: { query?: { /** @@ -19300,57 +20719,107 @@ export interface operations { page?: components["parameters"]["page"]; }; header?: never; - path?: 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_domains_response"]; + 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"]; }; }; - domains_create: { + 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_enable_backups"] | components["schemas"]["droplet_action_change_backup_policy"] | 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"]; + }; + }; + 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: { - /** @example { - * "name": "example.com" - * } */ - "application/json": components["schemas"]["domain"]; + "application/json": components["schemas"]["droplet_action"] | components["schemas"]["droplet_action_snapshot"]; }; }; responses: { - 201: components["responses"]["create_domain_response"]; + 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"]; }; }; - domains_get: { + dropletActions_get: { parameters: { query?: never; header?: never; path: { /** - * @description The name of the domain itself. - * @example example.com + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - domain_name: components["parameters"]["domain_name"]; + 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"]["existing_domain"]; + 200: components["responses"]["action"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19358,22 +20827,33 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - domains_delete: { + droplets_list_kernels: { parameters: { - query?: never; + 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 + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - domain_name: components["parameters"]["domain_name"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["all_kernels"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19381,19 +20861,9 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - domains_list_records: { + droplets_list_firewalls: { 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 @@ -19408,16 +20878,16 @@ export interface operations { header?: never; path: { /** - * @description The name of the domain itself. - * @example example.com + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - domain_name: components["parameters"]["domain_name"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["all_domain_records_response"]; + 200: components["responses"]["all_firewalls"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19425,37 +20895,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - domains_create_record: { + droplets_list_neighbors: { parameters: { query?: never; header?: never; path: { /** - * @description The name of the domain itself. - * @example example.com + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - domain_name: components["parameters"]["domain_name"]; + droplet_id: components["parameters"]["droplet_id"]; }; 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"]; - }; - }; + requestBody?: never; responses: { - 201: components["responses"]["created_domain_record"]; + 200: components["responses"]["neighbor_droplets"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19463,27 +20918,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - domains_get_record: { + droplets_list_associatedResources: { 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 + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - domain_record_id: components["parameters"]["domain_record_id"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["domain_record"]; + 200: components["responses"]["associated_resources_list"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19491,35 +20941,55 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - domains_update_record: { + droplets_destroy_withAssociatedResourcesSelective: { 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 + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - domain_record_id: components["parameters"]["domain_record_id"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; requestBody?: { content: { - /** @example { - * "name": "blog", - * "type": "CNAME" - * } */ - "application/json": components["schemas"]["domain_record"]; + "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"]; + }; + }; + 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: { - 200: components["responses"]["domain_record"]; + 202: components["responses"]["accepted"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19527,27 +20997,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - domains_delete_record: { + droplets_get_DestroyAssociatedResourcesStatus: { 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 + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - domain_record_id: components["parameters"]["domain_record_id"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["associated_resources_status"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19555,43 +21020,31 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - domains_patch_record: { + droplets_destroy_retryWithAssociatedResources: { 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 + * @description A unique identifier for a Droplet instance. + * @example 3164444 */ - domain_record_id: components["parameters"]["domain_record_id"]; + droplet_id: components["parameters"]["droplet_id"]; }; cookie?: never; }; - requestBody?: { - content: { - /** @example { - * "name": "blog", - * "type": "A" - * } */ - "application/json": components["schemas"]["domain_record"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["domain_record"]; + 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"]; }; }; - droplets_list: { + firewalls_list: { parameters: { query?: { /** @@ -19604,16 +21057,6 @@ export interface operations { * @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; @@ -19621,14 +21064,14 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["all_droplets"]; + 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"]; }; }; - droplets_create: { + firewalls_create: { parameters: { query?: never; header?: never; @@ -19637,33 +21080,75 @@ export interface operations { }; requestBody?: { content: { - "application/json": components["schemas"]["droplet_single_create"] | components["schemas"]["droplet_multi_create"]; + /** @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"]["droplet_create"]; + 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"]; }; }; - droplets_destroy_byTag: { + firewalls_get: { parameters: { - query: { + query?: never; + header?: never; + path: { /** - * @description Specifies Droplets to be deleted by tag. - * @example env:test + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - tag_name: components["parameters"]["droplet_delete_tag_name"]; + firewall_id: components["parameters"]["firewall_id"]; }; - header?: never; - path?: never; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content_with_content_type"]; + 200: components["responses"]["get_firewall_response"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19671,22 +21156,71 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_get: { + firewalls_update: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - droplet_id: components["parameters"]["droplet_id"]; + firewall_id: components["parameters"]["firewall_id"]; }; cookie?: never; }; - requestBody?: 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": components["schemas"]["firewall"] & (unknown | unknown); + }; + }; responses: { - 200: components["responses"]["existing_droplet"]; + 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"]; @@ -19694,22 +21228,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_destroy: { + firewalls_delete: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - droplet_id: components["parameters"]["droplet_id"]; + firewall_id: components["parameters"]["firewall_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content_with_content_type"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19717,67 +21251,81 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_list_backups: { + firewalls_assign_droplets: { 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"]; - }; + query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - droplet_id: components["parameters"]["droplet_id"]; + firewall_id: components["parameters"]["firewall_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"]; - }; - }; - 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"]; + 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"]; + }; + }; + firewalls_delete_droplets: { + parameters: { + query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - droplet_id: components["parameters"]["droplet_id"]; + firewall_id: components["parameters"]["firewall_id"]; }; cookie?: never; }; - requestBody?: 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: { - 200: components["responses"]["all_droplet_snapshots"]; + 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"]; @@ -19785,33 +21333,34 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - dropletActions_list: { + firewalls_add_tags: { 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"]; - }; + query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - droplet_id: components["parameters"]["droplet_id"]; + firewall_id: components["parameters"]["firewall_id"]; }; cookie?: never; }; - requestBody?: never; + requestBody?: { + content: { + /** @example { + * "tags": [ + * "frontend" + * ] + * } */ + "application/json": { + tags: components["schemas"]["tags_array"] & unknown; + }; + }; + }; responses: { - 200: components["responses"]["all_droplet_actions"]; + 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"]; @@ -19819,30 +21368,34 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - dropletActions_post: { + firewalls_delete_tags: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - droplet_id: components["parameters"]["droplet_id"]; + firewall_id: components["parameters"]["firewall_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"]; + /** @example { + * "tags": [ + * "frontend" + * ] + * } */ + "application/json": { + tags: components["schemas"]["tags_array"] & unknown; + }; }; }; responses: { - 201: components["responses"]["droplet_action"]; + 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"]; @@ -19850,57 +21403,103 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - dropletActions_post_byTag: { + firewalls_add_rules: { parameters: { - query?: { + query?: never; + header?: never; + path: { /** - * @description Used to filter Droplets by a specific tag. Can not be combined with `name`. - * @example env:prod + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - tag_name?: components["parameters"]["droplet_tag_name"]; + firewall_id: components["parameters"]["firewall_id"]; }; - 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"]; + /** @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: { - 201: components["responses"]["droplet_actions_response"]; + 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"]; }; }; - dropletActions_get: { + firewalls_delete_rules: { 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 + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c */ - action_id: components["parameters"]["action_id"]; + firewall_id: components["parameters"]["firewall_id"]; }; cookie?: never; }; - requestBody?: 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: { - 200: components["responses"]["action"]; + 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"]; @@ -19908,7 +21507,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_list_kernels: { + floatingIPs_list: { parameters: { query?: { /** @@ -19923,52 +21522,54 @@ export interface operations { page?: components["parameters"]["page"]; }; header?: never; - path: { - /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 - */ - droplet_id: components["parameters"]["droplet_id"]; - }; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["all_kernels"]; + 200: components["responses"]["floating_ip_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"]; }; }; - droplets_list_firewalls: { + floatingIPs_create: { 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"]; + 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"]; + }; + }; + floatingIPs_get: { + parameters: { + query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A floating IP address. + * @example 45.55.96.47 */ - droplet_id: components["parameters"]["droplet_id"]; + floating_ip: components["parameters"]["floating_ip"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["all_firewalls"]; + 200: components["responses"]["floating_ip"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19976,22 +21577,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_list_neighbors: { + floatingIPs_delete: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A floating IP address. + * @example 45.55.96.47 */ - droplet_id: components["parameters"]["droplet_id"]; + floating_ip: components["parameters"]["floating_ip"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["neighbor_droplets"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -19999,22 +21600,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_list_associatedResources: { + floatingIPsAction_list: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A floating IP address. + * @example 45.55.96.47 */ - droplet_id: components["parameters"]["droplet_id"]; + floating_ip: components["parameters"]["floating_ip"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["associated_resources_list"]; + 200: components["responses"]["floating_ip_actions"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20022,26 +21623,29 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_destroy_withAssociatedResourcesSelective: { + floatingIPsAction_post: { parameters: { query?: never; header?: never; path: { /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A floating IP address. + * @example 45.55.96.47 */ - droplet_id: components["parameters"]["droplet_id"]; + 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"]["selective_destroy_associated_resource"]; + "application/json": components["schemas"]["floating_ip_action_unassign"] | components["schemas"]["floating_ip_action_assign"]; }; }; responses: { - 202: components["responses"]["accepted"]; + 201: components["responses"]["floating_ip_action"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20049,28 +21653,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_destroy_withAssociatedResourcesDangerous: { + floatingIPsAction_get: { parameters: { query?: never; - header: { + header?: never; + path: { /** - * @description Acknowledge this action will destroy the Droplet and all associated resources and _can not_ be reversed. - * @example true + * @description A floating IP address. + * @example 45.55.96.47 */ - "X-Dangerous": components["parameters"]["x_dangerous"]; - }; - path: { + floating_ip: components["parameters"]["floating_ip"]; /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 */ - droplet_id: components["parameters"]["droplet_id"]; + action_id: components["parameters"]["action_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 202: components["responses"]["accepted"]; + 200: components["responses"]["floating_ip_action"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20078,335 +21681,313 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - droplets_get_DestroyAssociatedResourcesStatus: { + functions_list_namespaces: { parameters: { query?: never; header?: never; - path: { - /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 - */ - droplet_id: components["parameters"]["droplet_id"]; - }; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["associated_resources_status"]; + 200: components["responses"]["list_namespaces"]; 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"]; }; }; - droplets_destroy_retryWithAssociatedResources: { + functions_create_namespace: { parameters: { query?: never; header?: never; - path: { - /** - * @description A unique identifier for a Droplet instance. - * @example 3164444 - */ - droplet_id: components["parameters"]["droplet_id"]; - }; + path?: never; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": components["schemas"]["create_namespace"]; + }; + }; responses: { - 202: components["responses"]["accepted"]; + 200: components["responses"]["namespace_created"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + 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"]; }; }; - firewalls_list: { + functions_get_namespace: { parameters: { - query?: { - /** - * @description Number of items returned per page - * @example 2 - */ - per_page?: components["parameters"]["per_page"]; + query?: never; + header?: never; + path: { /** - * @description Which 'page' of paginated results to return. - * @example 1 + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx */ - page?: components["parameters"]["page"]; + namespace_id: components["parameters"]["namespace_id"]; }; - header?: never; - path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_firewalls_response"]; + 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"]; }; }; - firewalls_create: { + functions_delete_namespace: { 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); + 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: { - 202: components["responses"]["create_firewall_response"]; - 400: components["responses"]["bad_request"]; + 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"]; }; }; - firewalls_get: { + functions_list_triggers: { 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 + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx */ - firewall_id: components["parameters"]["firewall_id"]; + namespace_id: components["parameters"]["namespace_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["get_firewall_response"]; + 200: components["responses"]["list_triggers"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["not_found"]; + 404: components["responses"]["namespace_not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - firewalls_update: { + functions_create_trigger: { 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 + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx */ - firewall_id: components["parameters"]["firewall_id"]; + namespace_id: components["parameters"]["namespace_id"]; }; cookie?: never; }; - requestBody?: { + 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": components["schemas"]["firewall"] & (unknown | unknown); + "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"]; + }; + }; + 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"]["put_firewall_response"]; - 400: components["responses"]["bad_request"]; + 200: components["responses"]["trigger_response"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["not_found"]; + 404: components["responses"]["trigger_not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - firewalls_delete: { + functions_update_trigger: { 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 + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx */ - firewall_id: components["parameters"]["firewall_id"]; + 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; + requestBody: { + content: { + "application/json": components["schemas"]["update_trigger"]; + }; + }; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["trigger_response"]; + 400: components["responses"]["trigger_bad_request"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["not_found"]; + 404: components["responses"]["trigger_not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - firewalls_assign_droplets: { + functions_delete_trigger: { 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 + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx */ - firewall_id: components["parameters"]["firewall_id"]; + 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: { - /** @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[]; - }; - }; - }; + requestBody?: never; responses: { 204: components["responses"]["no_content"]; - 400: components["responses"]["bad_request"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["not_found"]; + 404: components["responses"]["trigger_not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - firewalls_delete_droplets: { + images_list: { parameters: { - query?: never; - header?: never; - path: { + query?: { /** - * @description A unique ID that can be used to identify and reference a firewall. - * @example bb4b2611-3d72-467b-8602-280330ecd65c + * @description Filters results based on image type which can be either `application` or `distribution`. + * @example distribution */ - firewall_id: components["parameters"]["firewall_id"]; + 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?: { + 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"]; + }; + }; + images_create_custom: { + parameters: { + query?: never; + header?: never; + path?: never; + 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[]; - }; + "application/json": components["schemas"]["image_new_custom"]; }; }; responses: { - 204: components["responses"]["no_content"]; - 400: components["responses"]["bad_request"]; + 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"]; + }; + }; + 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"]; @@ -20414,34 +21995,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - firewalls_add_tags: { + images_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 + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 */ - firewall_id: components["parameters"]["firewall_id"]; + image_id: components["parameters"]["image_id"]; }; cookie?: never; }; - requestBody?: { + requestBody: { content: { - /** @example { - * "tags": [ - * "frontend" - * ] - * } */ - "application/json": { - tags: components["schemas"]["tags_array"] & unknown; - }; + "application/json": components["schemas"]["image_update"]; }; }; responses: { - 204: components["responses"]["no_content"]; - 400: components["responses"]["bad_request"]; + 200: components["responses"]["updated_image"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20449,34 +22022,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - firewalls_delete_tags: { + images_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 + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 */ - firewall_id: components["parameters"]["firewall_id"]; + image_id: components["parameters"]["image_id"]; }; cookie?: never; }; - requestBody?: { - content: { - /** @example { - * "tags": [ - * "frontend" - * ] - * } */ - "application/json": { - tags: components["schemas"]["tags_array"] & unknown; - }; - }; - }; + requestBody?: never; 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"]; @@ -20484,51 +22045,49 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - firewalls_add_rules: { + imageActions_list: { 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 + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 */ - firewall_id: components["parameters"]["firewall_id"]; + image_id: components["parameters"]["image_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); + 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"]; + }; + }; + 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: { - 204: components["responses"]["no_content"]; - 400: components["responses"]["bad_request"]; + 201: components["responses"]["post_image_action_response"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20536,51 +22095,27 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - firewalls_delete_rules: { + imageActions_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 + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 */ - firewall_id: components["parameters"]["firewall_id"]; + 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?: { - 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); - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; - 400: components["responses"]["bad_request"]; + 200: components["responses"]["get_image_action_response"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20588,7 +22123,7 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - floatingIPs_list: { + kubernetes_list_clusters: { parameters: { query?: { /** @@ -20608,14 +22143,14 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["floating_ip_list"]; + 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"]; }; }; - floatingIPs_create: { + kubernetes_create_cluster: { parameters: { query?: never; header?: never; @@ -20624,33 +22159,33 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["floating_ip_create"]; + "application/json": components["schemas"]["cluster"]; }; }; responses: { - 202: components["responses"]["floating_ip_created"]; + 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"]; }; }; - floatingIPs_get: { + kubernetes_get_cluster: { parameters: { query?: never; header?: never; path: { /** - * @description A floating IP address. - * @example 45.55.96.47 + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - floating_ip: components["parameters"]["floating_ip"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["floating_ip"]; + 200: components["responses"]["existing_cluster"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20658,16 +22193,43 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - floatingIPs_delete: { + kubernetes_update_cluster: { parameters: { query?: never; header?: never; path: { /** - * @description A floating IP address. - * @example 45.55.96.47 + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - floating_ip: components["parameters"]["floating_ip"]; + 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"]; + }; + }; + 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; }; @@ -20681,22 +22243,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - floatingIPsAction_list: { + kubernetes_list_associatedResources: { parameters: { query?: never; header?: never; path: { /** - * @description A floating IP address. - * @example 45.55.96.47 + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - floating_ip: components["parameters"]["floating_ip"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["floating_ip_actions"]; + 200: components["responses"]["associated_kubernetes_resources_list"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20704,29 +22266,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - floatingIPsAction_post: { + kubernetes_destroy_associatedResourcesSelective: { parameters: { query?: never; header?: never; path: { /** - * @description A floating IP address. - * @example 45.55.96.47 + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - floating_ip: components["parameters"]["floating_ip"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; - /** @description The `type` attribute set in the request body will specify the action that - * will be taken on the floating IP. - * */ - requestBody?: { + requestBody: { content: { - "application/json": components["schemas"]["floating_ip_action_unassign"] | components["schemas"]["floating_ip_action_assign"]; + "application/json": components["schemas"]["destroy_associated_kubernetes_resources"]; }; }; responses: { - 201: components["responses"]["floating_ip_action"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20734,27 +22293,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - floatingIPsAction_get: { + kubernetes_destroy_associatedResourcesDangerous: { 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 + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - action_id: components["parameters"]["action_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["floating_ip_action"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -20762,219 +22316,256 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - functions_list_namespaces: { + kubernetes_get_kubeconfig: { parameters: { - query?: never; + 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?: 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"]["list_namespaces"]; + 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"]; }; }; - functions_create_namespace: { + kubernetes_get_credentials: { parameters: { - query?: never; + 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?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["create_namespace"]; + 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"]["namespace_created"]; + 200: components["responses"]["credentials"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["namespace_bad_request"]; - 422: components["responses"]["namespace_limit_reached"]; + 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - functions_get_namespace: { + kubernetes_get_availableUpgrades: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the namespace to be managed. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - namespace_id: components["parameters"]["namespace_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["namespace_created"]; + 200: components["responses"]["available_upgrades"]; 401: components["responses"]["unauthorized"]; - 403: components["responses"]["namespace_not_allowed"]; - 404: components["responses"]["namespace_not_found"]; + 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - functions_delete_namespace: { + kubernetes_upgrade_cluster: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the namespace to be managed. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - namespace_id: components["parameters"]["namespace_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; - requestBody?: 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: { - 204: components["responses"]["no_content"]; + 202: components["responses"]["accepted"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["namespace_not_found"]; + 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - functions_list_triggers: { + kubernetes_list_nodePools: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the namespace to be managed. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - namespace_id: components["parameters"]["namespace_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["list_triggers"]; + 200: components["responses"]["all_node_pools"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["namespace_not_found"]; + 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - functions_create_trigger: { + kubernetes_add_nodePool: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the namespace to be managed. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - namespace_id: components["parameters"]["namespace_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["create_trigger"]; + /** @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: { - 200: components["responses"]["trigger_response"]; - 400: components["responses"]["trigger_bad_request"]; + 201: components["responses"]["node_pool_create"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["namespace_not_found"]; - 422: components["responses"]["trigger_limit_reached"]; + 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - functions_get_trigger: { + kubernetes_get_nodePool: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the namespace to be managed. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - namespace_id: components["parameters"]["namespace_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; /** - * @description The name of the trigger to be managed. - * @example my trigger + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d */ - trigger_name: components["parameters"]["trigger_name"]; + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["trigger_response"]; + 200: components["responses"]["existing_node_pool"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["trigger_not_found"]; + 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - functions_update_trigger: { + kubernetes_update_nodePool: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the namespace to be managed. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - namespace_id: components["parameters"]["namespace_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; /** - * @description The name of the trigger to be managed. - * @example my trigger + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d */ - trigger_name: components["parameters"]["trigger_name"]; + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; }; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["update_trigger"]; + "application/json": components["schemas"]["kubernetes_node_pool_update"]; }; }; responses: { - 200: components["responses"]["trigger_response"]; - 400: components["responses"]["trigger_bad_request"]; + 202: components["responses"]["node_pool_update"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["trigger_not_found"]; + 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - functions_delete_trigger: { + kubernetes_delete_nodePool: { parameters: { query?: never; header?: never; path: { /** - * @description The ID of the namespace to be managed. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - namespace_id: components["parameters"]["namespace_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; /** - * @description The name of the trigger to be managed. - * @example my trigger + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d */ - trigger_name: components["parameters"]["trigger_name"]; + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; }; cookie?: never; }; @@ -20982,93 +22573,86 @@ export interface operations { responses: { 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; - 404: components["responses"]["trigger_not_found"]; + 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - images_list: { + kubernetes_delete_node: { parameters: { query?: { /** - * @description Filters results based on image type which can be either `application` or `distribution`. - * @example distribution + * @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 */ - type?: components["parameters"]["type"]; + skip_drain?: components["parameters"]["kubernetes_node_skip_drain"]; /** - * @description Used to filter only user images. - * @example true + * @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 */ - private?: components["parameters"]["private"]; + replace?: components["parameters"]["kubernetes_node_replace"]; + }; + header?: never; + path: { /** - * @description Used to filter images by a specific tag. - * @example base-image + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - tag_name?: components["parameters"]["tag"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; /** - * @description Number of items returned per page - * @example 2 + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d */ - per_page?: components["parameters"]["per_page"]; + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; /** - * @description Which 'page' of paginated results to return. - * @example 1 + * @description A unique ID that can be used to reference a node in a Kubernetes node pool. + * @example 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f */ - page?: components["parameters"]["page"]; + node_id: components["parameters"]["kubernetes_node_id"]; }; - header?: never; - path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["all_images"]; + 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"]; }; }; - images_create_custom: { + kubernetes_recycle_node_pool: { parameters: { query?: never; header?: never; - path?: 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"]["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"]; - }; - }; - 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; + "application/json": { + /** @example [ + * "d8db5e1a-6103-43b5-a7b3-8a948210a9fc" + * ] */ + nodes?: string[]; + }; }; - cookie?: never; }; - requestBody?: never; responses: { - 200: components["responses"]["existing_image"]; + 202: components["responses"]["accepted"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21076,26 +22660,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - images_update: { + kubernetes_get_clusterUser: { parameters: { query?: never; header?: never; path: { /** - * @description A unique number that can be used to identify and reference a specific image. - * @example 62137902 + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - image_id: components["parameters"]["image_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["image_update"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["updated_image"]; + 200: components["responses"]["cluster_user"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21103,22 +22683,16 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - images_delete: { + kubernetes_list_options: { 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"]; - }; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["all_options"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21126,22 +22700,28 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - imageActions_list: { + kubernetes_get_clusterLintResults: { parameters: { - query?: never; + 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 number that can be used to identify and reference a specific image. - * @example 62137902 + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - image_id: components["parameters"]["image_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["get_image_actions_response"]; + 200: components["responses"]["clusterlint_results"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21149,26 +22729,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - imageActions_post: { + kubernetes_run_clusterLint: { parameters: { query?: never; header?: never; path: { /** - * @description A unique number that can be used to identify and reference a specific image. - * @example 62137902 + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af */ - image_id: components["parameters"]["image_id"]; + cluster_id: components["parameters"]["kubernetes_cluster_id"]; }; cookie?: never; }; requestBody?: { content: { - "application/json": components["schemas"]["image_action_base"] | components["schemas"]["image_action_transfer"]; + "application/json": components["schemas"]["clusterlint_request"]; }; }; responses: { - 201: components["responses"]["post_image_action_response"]; + 202: components["responses"]["clusterlint_run"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21176,35 +22756,47 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - imageActions_get: { + kubernetes_add_registry: { 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"]; + 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"]; + }; + }; + kubernetes_remove_registry: { + parameters: { + query?: never; + header?: never; + path?: never; cookie?: never; }; - requestBody?: never; + requestBody?: { + content: { + "application/json": components["schemas"]["cluster_registries"]; + }; + }; responses: { - 200: components["responses"]["get_image_action_response"]; + 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"]; }; }; - kubernetes_list_clusters: { + loadBalancers_list: { parameters: { query?: { /** @@ -21224,14 +22816,14 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["all_clusters"]; + 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"]; }; }; - kubernetes_create_cluster: { + loadBalancers_create: { parameters: { query?: never; header?: never; @@ -21240,33 +22832,33 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["cluster"]; + "application/json": components["schemas"]["load_balancer_create"]; }; }; responses: { - 201: components["responses"]["cluster_create"]; + 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"]; }; }; - kubernetes_get_cluster: { + loadBalancers_get: { 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 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + lb_id: components["parameters"]["load_balancer_id"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["existing_cluster"]; + 200: components["responses"]["existing_load_balancer"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21274,26 +22866,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_update_cluster: { + loadBalancers_update: { 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 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + lb_id: components["parameters"]["load_balancer_id"]; }; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["cluster_update"]; + "application/json": components["schemas"]["load_balancer_create"]; }; }; responses: { - 202: components["responses"]["updated_cluster"]; + 200: components["responses"]["updated_load_balancer"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21301,16 +22893,16 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_delete_cluster: { + loadBalancers_delete: { 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 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + lb_id: components["parameters"]["load_balancer_id"]; }; cookie?: never; }; @@ -21324,22 +22916,35 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_list_associatedResources: { + loadBalancers_add_droplets: { 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 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + lb_id: components["parameters"]["load_balancer_id"]; }; cookie?: never; }; - requestBody?: 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: { - 200: components["responses"]["associated_kubernetes_resources_list"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21347,22 +22952,31 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_destroy_associatedResourcesSelective: { + loadBalancers_remove_droplets: { 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 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + lb_id: components["parameters"]["load_balancer_id"]; }; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["destroy_associated_kubernetes_resources"]; + "application/json": { + /** + * @description An array containing the IDs of the Droplets assigned to the load balancer. + * @example [ + * 3164444, + * 3164445 + * ] + */ + droplet_ids: number[]; + }; }; }; responses: { @@ -21374,20 +22988,26 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_destroy_associatedResourcesDangerous: { + loadBalancers_add_forwardingRules: { 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 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + lb_id: components["parameters"]["load_balancer_id"]; }; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": { + forwarding_rules: components["schemas"]["forwarding_rule"][]; + }; + }; + }; responses: { 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; @@ -21397,28 +23017,28 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_get_kubeconfig: { + loadBalancers_remove_forwardingRules: { 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"]; - }; + query?: never; header?: never; path: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + lb_id: components["parameters"]["load_balancer_id"]; }; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": { + forwarding_rules: components["schemas"]["forwarding_rule"][]; + }; + }; + }; responses: { - 200: components["responses"]["kubeconfig"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21426,51 +23046,102 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_get_credentials: { + monitoring_list_alertPolicy: { 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 + * @description Number of items returned per page + * @example 2 */ - expiry_seconds?: components["parameters"]["kubernetes_expiry_seconds"]; - }; - header?: never; - path: { + per_page?: components["parameters"]["per_page"]; /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description Which 'page' of paginated results to return. + * @example 1 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + page?: components["parameters"]["page"]; }; + header?: never; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["credentials"]; + 200: components["responses"]["list_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"]; }; }; - kubernetes_get_availableUpgrades: { + 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"]; + }; + }; + monitoring_get_alertPolicy: { 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 + * @description A unique identifier for an alert policy. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + alert_uuid: components["parameters"]["alert_uuid"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["available_upgrades"]; + 200: components["responses"]["alert_policy_response"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21478,32 +23149,59 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_upgrade_cluster: { + monitoring_update_alertPolicy: { 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 + * @description A unique identifier for an alert policy. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + 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": { - /** - * @description The slug identifier for the version of Kubernetes that the cluster will be upgraded to. - * @example 1.16.13-do.0 - */ - version?: string; - }; + "application/json": components["schemas"]["alert_policy_request"]; }; }; responses: { - 202: components["responses"]["accepted"]; + 200: components["responses"]["alert_policy_response"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21511,22 +23209,22 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_list_nodePools: { + monitoring_delete_alertPolicy: { 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 + * @description A unique identifier for an alert policy. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + alert_uuid: components["parameters"]["alert_uuid"]; }; cookie?: never; }; requestBody?: never; responses: { - 200: components["responses"]["all_node_pools"]; + 204: components["responses"]["no_content"]; 401: components["responses"]["unauthorized"]; 404: components["responses"]["not_found"]; 429: components["responses"]["too_many_requests"]; @@ -21534,362 +23232,428 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - kubernetes_add_nodePool: { + monitoring_get_dropletBandwidthMetrics: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description The droplet ID. + * @example 17209102 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + 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 UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; 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"]; - }; - }; + requestBody?: never; responses: { - 201: components["responses"]["node_pool_create"]; + 200: components["responses"]["droplet_bandwidth_metric_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"]; }; }; - kubernetes_get_nodePool: { + monitoring_get_DropletCpuMetrics: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description The droplet ID. + * @example 17209102 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + host_id: components["parameters"]["parameters_droplet_id"]; /** - * @description A unique ID that can be used to reference a Kubernetes node pool. - * @example cdda885e-7663-40c8-bc74-3a036c66545d + * @description UNIX timestamp to start metric window. + * @example 1620683817 */ - node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX 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"]["existing_node_pool"]; + 200: components["responses"]["droplet_cpu_metric_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"]; }; }; - kubernetes_update_nodePool: { + monitoring_get_dropletFilesystemFreeMetrics: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description The droplet ID. + * @example 17209102 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + host_id: components["parameters"]["parameters_droplet_id"]; /** - * @description A unique ID that can be used to reference a Kubernetes node pool. - * @example cdda885e-7663-40c8-bc74-3a036c66545d + * @description UNIX timestamp to start metric window. + * @example 1620683817 */ - node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["kubernetes_node_pool_update"]; - }; - }; + requestBody?: never; responses: { - 202: components["responses"]["node_pool_update"]; + 200: components["responses"]["droplet_filesystem_metric_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"]; }; }; - kubernetes_delete_nodePool: { + monitoring_get_dropletFilesystemSizeMetrics: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description The droplet ID. + * @example 17209102 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + host_id: components["parameters"]["parameters_droplet_id"]; /** - * @description A unique ID that can be used to reference a Kubernetes node pool. - * @example cdda885e-7663-40c8-bc74-3a036c66545d + * @description UNIX timestamp to start metric window. + * @example 1620683817 */ - node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["droplet_filesystem_metric_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"]; }; }; - kubernetes_delete_node: { + monitoring_get_dropletLoad1Metrics: { 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: { + query: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description The droplet ID. + * @example 17209102 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + host_id: components["parameters"]["parameters_droplet_id"]; /** - * @description A unique ID that can be used to reference a Kubernetes node pool. - * @example cdda885e-7663-40c8-bc74-3a036c66545d + * @description UNIX timestamp to start metric window. + * @example 1620683817 */ - node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + start: components["parameters"]["metric_timestamp_start"]; /** - * @description A unique ID that can be used to reference a node in a Kubernetes node pool. - * @example 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + * @description UNIX timestamp to end metric window. + * @example 1620705417 */ - node_id: components["parameters"]["kubernetes_node_id"]; + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 202: components["responses"]["accepted"]; + 200: components["responses"]["metric_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"]; }; }; - kubernetes_recycle_node_pool: { + monitoring_get_dropletLoad5Metrics: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description The droplet ID. + * @example 17209102 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + host_id: components["parameters"]["parameters_droplet_id"]; /** - * @description A unique ID that can be used to reference a Kubernetes node pool. - * @example cdda885e-7663-40c8-bc74-3a036c66545d + * @description UNIX timestamp to start metric window. + * @example 1620683817 */ - node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; - requestBody: { - content: { - "application/json": { - /** @example [ - * "d8db5e1a-6103-43b5-a7b3-8a948210a9fc" - * ] */ - nodes?: string[]; - }; - }; - }; + requestBody?: never; responses: { - 202: components["responses"]["accepted"]; + 200: components["responses"]["metric_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"]; }; }; - kubernetes_get_clusterUser: { + monitoring_get_dropletLoad15Metrics: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description The droplet ID. + * @example 17209102 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX 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"]["cluster_user"]; + 200: components["responses"]["metric_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"]; }; }; - kubernetes_list_options: { + monitoring_get_dropletMemoryCachedMetrics: { parameters: { - query?: never; + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX 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"]["all_options"]; + 200: components["responses"]["metric_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"]; }; }; - kubernetes_get_clusterLintResults: { + monitoring_get_dropletMemoryFreeMetrics: { parameters: { - query?: { + query: { /** - * @description Specifies the clusterlint run whose results will be retrieved. - * @example 50c2f44c-011d-493e-aee5-361a4a0d1844 + * @description The droplet ID. + * @example 17209102 */ - run_id?: components["parameters"]["clusterlint_run_id"]; - }; - header?: never; - path: { + host_id: components["parameters"]["parameters_droplet_id"]; /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description UNIX timestamp to start metric window. + * @example 1620683817 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX 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"]["clusterlint_results"]; + 200: components["responses"]["metric_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"]; }; }; - kubernetes_run_clusterLint: { + monitoring_get_dropletMemoryTotalMetrics: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique ID that can be used to reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af + * @description The droplet ID. + * @example 17209102 */ - cluster_id: components["parameters"]["kubernetes_cluster_id"]; + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; - requestBody?: { - content: { - "application/json": components["schemas"]["clusterlint_request"]; - }; - }; + requestBody?: never; responses: { - 202: components["responses"]["clusterlint_run"]; + 200: components["responses"]["metric_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"]; }; }; - kubernetes_add_registry: { + monitoring_get_dropletMemoryAvailableMetrics: { parameters: { - query?: never; + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; header?: never; path?: never; cookie?: never; }; - requestBody?: { - content: { - "application/json": components["schemas"]["cluster_registries"]; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 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"]; }; }; - kubernetes_remove_registry: { + monitoring_get_appMemoryPercentageMetrics: { parameters: { - query?: never; + query: { + /** + * @description The app UUID. + * @example 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + */ + app_id: components["parameters"]["parameters_app_id"]; + /** + * @description The app component name. + * @example sample-application + */ + app_component?: components["parameters"]["app_component"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; header?: never; path?: never; cookie?: never; }; - requestBody?: { - content: { - "application/json": components["schemas"]["cluster_registries"]; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["app_metric_response"]; 401: components["responses"]["unauthorized"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - loadBalancers_list: { + monitoring_get_appCPUPercentageMetrics: { parameters: { - query?: { + query: { /** - * @description Number of items returned per page - * @example 2 + * @description The app UUID. + * @example 2db3c021-15ad-4088-bfe8-99dc972b9cf6 */ - per_page?: components["parameters"]["per_page"]; + app_id: components["parameters"]["parameters_app_id"]; /** - * @description Which 'page' of paginated results to return. - * @example 1 + * @description The app component name. + * @example sample-application */ - page?: components["parameters"]["page"]; + app_component?: components["parameters"]["app_component"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; header?: never; path?: never; @@ -21897,249 +23661,292 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["all_load_balancers"]; + 200: components["responses"]["app_metric_response"]; 401: components["responses"]["unauthorized"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - loadBalancers_create: { + "monitoring_get_appRestartCountMetrics.yml": { parameters: { - query?: never; + query: { + /** + * @description The app UUID. + * @example 2db3c021-15ad-4088-bfe8-99dc972b9cf6 + */ + app_id: components["parameters"]["parameters_app_id"]; + /** + * @description The app component name. + * @example sample-application + */ + app_component?: components["parameters"]["app_component"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; header?: never; path?: never; cookie?: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["load_balancer_create"]; - }; - }; + requestBody?: never; responses: { - 202: components["responses"]["load_balancer_create"]; + 200: components["responses"]["app_metric_response"]; 401: components["responses"]["unauthorized"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; default: components["responses"]["unexpected_error"]; }; }; - loadBalancers_get: { + monitoring_get_lb_frontend_connections_current: { parameters: { - query?: never; - header?: never; - path: { + query: { /** * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - lb_id: components["parameters"]["load_balancer_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX 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"]["existing_load_balancer"]; + 200: components["responses"]["metric_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"]; }; }; - loadBalancers_update: { + monitoring_get_lb_frontend_connections_limit: { parameters: { - query?: never; - header?: never; - path: { + query: { /** * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - lb_id: components["parameters"]["load_balancer_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; - requestBody: { - content: { - "application/json": components["schemas"]["load_balancer_create"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["updated_load_balancer"]; + 200: components["responses"]["metric_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"]; }; }; - loadBalancers_delete: { + monitoring_get_lb_frontend_cpu_utilization: { parameters: { - query?: never; - header?: never; - path: { + query: { /** * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - lb_id: components["parameters"]["load_balancer_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["metric_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"]; }; }; - loadBalancers_add_droplets: { + monitoring_get_lb_frontend_firewall_dropped_bytes: { parameters: { - query?: never; - header?: never; - path: { + query: { /** * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - lb_id: components["parameters"]["load_balancer_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; 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[]; - }; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["metric_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"]; }; }; - loadBalancers_remove_droplets: { + monitoring_get_lb_frontend_firewall_dropped_packets: { parameters: { - query?: never; - header?: never; - path: { + query: { /** * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - lb_id: components["parameters"]["load_balancer_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; 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[]; - }; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["metric_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"]; }; }; - loadBalancers_add_forwardingRules: { + monitoring_get_lb_frontend_http_responses: { parameters: { - query?: never; - header?: never; - path: { + query: { /** * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - lb_id: components["parameters"]["load_balancer_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; - requestBody: { - content: { - "application/json": { - forwarding_rules: components["schemas"]["forwarding_rule"][]; - }; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["metric_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"]; }; }; - loadBalancers_remove_forwardingRules: { + monitoring_get_lb_frontend_http_requests_per_second: { parameters: { - query?: never; - header?: never; - path: { + query: { /** * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - lb_id: components["parameters"]["load_balancer_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; - requestBody: { - content: { - "application/json": { - forwarding_rules: components["schemas"]["forwarding_rule"][]; - }; - }; - }; + requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["metric_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"]; }; }; - monitoring_list_alertPolicy: { + monitoring_get_lb_frontend_network_throughput_http: { parameters: { - query?: { + query: { /** - * @description Number of items returned per page - * @example 2 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - per_page?: components["parameters"]["per_page"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** - * @description Which 'page' of paginated results to return. - * @example 1 + * @description UNIX timestamp to start metric window. + * @example 1620683817 */ - page?: components["parameters"]["page"]; + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; header?: never; path?: never; @@ -22147,190 +23954,181 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["list_alert_policy_response"]; + 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"]; }; }; - monitoring_create_alertPolicy: { + monitoring_get_lb_frontend_network_throughput_udp: { parameters: { - query?: never; + query: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; 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"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["alert_policy_response"]; + 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"]; }; }; - monitoring_get_alertPolicy: { + monitoring_get_lb_frontend_network_throughput_tcp: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique identifier for an alert policy. + * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - alert_uuid: components["parameters"]["alert_uuid"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX 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"]["alert_policy_response"]; + 200: components["responses"]["metric_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"]; }; }; - monitoring_update_alertPolicy: { + monitoring_get_lb_frontend_nlb_tcp_network_throughput: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique identifier for an alert policy. + * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - alert_uuid: components["parameters"]["alert_uuid"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + 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"]; - }; - }; + requestBody?: never; responses: { - 200: components["responses"]["alert_policy_response"]; + 200: components["responses"]["metric_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"]; }; }; - monitoring_delete_alertPolicy: { + monitoring_get_lb_frontend_nlb_udp_network_throughput: { parameters: { - query?: never; - header?: never; - path: { + query: { /** - * @description A unique identifier for an alert policy. + * @description A unique identifier for a load balancer. * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - alert_uuid: components["parameters"]["alert_uuid"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; + /** + * @description UNIX timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description UNIX timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; }; + header?: never; + path?: never; cookie?: never; }; requestBody?: never; responses: { - 204: components["responses"]["no_content"]; + 200: components["responses"]["metric_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"]; }; }; - monitoring_get_dropletBandwidthMetrics: { + monitoring_get_lb_frontend_tls_connections_current: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** - * @description The network interface. - * @example private + * @description UNIX timestamp to start metric window. + * @example 1620683817 */ - interface: components["parameters"]["network_interface"]; + start: components["parameters"]["metric_timestamp_start"]; /** - * @description The traffic direction. - * @example inbound + * @description UNIX timestamp to end metric window. + * @example 1620705417 */ - direction: components["parameters"]["network_direction"]; + 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"]; + }; + }; + monitoring_get_lb_frontend_tls_connections_limit: { + parameters: { + query: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22348,21 +24146,21 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["droplet_bandwidth_metric_response"]; + 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"]; }; }; - monitoring_get_DropletCpuMetrics: { + monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22380,21 +24178,21 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["droplet_cpu_metric_response"]; + 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"]; }; }; - monitoring_get_dropletFilesystemFreeMetrics: { + monitoring_get_lb_droplets_http_session_duration_avg: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22412,21 +24210,21 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["droplet_filesystem_metric_response"]; + 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"]; }; }; - monitoring_get_dropletFilesystemSizeMetrics: { + monitoring_get_lb_droplets_http_session_duration_50p: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22444,21 +24242,21 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["droplet_filesystem_metric_response"]; + 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"]; }; }; - monitoring_get_dropletLoad1Metrics: { + monitoring_get_lb_droplets_http_session_duration_95p: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22483,14 +24281,14 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - monitoring_get_dropletLoad5Metrics: { + monitoring_get_lb_droplets_http_response_time_avg: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22515,14 +24313,14 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - monitoring_get_dropletLoad15Metrics: { + monitoring_get_lb_droplets_http_response_time_50p: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22547,14 +24345,14 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - monitoring_get_dropletMemoryCachedMetrics: { + monitoring_get_lb_droplets_http_response_time_95p: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22579,14 +24377,14 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - monitoring_get_dropletMemoryFreeMetrics: { + monitoring_get_lb_droplets_http_response_time_99p: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22611,14 +24409,14 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - monitoring_get_dropletMemoryTotalMetrics: { + monitoring_get_lb_droplets_queue_size: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22643,14 +24441,14 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - monitoring_get_dropletMemoryAvailableMetrics: { + monitoring_get_lb_droplets_http_responses: { parameters: { query: { /** - * @description The droplet ID. - * @example 17209102 + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - host_id: components["parameters"]["parameters_droplet_id"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22675,19 +24473,14 @@ export interface operations { default: components["responses"]["unexpected_error"]; }; }; - monitoring_get_appMemoryPercentageMetrics: { + monitoring_get_lb_droplets_connections: { parameters: { query: { /** - * @description The app UUID. - * @example 2db3c021-15ad-4088-bfe8-99dc972b9cf6 - */ - app_id: components["parameters"]["parameters_app_id"]; - /** - * @description The app component name. - * @example sample-application + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - app_component?: components["parameters"]["app_component"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22705,26 +24498,21 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["app_metric_response"]; + 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"]; }; }; - monitoring_get_appCPUPercentageMetrics: { + monitoring_get_lb_droplets_health_checks: { parameters: { query: { /** - * @description The app UUID. - * @example 2db3c021-15ad-4088-bfe8-99dc972b9cf6 - */ - app_id: components["parameters"]["parameters_app_id"]; - /** - * @description The app component name. - * @example sample-application + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - app_component?: components["parameters"]["app_component"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22742,26 +24530,21 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["app_metric_response"]; + 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"]; }; }; - "monitoring_get_appRestartCountMetrics.yml": { + monitoring_get_lb_droplets_downtime: { parameters: { query: { /** - * @description The app UUID. - * @example 2db3c021-15ad-4088-bfe8-99dc972b9cf6 - */ - app_id: components["parameters"]["parameters_app_id"]; - /** - * @description The app component name. - * @example sample-application + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - app_component?: components["parameters"]["app_component"]; + lb_id: components["parameters"]["parameters_load_balancer_id"]; /** * @description UNIX timestamp to start metric window. * @example 1620683817 @@ -22779,7 +24562,7 @@ export interface operations { }; requestBody?: never; responses: { - 200: components["responses"]["app_metric_response"]; + 200: components["responses"]["metric_response"]; 401: components["responses"]["unauthorized"]; 429: components["responses"]["too_many_requests"]; 500: components["responses"]["server_error"]; diff --git a/packages/openapi-typescript/examples/digital-ocean-api/DigitalOcean-public.v2.yaml b/packages/openapi-typescript/examples/digital-ocean-api/DigitalOcean-public.v2.yaml index 55f73fc58..3b95f9380 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/DigitalOcean-public.v2.yaml +++ b/packages/openapi-typescript/examples/digital-ocean-api/DigitalOcean-public.v2.yaml @@ -570,14 +570,6 @@ paths: get: $ref: 'resources/apps/apps_get_logs_active_deployment_aggregate.yml' - /v2/apps/tiers: - get: - $ref: 'resources/apps/apps_list_tiers.yml' - - /v2/apps/tiers/{slug}: - get: - $ref: 'resources/apps/apps_get_tier.yml' - /v2/apps/tiers/instance_sizes: get: $ref: 'resources/apps/apps_list_instanceSizes.yml' @@ -743,6 +735,10 @@ paths: put: $ref: 'resources/databases/databases_update_maintenanceWindow.yml' + /v2/databases/{database_cluster_uuid}/install_update: + put: + $ref: 'resources/databases/databases_update_installUpdate.yml' + /v2/databases/{database_cluster_uuid}/backups: get: $ref: 'resources/databases/databases_list_backups.yml' @@ -861,7 +857,15 @@ paths: $ref: 'resources/databases/databases_get_cluster_metrics_credentials.yml' put: $ref: 'resources/databases/databases_update_cluster_metrics_credentials.yml' - + + /v2/databases/{database_cluster_uuid}/indexes: + get: + $ref: 'resources/databases/databases_list_opensearch_indexes.yml' + + /v2/databases/{database_cluster_uuid}/indexes/{index_name}: + delete: + $ref: 'resources/databases/databases_delete_opensearch_index.yml' + /v2/domains: get: $ref: 'resources/domains/domains_list.yml' @@ -911,6 +915,18 @@ paths: get: $ref: 'resources/droplets/droplets_list_backups.yml' + /v2/droplets/{droplet_id}/backups/policy: + get: + $ref: 'resources/droplets/droplets_get_backup_policy.yml' + + /v2/droplets/backups/policies: + get: + $ref: 'resources/droplets/droplets_list_backup_policies.yml' + + /v2/droplets/backups/supported_policies: + get: + $ref: 'resources/droplets/droplets_list_supported_backup_policies.yml' + /v2/droplets/{droplet_id}/snapshots: get: $ref: 'resources/droplets/droplets_list_snapshots.yml' @@ -1269,6 +1285,114 @@ paths: get: $ref: 'resources/monitoring/monitoring_get_appRestartCountMetrics.yml' + /v2/monitoring/metrics/load_balancer/frontend_connections_current: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_connections_current.yml' + + /v2/monitoring/metrics/load_balancer/frontend_connections_limit: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_connections_limit.yml' + + /v2/monitoring/metrics/load_balancer/frontend_cpu_utilization: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_cpu_utilization.yml' + + /v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_bytes.yml' + + /v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_packets.yml' + + /v2/monitoring/metrics/load_balancer/frontend_http_responses: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_http_responses.yml' + + /v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_http_requests_per_second.yml' + + /v2/monitoring/metrics/load_balancer/frontend_network_throughput_http: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_network_throughput_http.yml' + + /v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_network_throughput_udp.yml' + + /v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_network_throughput_tcp.yml' + + /v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml' + + /v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml' + + /v2/monitoring/metrics/load_balancer/frontend_tls_connections_current: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_tls_connections_current.yml' + + /v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_tls_connections_limit.yml' + + /v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit: + get: + $ref: 'resources/monitoring/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml' + + /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_http_session_duration_avg.yml' + + /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_http_session_duration_50p.yml' + + /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_http_session_duration_95p.yml' + + /v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_http_response_time_avg.yml' + + /v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_http_response_time_50p.yml' + + /v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_http_response_time_95p.yml' + + /v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_http_response_time_99p.yml' + + /v2/monitoring/metrics/load_balancer/droplets_queue_size: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_queue_size.yml' + + /v2/monitoring/metrics/load_balancer/droplets_http_responses: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_http_responses.yml' + + /v2/monitoring/metrics/load_balancer/droplets_connections: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_connections.yml' + + /v2/monitoring/metrics/load_balancer/droplets_health_checks: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_health_checks.yml' + + /v2/monitoring/metrics/load_balancer/droplets_downtime: + get: + $ref: 'resources/monitoring/monitoring_get_lb_droplets_downtime.yml' + /v2/projects: get: $ref: 'resources/projects/projects_list.yml' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/app_component_base.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/app_component_base.yml index ef805f13e..ab973c885 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/app_component_base.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/app_component_base.yml @@ -59,4 +59,7 @@ properties: example: node-js log_destinations: - $ref: app_log_destination_definition.yml + type: array + items: + $ref: app_log_destination_definition.yml + description: A list of configured log forwarding destinations. diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/app_functions_spec.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/app_functions_spec.yml index 3f31a28dc..fbb61695c 100755 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/app_functions_spec.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/app_functions_spec.yml @@ -50,7 +50,10 @@ properties: $ref: apps_gitlab_source_spec.yml log_destinations: - $ref: app_log_destination_definition.yml + type: array + items: + $ref: app_log_destination_definition.yml + description: A list of configured log forwarding destinations. required: - name diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/apps_update_app_request.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/apps_update_app_request.yml index f80151c6a..8d655a0ed 100755 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/apps_update_app_request.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/apps/models/apps_update_app_request.yml @@ -2,5 +2,10 @@ type: object properties: spec: $ref: app_spec.yml + update_all_source_versions: + type: boolean + description: Whether or not to update the source versions (for example fetching a new commit or image digest) of all components. By default (when this is false) only newly added sources will be updated to avoid changes like updating the scale of a component from also updating the respective code. + example: true + default: false required: - spec diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_delete_opensearch_index.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_delete_opensearch_index.yml new file mode 100644 index 000000000..974d1338f --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_delete_opensearch_index.yml @@ -0,0 +1,44 @@ +operationId: databases_delete_opensearch_index + +summary: Delete Index for OpenSearch Cluster + +description: | + To delete a single index within OpenSearch cluster, send a DELETE request + to `/v2/databases/$DATABASE_ID/indexes/$INDEX_NAME`. + + A status of 204 will be given. This indicates that the request was + processed successfully, but that no response body is needed. + +tags: + - Databases + +parameters: + - $ref: 'parameters.yml#/database_cluster_uuid' + - $ref: 'parameters.yml#/opensearch_index_name' + +responses: + '204': + $ref: '../../shared/responses/no_content.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/databases_delete_opensearch_index.yml' + - $ref: 'examples/go/databases_delete_opensearch_index.yml' + +security: + - bearer_auth: + - 'database:delete' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_list_opensearch_indexes.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_list_opensearch_indexes.yml new file mode 100644 index 000000000..8f3100d49 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_list_opensearch_indexes.yml @@ -0,0 +1,42 @@ +operationId: databases_list_opeasearch_indexes + +summary: List Indexes for a OpenSearch Cluster + +description: | + To list all of a OpenSearch cluster's indexes, send a GET request to + `/v2/databases/$DATABASE_ID/indexes`. + + The result will be a JSON object with a `indexes` key. + +tags: + - Databases + +parameters: + - $ref: 'parameters.yml#/database_cluster_uuid' + +responses: + '200': + $ref: 'responses/opensearch_indexes.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/databases_list_opensearch_indexes.yml' + - $ref: 'examples/go/databases_list_opensearch_indexes.yml' + +security: + - bearer_auth: + - 'database:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_update_installUpdate.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_update_installUpdate.yml new file mode 100644 index 000000000..8345f9c5d --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/databases_update_installUpdate.yml @@ -0,0 +1,45 @@ +operationId: databases_install_update + +summary: Start Database Maintenance + +description: >- + To start the installation of updates for a + database cluster, send a PUT request to + `/v2/databases/$DATABASE_ID/install_update`. + + A successful request will receive a 204 No Content status code with no body + in response. + +tags: + - Databases + +parameters: + - $ref: 'parameters.yml#/database_cluster_uuid' + +responses: + '204': + $ref: '../../shared/responses/no_content.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/databases_update_installUpdate.yml' + - $ref: 'examples/go/databases_update_installUpdate.yml' + - $ref: 'examples/python/databases_update_installUpdate.yml' + +security: + - bearer_auth: + - 'database:update' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_delete_opensearch_index.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_delete_opensearch_index.yml new file mode 100644 index 000000000..afc09f8a4 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_delete_opensearch_index.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/indexes/sample-index" \ No newline at end of file diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_list_opensearch_indexes.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_list_opensearch_indexes.yml new file mode 100644 index 000000000..9e217ccb8 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_list_opensearch_indexes.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/indexes" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_update_installUpdate.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_update_installUpdate.yml new file mode 100644 index 000000000..2777446fb --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_update_installUpdate.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/install_update" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_delete_opensearch_index.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_delete_opensearch_index.yml new file mode 100644 index 000000000..89fc39b8b --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_delete_opensearch_index.yml @@ -0,0 +1,19 @@ +lang: Go +source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + indexName := "sampe-index" + + _, err := client.Databases.DeleteIndex(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", indexName) + } diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_list_opensearch_indexes.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_list_opensearch_indexes.yml new file mode 100644 index 000000000..759df5d0b --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_list_opensearch_indexes.yml @@ -0,0 +1,17 @@ +lang: Go +source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + replicas, _, err := client.Databases.ListIndexes(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) + } diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_update_installUpdate.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_update_installUpdate.yml new file mode 100644 index 000000000..451c21eb0 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/go/databases_update_installUpdate.yml @@ -0,0 +1,17 @@ +lang: Go +source: |- + import ( + "context" + "os" + + "github.com/digitalocean/godo" + ) + + func main() { + token := os.Getenv("DIGITALOCEAN_TOKEN") + + client := godo.NewFromToken(token) + ctx := context.TODO() + + _, err := client.Databases.InstallUpdate(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2") + } diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/python/databases_update_installUpdate.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/python/databases_update_installUpdate.yml new file mode 100644 index 000000000..2105a1120 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/python/databases_update_installUpdate.yml @@ -0,0 +1,8 @@ +lang: Python +source: |- + import os + from pydo import Client + + client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) + + update_resp = client.databases.install_update(database_cluster_uuid="a7a8bas") diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_connection.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_connection.yml index 1f495b803..3eba6f8a2 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_connection.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_connection.yml @@ -5,7 +5,7 @@ properties: type: string description: >- This is provided as a convenience and should be able to be constructed by the other attributes. - example: opensearch://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 readOnly: true host: type: string diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_index.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_index.yml new file mode 100644 index 000000000..3e6111dcb --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_index.yml @@ -0,0 +1,25 @@ +type: object + +allOf: +- $ref: './opensearch_index_base.yml' +- properties: + status: + type: string + enum: + - unknown + - open + - close + - none + example: open + description: The status of the OpenSearch index. + + health: + type: string + enum: + - unknown + - green + - yellow + - red + - red* + example: green + description: The health of the OpenSearch index. diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_index_base.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_index_base.yml new file mode 100644 index 000000000..451fc10f0 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/opensearch_index_base.yml @@ -0,0 +1,28 @@ +type: object + +properties: + index_name: + type: string + description: The name of the opensearch index. + example: events + + number_of_shards: + type: integer + example: 2 + description: The number of shards for the index. + + number_of_replicas: + type: integer + example: 3 + description: The number of replicas for the index. + + size: + type: integer + example: 208 + description: The size of the index. + + created_time: + type: string + format: date-time + example: "2021-01-01T00:00:00Z" + description: The date and time the index was created. diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/user_settings.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/user_settings.yml index 6b8e33004..756eaffa5 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/user_settings.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/user_settings.yml @@ -2,11 +2,39 @@ type: object properties: pg_allow_replication: - type: boolean - example: true - description: | - For Postgres clusters, set to `true` for a user with replication rights. - This option is not currently supported for other database engines. + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: >- + Permission set applied to the ACL. 'read' allows user to + read from the index. 'write' allows for user to write + to the index. 'readwrite' allows for both 'read' and + 'write' permission. 'deny'(default) restricts user from performing + any operation over an index. 'admin' allows for 'readwrite' as + well as any operations to administer the index. + description: >- + ACLs (Access Control Lists) specifying permissions on index within a + OpenSearch cluster. acl: type: array items: diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/parameters.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/parameters.yml index f0ffe5ada..0847980c7 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/parameters.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/parameters.yml @@ -71,6 +71,15 @@ kafka_topic_name: schema: type: string +opensearch_index_name: + in: path + name: index_name + description: The name of the OpenSearch index. + required: true + example: logs-* + schema: + type: string + logsink_id: in: path name: logsink_id @@ -78,4 +87,4 @@ logsink_id: required: true example: 50484ec3-19d6-4cd3-b56f-3b0381c289a6 schema: - type: string \ No newline at end of file + type: string diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/responses/logsink.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/responses/logsink.yml index c598f90e2..e249bea69 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/responses/logsink.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/responses/logsink.yml @@ -11,39 +11,44 @@ headers: content: application/json: schema: - allOf: - - $ref: "../models/logsink_verbose.yml" - required: - - sink_id - - sink_name - - sink_type - - config + properties: + sink: + allOf: + - $ref: "../models/logsink_verbose.yml" + required: + - sink_id + - sink_name + - sink_type + - config examples: Create an opensearch logsink: value: - sink_id: "dfcc9f57d86bf58e321c2c6c31c7a971be244ac7" - sink_name: "logs-sink" - sink_type: "opensearch" - config: - url: https://user:passwd@192.168.0.1:25060 - index_prefix: "opensearch-logs" - index_days_max: 5 + sink: + sink_id: "dfcc9f57d86bf58e321c2c6c31c7a971be244ac7" + sink_name: "logs-sink" + sink_type: "opensearch" + config: + url: https://user:passwd@192.168.0.1:25060 + index_prefix: "opensearch-logs" + index_days_max: 5 Create an elasticsearch logsink: value: - sink_id: "dfcc9f57d86bf58e321c2c6c31c7a971be244ac7" - sink_name: "logs-sink" - sink_type: "elasticsearch" - config: - url: https://user:passwd@192.168.0.1:25060 - index_prefix: "elasticsearch-logs" - index_days_max: 5 + sink: + sink_id: "dfcc9f57d86bf58e321c2c6c31c7a971be244ac7" + sink_name: "logs-sink" + sink_type: "elasticsearch" + config: + url: https://user:passwd@192.168.0.1:25060 + index_prefix: "elasticsearch-logs" + index_days_max: 5 Create a rsyslog logsink: value: - sink_id: "dfcc9f57d86bf58e321c2c6c31c7a971be244ac7" - sink_name: logs-sink - sink_type: rsyslog - config: - server: 192.168.0.1 - port: 514 - tls: false - format: rfc5424 \ No newline at end of file + sink: + sink_id: "dfcc9f57d86bf58e321c2c6c31c7a971be244ac7" + sink_name: logs-sink + sink_type: rsyslog + config: + server: 192.168.0.1 + port: 514 + tls: false + format: rfc5424 diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/responses/opensearch_indexes.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/responses/opensearch_indexes.yml new file mode 100644 index 000000000..cc7606e0a --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/responses/opensearch_indexes.yml @@ -0,0 +1,35 @@ +description: A JSON object with a key of `indexes`. + +headers: + ratelimit-limit: + $ref: "../../../shared/headers.yml#/ratelimit-limit" + ratelimit-remaining: + $ref: "../../../shared/headers.yml#/ratelimit-remaining" + ratelimit-reset: + $ref: "../../../shared/headers.yml#/ratelimit-reset" + +content: + application/json: + schema: + properties: + indexes: + type: array + items: + $ref: "../models/opensearch_index.yml" + + example: + indexes: + - index_name: sample-data + number_of_shards: 2 + number_of_replicas: 3 + size: 208 + created_time: "2021-01-01T00:00:00Z" + status: open + health: green + - index_name: logs-* + number_of_shards: 2 + number_of_replicas: 3 + size: 208 + created_time: "2021-01-01T00:00:00Z" + status: open + health: green diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/dropletActions_post.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/dropletActions_post.yml index 1f085ebcc..c150ce23c 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/dropletActions_post.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/dropletActions_post.yml @@ -11,6 +11,7 @@ description: | | ---------------------------------------- | ----------- | | `enable_backups` | Enables backups for a Droplet | | `disable_backups` | Disables backups for a Droplet | + | `change_backup_policy` | Update the backup policy 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. | @@ -42,6 +43,8 @@ requestBody: schema: anyOf: - $ref: 'models/droplet_actions.yml#/droplet_action' + - $ref: 'models/droplet_actions.yml#/droplet_action_enable_backups' + - $ref: 'models/droplet_actions.yml#/droplet_action_change_backup_policy' - $ref: 'models/droplet_actions.yml#/droplet_action_restore' - $ref: 'models/droplet_actions.yml#/droplet_action_resize' - $ref: 'models/droplet_actions.yml#/droplet_action_rebuild' @@ -51,8 +54,9 @@ requestBody: discriminator: propertyName: type mapping: - enable_backups: 'models/droplet_actions.yml#/droplet_action' + enable_backups: 'models/droplet_actions.yml#/droplet_action_enable_backups' disable_backups: 'models/droplet_actions.yml#/droplet_action' + change_backup_policy: 'models/droplet_actions.yml#/droplet_action_change_backup_policy' reboot: 'models/droplet_actions.yml#/droplet_action' power_cycle: 'models/droplet_actions.yml#/droplet_action' shutdown: 'models/droplet_actions.yml#/droplet_action' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_get_backup_policy.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_get_backup_policy.yml new file mode 100644 index 000000000..2cff6149a --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_get_backup_policy.yml @@ -0,0 +1,39 @@ +operationId: droplets_get_backup_policy + +summary: Retrieve the Backup Policy for an Existing Droplet + +description: | + To show information about an individual Droplet's backup policy, send a GET + request to `/v2/droplets/$DROPLET_ID/backups/policy`. + +tags: + - Droplets + +parameters: + - $ref: 'parameters.yml#/droplet_id' + +responses: + '200': + $ref: 'responses/droplet_backup_policy.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/droplets_get_backup_policy.yml' + +security: + - bearer_auth: + - 'droplet:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_list_backup_policies.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_list_backup_policies.yml new file mode 100644 index 000000000..c0f013635 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_list_backup_policies.yml @@ -0,0 +1,40 @@ +operationId: droplets_list_backup_policies + +summary: List Backup Policies for All Existing Droplets + +description: | + To list information about the backup policies for all Droplets in the account, + send a GET request to `/v2/droplets/backups/policies`. + +tags: + - Droplets + +parameters: + - $ref: '../../shared/parameters.yml#/per_page' + - $ref: '../../shared/parameters.yml#/page' + +responses: + '200': + $ref: 'responses/all_droplet_backup_policies.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/droplets_list_backup_policies.yml' + +security: + - bearer_auth: + - 'droplet:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_list_supported_backup_policies.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_list_supported_backup_policies.yml new file mode 100644 index 000000000..f6974eaf4 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/droplets_list_supported_backup_policies.yml @@ -0,0 +1,36 @@ +operationId: droplets_list_supported_backup_policies + +summary: List Supported Droplet Backup Policies + +description: | + To retrieve a list of all supported Droplet backup policies, send a GET + request to `/v2/droplets/backups/supported_policies`. + +tags: + - Droplets + +responses: + '200': + $ref: 'responses/droplets_supported_backup_policies.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/droplets_list_supported_backup_policies.yml' + +security: + - bearer_auth: + - 'droplet:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_get_backup_policy.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_get_backup_policy.yml new file mode 100644 index 000000000..bcc387808 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_get_backup_policy.yml @@ -0,0 +1,5 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/droplets/3164494/backups/policy" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_list_backup_policies.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_list_backup_policies.yml new file mode 100644 index 000000000..c5936fc79 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_list_backup_policies.yml @@ -0,0 +1,5 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/droplets/backups/policies" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_list_supported_backup_policies.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_list_supported_backup_policies.yml new file mode 100644 index 000000000..2978a1936 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/examples/curl/droplets_list_supported_backup_policies.yml @@ -0,0 +1,5 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/droplets/backups/supported_policies" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet.yml index 77e04c36f..778e0acf2 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet.yml @@ -76,24 +76,11 @@ properties: instance creation. next_backup_window: - type: object - 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. - nullable: true - properties: - start: - type: string - format: date-time - example: '2019-12-04T00:00:00Z' - description: A time value given in ISO8601 combined date and time format - specifying the start of the Droplet's backup window. - end: - type: string - format: date-time - example: '2019-12-04T23:00:00Z' - description: A time value given in ISO8601 combined date and time format - specifying the end of the Droplet's backup window. + allOf: + - $ref: 'droplet_next_backup_window.yml' + - 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. snapshot_ids: type: array diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_actions.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_actions.yml index 8acc39ad2..19e895d19 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_actions.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_actions.yml @@ -25,6 +25,42 @@ droplet_action: example: reboot description: The type of action to initiate for the Droplet. +droplet_action_enable_backups: + allOf: + - $ref: '#/droplet_action' + - type: object + properties: + backup_policy: + allOf: + - $ref: 'droplet_backup_policy.yml' + - description: An object specifying the backup policy for the Droplet. If + omitted, the default backup policy will be used. + + example: + type: enable_backups + backup_policy: + plan: daily + hour: 20 + +droplet_action_change_backup_policy: + allOf: + - $ref: '#/droplet_action' + - type: object + properties: + backup_policy: + allOf: + - $ref: 'droplet_backup_policy.yml' + - description: An object specifying the backup policy for the Droplet. + required: + - backup_policy + + example: + type: enable_backups + backup_policy: + plan: weekly + day: SUN + hour: 20 + droplet_action_restore: allOf: - $ref: '#/droplet_action' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_backup_policy.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_backup_policy.yml new file mode 100644 index 000000000..9078d776b --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_backup_policy.yml @@ -0,0 +1,48 @@ +type: object + +properties: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either + `daily` or `weekly`. + + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_backup_policy_record.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_backup_policy_record.yml new file mode 100644 index 000000000..a8188130f --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_backup_policy_record.yml @@ -0,0 +1,24 @@ +type: object + +properties: + droplet_id: + type: integer + example: 7101383 + description: The unique identifier for the Droplet. + + backup_enabled: + type: boolean + example: true + description: A boolean value indicating whether backups are enabled for the + Droplet. + + backup_policy: + allOf: + - $ref: 'droplet_backup_policy.yml' + - description: An object specifying the backup policy for the Droplet. + + next_backup_window: + allOf: + - $ref: 'droplet_next_backup_window.yml' + - description: An object containing keys with the start and end times of the + window during which the backup will occur. diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_create.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_create.yml index 0a6d7ff8e..637217044 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_create.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_create.yml @@ -45,6 +45,12 @@ properties: description: A boolean indicating whether automated backups should be enabled for the Droplet. + backup_policy: + allOf: + - $ref: 'droplet_backup_policy.yml' + - description: An object specifying the backup policy for the Droplet. If + omitted and `backups` is `true`, the default backup policy will be used. + ipv6: type: boolean example: true diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_next_backup_window.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_next_backup_window.yml new file mode 100644 index 000000000..dda61ca28 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/droplet_next_backup_window.yml @@ -0,0 +1,15 @@ +type: object +nullable: true +properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format + specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format + specifying the end of the Droplet's backup window. \ No newline at end of file diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/supported_droplet_backup_policy.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/supported_droplet_backup_policy.yml new file mode 100644 index 000000000..cce53985e --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/models/supported_droplet_backup_policy.yml @@ -0,0 +1,39 @@ +type: object + +properties: + name: + type: string + example: daily + description: The name of the Droplet backup plan. + + possible_window_starts: + type: array + items: + type: integer + description: | + An array of integers representing the hours of the day that a backup can + start. + example: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + + window_length_hours: + type: integer + example: 4 + description: The number of hours that a backup window is open. + + retention_period_days: + type: integer + example: 7 + description: The number of days that a backup will be kept. + + possible_days: + type: array + items: + type: string + example: ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"] + description: The day of the week the backup will occur. diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/all_droplet_backup_policies.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/all_droplet_backup_policies.yml new file mode 100644 index 000000000..aad1f25d1 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/all_droplet_backup_policies.yml @@ -0,0 +1,58 @@ +description: A JSON object with a `policies` key set to a map. The keys are + Droplet IDs and the values are objects containing the backup policy + information for each Droplet. + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + allOf: + - type: object + properties: + policies: + description: | + A map where the keys are the Droplet IDs and the values are + objects containing the backup policy information for each Droplet. + additionalProperties: + $ref: '../models/droplet_backup_policy_record.yml' + - $ref: '../../../shared/pages.yml#/pagination' + - $ref: '../../../shared/meta.yml' + + example: + policies: + "436444618": + droplet_id: 436444618 + backup_enabled: false + "444909314": + droplet_id: 444909314 + backup_enabled: true + backup_policy: + plan: daily + hour: 20 + window_length_hours: 4 + retention_period_days: 7 + next_backup_window: + start: "2024-09-13T20:00:00Z" + end: "2024-09-14T00:00:00Z" + "444909706": + droplet_id: 444909706 + backup_enabled: true + backup_policy: + plan: weekly + weekday: SUN + hour: 20 + window_length_hours: 4 + retention_period_days: 28 + next_backup_window: + start: "2024-09-15T20:00:00Z" + end: "2024-09-16T00:00:00Z" + links: {} + meta: + total: 3 diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/droplet_backup_policy.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/droplet_backup_policy.yml new file mode 100644 index 000000000..0fc161ec1 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/droplet_backup_policy.yml @@ -0,0 +1,32 @@ +description: | + The response will be a JSON object with a key called `policy`. This will be + set to a JSON object that contains the standard Droplet backup policy attributes. + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + properties: + policy: + $ref: '../models/droplet_backup_policy_record.yml' + + example: + policy: + droplet_id: 444909706 + backup_enabled: true + backup_policy: + plan: "weekly" + weekday: "SUN" + hour: 20 + window_length_hours: 4 + retention_period_days: 28 + next_backup_window: + start: "2024-09-15T20:00:00Z" + end: "2024-09-16T00:00:00Z" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/droplets_supported_backup_policies.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/droplets_supported_backup_policies.yml new file mode 100644 index 000000000..6ae6be4b7 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/droplets/responses/droplets_supported_backup_policies.yml @@ -0,0 +1,53 @@ +description: A JSON object with an `supported_policies` key set to an array + of objects describing each supported backup policy. + + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + type: object + properties: + supported_policies: + type: array + items: + $ref: '../models/supported_droplet_backup_policy.yml' + + example: + supported_policies: + - name: "weekly" + possible_window_starts: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + window_length_hours: 4 + retention_period_days: 28 + possible_days": + - "SUN" + - "MON" + - "TUE" + - "WED" + - "THU" + - "FRI" + - "SAT" + - name: "daily" + possible_window_starts: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + window_length_hours: 4 + retention_period_days: 7 + possible_days: [] diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/images/examples/python/imageActions_get.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/images/examples/python/imageActions_get.yml index ef075b085..d19423f66 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/images/examples/python/imageActions_get.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/images/examples/python/imageActions_get.yml @@ -5,4 +5,4 @@ source: |- client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - resp = client.image_actions.get(image_id="fd9391a") + resp = client.image_actions.get(action_id=36805527, image_id=7938269) diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/images/examples/python/imageActions_list.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/images/examples/python/imageActions_list.yml index bca3325d4..b207504eb 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/images/examples/python/imageActions_list.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/images/examples/python/imageActions_list.yml @@ -5,4 +5,4 @@ source: |- client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - resp = client.image_actions.list() + resp = client.image_actions.list(image_id=7938269) diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_connections.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_connections.yml new file mode 100644 index 000000000..edd2a7527 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_connections.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_connections?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_downtime.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_downtime.yml new file mode 100644 index 000000000..728076f3a --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_downtime.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_downtime?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_health_checks.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_health_checks.yml new file mode 100644 index 000000000..1e3830029 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_health_checks.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_health_checks?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_50p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_50p.yml new file mode 100644 index 000000000..f771cd7a6 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_50p.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_95p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_95p.yml new file mode 100644 index 000000000..208b3244a --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_95p.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_99p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_99p.yml new file mode 100644 index 000000000..a68393e2d --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_99p.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_avg.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_avg.yml new file mode 100644 index 000000000..782de6aed --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_response_time_avg.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_responses.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_responses.yml new file mode 100644 index 000000000..8e6e928cb --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_responses.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_responses?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_50p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_50p.yml new file mode 100644 index 000000000..149f58d42 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_50p.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_95p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_95p.yml new file mode 100644 index 000000000..215c6b034 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_95p.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_avg.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_avg.yml new file mode 100644 index 000000000..cdcfc5433 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_http_session_duration_avg.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_queue_size.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_queue_size.yml new file mode 100644 index 000000000..29354159b --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_droplets_queue_size.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/droplets_queue_size?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_connections_current.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_connections_current.yml new file mode 100644 index 000000000..b3824a972 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_connections_current.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_connections_current?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_connections_limit.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_connections_limit.yml new file mode 100644 index 000000000..5d40d922b --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_connections_limit.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_connections_limit?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_cpu_utilization.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_cpu_utilization.yml new file mode 100644 index 000000000..bf5a77b33 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_cpu_utilization.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_firewall_dropped_bytes.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_firewall_dropped_bytes.yml new file mode 100644 index 000000000..c969e01d9 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_firewall_dropped_bytes.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_firewall_dropped_packets.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_firewall_dropped_packets.yml new file mode 100644 index 000000000..09d98a3bf --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_firewall_dropped_packets.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_http_requests_per_second.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_http_requests_per_second.yml new file mode 100644 index 000000000..409e03978 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_http_requests_per_second.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_http_responses.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_http_responses.yml new file mode 100644 index 000000000..90e8f8849 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_http_responses.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_http_responses?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_http.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_http.yml new file mode 100644 index 000000000..68b0f5456 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_http.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_tcp.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_tcp.yml new file mode 100644 index 000000000..ded4a6499 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_tcp.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_udp.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_udp.yml new file mode 100644 index 000000000..b1afbd245 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_network_throughput_udp.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml new file mode 100644 index 000000000..d121b18a1 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml new file mode 100644 index 000000000..cb78e1e4f --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_current.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_current.yml new file mode 100644 index 000000000..78f687f99 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_current.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml new file mode 100644 index 000000000..451a3307f --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_limit.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_limit.yml new file mode 100644 index 000000000..592672d0c --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/examples/curl/monitoring_get_lb_frontend_tls_connections_limit.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit?lb_id=4de7ac8b-495b-4884-9a69-1050c6793cd6&start=1636051668&end=1636051668" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/models/metrics_result.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/models/metrics_result.yml index 20e19e9bb..a3a67456f 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/models/metrics_result.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/models/metrics_result.yml @@ -6,13 +6,17 @@ properties: metric: type: object description: >- - An object containing the metric labels. + An object containing the metric's labels. These labels are key/value pairs + that vary depending on the metric being queried. For example, load balancer + metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` + label, and App Platform metrics contain a `app_component` label. additionalProperties: type: string example: host_id: "19201920" values: type: array + description: An array of values for the metric. example: - - 1435781430 - "1" diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_connections.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_connections.yml new file mode 100644 index 000000000..bfb809dc6 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_connections.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_connections + +summary: Get Load Balancer Droplets Active Connections Metrics + +description: >- + To retrieve Droplets active connections for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_connections`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_connections.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_downtime.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_downtime.yml new file mode 100644 index 000000000..627f05f38 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_downtime.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_downtime + +summary: Get Load Balancer Droplets Downtime Status Metrics + +description: >- + To retrieve Droplets downtime status for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_downtime`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_downtime.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_health_checks.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_health_checks.yml new file mode 100644 index 000000000..d8d57ac1b --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_health_checks.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_health_checks + +summary: Get Load Balancer Droplets Health Check Status Metrics + +description: >- + To retrieve Droplets health check status for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_health_checks`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_health_checks.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_50p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_50p.yml new file mode 100644 index 000000000..1bf147ba7 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_50p.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_http_response_time_50p + +summary: Get Load Balancer Droplets 50th Percentile HTTP Response Time Metrics + +description: >- + To retrieve Droplets 50th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_http_response_time_50p.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_95p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_95p.yml new file mode 100644 index 000000000..fc8e807dc --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_95p.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_http_response_time_95p + +summary: Get Load Balancer Droplets 95th Percentile HTTP Response Time Metrics + +description: >- + To retrieve Droplets 95th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_http_response_time_95p.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_99p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_99p.yml new file mode 100644 index 000000000..7b00505d6 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_99p.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_http_response_time_99p + +summary: Get Load Balancer Droplets 99th Percentile HTTP Response Time Metrics + +description: >- + To retrieve Droplets 99th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_http_response_time_99p.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_avg.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_avg.yml new file mode 100644 index 000000000..17950cb55 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_response_time_avg.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_http_response_time_avg + +summary: Get Load Balancer Droplets Average HTTP Response Time Metrics + +description: >- + To retrieve Droplets average HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_http_response_time_avg.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_responses.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_responses.yml new file mode 100644 index 000000000..558f6db8c --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_responses.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_http_responses + +summary: Get Load Balancer Droplets HTTP Rate Of Response Code Metrics + +description: >- + To retrieve Droplets HTTP rate of response code for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_responses`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_http_responses.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_50p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_50p.yml new file mode 100644 index 000000000..da40f463a --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_50p.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_http_session_duration_50p + +summary: Get Load Balancer Droplets 50th Percentile HTTP Session Duration Metrics + +description: >- + To retrieve Droplets 50th percentile HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_http_session_duration_50p.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_95p.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_95p.yml new file mode 100644 index 000000000..2872dd86f --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_95p.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_http_session_duration_95p + +summary: Get Load Balancer Droplets 95th Percentile HTTP Session Duration Metrics + +description: >- + To retrieve Droplets 95th percentile HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_http_session_duration_95p.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_avg.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_avg.yml new file mode 100644 index 000000000..836face96 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_http_session_duration_avg.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_http_session_duration_avg + +summary: Get Load Balancer Droplets Average HTTP Session Duration Metrics + +description: >- + To retrieve Droplets average HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_http_session_duration_avg.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_queue_size.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_queue_size.yml new file mode 100644 index 000000000..39c28ef5f --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_droplets_queue_size.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_droplets_queue_size + +summary: Get Load Balancer Droplets Queue Size Metrics + +description: >- + To retrieve Droplets queue size for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_queue_size`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_droplets_queue_size.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_connections_current.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_connections_current.yml new file mode 100644 index 000000000..5b3120b33 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_connections_current.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_connections_current + +summary: Get Load Balancer Frontend Total Current Active Connections Metrics + +description: >- + To retrieve frontend total current active connections for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_connections_current`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_connections_current.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_connections_limit.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_connections_limit.yml new file mode 100644 index 000000000..30ba2d399 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_connections_limit.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_connections_limit + +summary: Get Load Balancer Frontend Max Connections Limit Metrics + +description: >- + To retrieve frontend max connections limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_connections_limit`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_connections_limit.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_cpu_utilization.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_cpu_utilization.yml new file mode 100644 index 000000000..607078c81 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_cpu_utilization.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_cpu_utilization + +summary: Get Load Balancer Frontend Average Percentage CPU Utilization Metrics + +description: >- + To retrieve frontend average percentage CPU utilization for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_cpu_utilization.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_bytes.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_bytes.yml new file mode 100644 index 000000000..3460be5b3 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_bytes.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_firewall_dropped_bytes + +summary: Get Load Balancer Frontend Firewall Dropped Bytes Metrics + +description: >- + To retrieve firewall dropped bytes for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes`. This is currently only supported for network load balancers. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_firewall_dropped_bytes.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_packets.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_packets.yml new file mode 100644 index 000000000..381ee5415 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_packets.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_firewall_dropped_packets + +summary: Get Load Balancer Frontend Firewall Dropped Packets Metrics + +description: >- + To retrieve firewall dropped packets per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets`. This is currently only supported for network load balancers. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_firewall_dropped_packets.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_http_requests_per_second.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_http_requests_per_second.yml new file mode 100644 index 000000000..2e2b21a3e --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_http_requests_per_second.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_http_requests_per_second + +summary: Get Load Balancer Frontend HTTP Requests Metrics + +description: >- + To retrieve frontend HTTP requests per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_http_requests_per_second.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_http_responses.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_http_responses.yml new file mode 100644 index 000000000..0171a0add --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_http_responses.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_http_responses + +summary: Get Load Balancer Frontend HTTP Rate Of Response Code Metrics + +description: >- + To retrieve frontend HTTP rate of response code for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_http_responses`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_http_responses.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_http.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_http.yml new file mode 100644 index 000000000..28fd1a4d9 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_http.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_network_throughput_http + +summary: Get Load Balancer Frontend HTTP Throughput Metrics + +description: >- + To retrieve frontend HTTP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_network_throughput_http.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_tcp.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_tcp.yml new file mode 100644 index 000000000..6925c876c --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_tcp.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_network_throughput_tcp + +summary: Get Load Balancer Frontend TCP Throughput Metrics + +description: >- + To retrieve frontend TCP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_network_throughput_tcp.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_udp.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_udp.yml new file mode 100644 index 000000000..2e958e6ae --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_network_throughput_udp.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_network_throughput_udp + +summary: Get Load Balancer Frontend UDP Throughput Metrics + +description: >- + To retrieve frontend UDP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_network_throughput_udp.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml new file mode 100644 index 000000000..266f0b5b2 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_nlb_tcp_network_throughput + +summary: Get Network Load Balancer Frontend TCP Throughput Metrics + +description: >- + To retrieve frontend TCP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml new file mode 100644 index 000000000..02788556e --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_nlb_udp_network_throughput + +summary: Get Network Load Balancer Frontend UDP Throughput Metrics + +description: >- + To retrieve frontend UDP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_current.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_current.yml new file mode 100644 index 000000000..0023511ad --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_current.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_tls_connections_current + +summary: Get Load Balancer Frontend Current TLS Connections Rate Metrics + +description: >- + To retrieve frontend current TLS connections rate for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_tls_connections_current.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml new file mode 100644 index 000000000..6e9d7643f --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit + +summary: Get Load Balancer Frontend Closed TLS Connections For Exceeded Rate Limit Metrics + +description: >- + To retrieve frontend closed TLS connections for exceeded rate limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_limit.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_limit.yml new file mode 100644 index 000000000..21c362fa9 --- /dev/null +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/monitoring_get_lb_frontend_tls_connections_limit.yml @@ -0,0 +1,37 @@ +operationId: monitoring_get_lb_frontend_tls_connections_limit + +summary: Get Load Balancer Frontend Max TLS Connections Limit Metrics + +description: >- + To retrieve frontend max TLS connections limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit`. + +tags: + - Monitoring + +responses: + '200': + $ref: 'responses/metric_response.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +parameters: + - $ref: 'parameters.yml#/load_balancer_id' + - $ref: 'parameters.yml#/metric_timestamp_start' + - $ref: 'parameters.yml#/metric_timestamp_end' + +x-codeSamples: + - $ref: 'examples/curl/monitoring_get_lb_frontend_tls_connections_limit.yml' + +security: + - bearer_auth: + - 'monitoring:read' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/parameters.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/parameters.yml index 6c5599e1b..4cba95de1 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/parameters.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/monitoring/parameters.yml @@ -16,6 +16,15 @@ app_id: schema: type: string +load_balancer_id: + in: query + name: lb_id + description: A unique identifier for a load balancer. + required: true + schema: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + app_component: in: query name: app_component diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/volumes/volumeActions_post.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/volumes/volumeActions_post.yml index ee2774fd8..f3733d880 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/volumes/volumeActions_post.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/volumes/volumeActions_post.yml @@ -16,7 +16,7 @@ description: | | 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 + Each volume may only be attached to a single Droplet. However, up to fifteen 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, diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/volumes/volumeActions_post_byId.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/volumes/volumeActions_post_byId.yml index f3b1a7094..084c5b255 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/volumes/volumeActions_post_byId.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/volumes/volumeActions_post_byId.yml @@ -15,7 +15,7 @@ description: | | 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 + Each volume may only be attached to a single Droplet. However, up to fifteen 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, diff --git a/packages/openapi-typescript/examples/github-api-export-type-immutable.ts b/packages/openapi-typescript/examples/github-api-export-type-immutable.ts index 5e4c1668d..e0a3b0a55 100644 --- a/packages/openapi-typescript/examples/github-api-export-type-immutable.ts +++ b/packages/openapi-typescript/examples/github-api-export-type-immutable.ts @@ -649,7 +649,7 @@ export type paths = { * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -718,6 +718,42 @@ export type paths = { readonly patch?: never; readonly trace?: never; }; + readonly "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path?: never; + readonly cookie?: never; + }; + /** + * Get a summary of Copilot usage for an enterprise team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + readonly get: operations["copilot/usage-metrics-for-enterprise-team"]; + readonly put?: never; + readonly post?: never; + readonly delete?: never; + readonly options?: never; + readonly head?: never; + readonly patch?: never; + readonly trace?: never; + }; readonly "/events": { readonly parameters: { readonly query?: never; @@ -3037,7 +3073,7 @@ export type paths = { * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. * See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -4808,6 +4844,9 @@ export type paths = { /** * Get an organization repository ruleset * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ readonly get: operations["repos/get-org-ruleset"]; /** @@ -5002,6 +5041,42 @@ export type paths = { readonly patch?: never; readonly trace?: never; }; + readonly "/orgs/{org}/team/{team_slug}/copilot/usage": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path?: never; + readonly cookie?: never; + }; + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + readonly get: operations["copilot/usage-metrics-for-team"]; + readonly put?: never; + readonly post?: never; + readonly delete?: never; + readonly options?: never; + readonly head?: never; + readonly patch?: never; + readonly trace?: never; + }; readonly "/orgs/{org}/teams": { readonly parameters: { readonly query?: never; @@ -5620,7 +5695,7 @@ export type paths = { * * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. */ readonly post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; readonly delete?: never; @@ -7418,9 +7493,9 @@ export type paths = { * Create an attestation * @description Store an artifact attestation and associate it with a repository. * - * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. * - * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). */ readonly post: operations["repos/create-attestation"]; readonly delete?: never; @@ -8619,6 +8694,30 @@ export type paths = { readonly patch?: never; readonly trace?: never; }; + readonly "/repos/{owner}/{repo}/code-security-configuration": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path?: never; + readonly cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + readonly get: operations["code-security/get-configuration-for-repository"]; + readonly put?: never; + readonly post?: never; + readonly delete?: never; + readonly options?: never; + readonly head?: never; + readonly patch?: never; + readonly trace?: never; + }; readonly "/repos/{owner}/{repo}/codeowners/errors": { readonly parameters: { readonly query?: never; @@ -13282,6 +13381,9 @@ export type paths = { /** * Get a repository ruleset * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ readonly get: operations["repos/get-repo-ruleset"]; /** @@ -13380,6 +13482,30 @@ export type paths = { readonly patch?: never; readonly trace?: never; }; + readonly "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path?: never; + readonly cookie?: never; + }; + readonly get?: never; + readonly put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + readonly post: operations["secret-scanning/create-push-protection-bypass"]; + readonly delete?: never; + readonly options?: never; + readonly head?: never; + readonly patch?: never; + readonly trace?: never; + }; readonly "/repos/{owner}/{repo}/security-advisories": { readonly parameters: { readonly query?: never; @@ -17305,6 +17431,20 @@ export type components = { /** @description The functions in the package that are affected by the vulnerability. */ readonly vulnerable_functions: readonly string[] | null; }; + readonly "cvss-severities": { + readonly cvss_v3?: { + /** @description The CVSS 3 vector string. */ + readonly vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + readonly cvss_v4?: { + /** @description The CVSS 4 vector string. */ + readonly vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; /** * Simple User * @description A GitHub user. @@ -17463,12 +17603,17 @@ export type components = { /** @description The CVSS score. */ readonly score: number | null; } | null; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: readonly { /** @description The Common Weakness Enumeration (CWE) identifier. */ readonly cwe_id: string; /** @description The name of the CWE. */ readonly name: string; }[] | null; + readonly epss?: { + readonly percentage?: number; + readonly percentile?: number; + } | null; /** @description The users who contributed to the advisory. */ readonly credits: readonly { readonly user: components["schemas"]["simple-user"]; @@ -17583,6 +17728,8 @@ export type components = { readonly slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ readonly node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + readonly client_id?: string; readonly owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -17640,8 +17787,6 @@ export type components = { * @example 5 */ readonly installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - readonly client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ readonly client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -19141,6 +19286,45 @@ export type components = { /** Format: uri */ readonly html_url: string | null; }; + /** + * Organization Simple + * @description A GitHub organization. + */ + readonly "organization-simple": { + /** @example github */ + readonly login: string; + /** @example 1 */ + readonly id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + readonly node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + readonly url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + readonly repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + readonly events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + readonly hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + readonly issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + readonly members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + readonly public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + readonly avatar_url: string; + /** @example A great organization */ + readonly description: string | null; + }; /** * Team Simple * @description Groups of organization members that gives permissions on specified repositories. @@ -19236,124 +19420,6 @@ export type components = { readonly repositories_url: string; readonly parent: components["schemas"]["nullable-team-simple"]; }; - /** - * Organization - * @description GitHub account for managing multiple users, teams, and repositories - */ - readonly organization: { - /** - * @description Unique login name of the organization - * @example new-org - */ - readonly login: string; - /** - * Format: uri - * @description URL for the organization - * @example https://api.github.com/orgs/github - */ - readonly url: string; - readonly id: number; - readonly node_id: string; - /** Format: uri */ - readonly repos_url: string; - /** Format: uri */ - readonly events_url: string; - readonly hooks_url: string; - readonly issues_url: string; - readonly members_url: string; - readonly public_members_url: string; - readonly avatar_url: string; - readonly description: string | null; - /** - * Format: uri - * @description Display blog url for the organization - * @example blog.example-org.com - */ - readonly blog?: string; - /** Format: uri */ - readonly html_url: string; - /** - * @description Display name for the organization - * @example New Org - */ - readonly name?: string; - /** - * @description Display company name for the organization - * @example Acme corporation - */ - readonly company?: string; - /** - * @description Display location for the organization - * @example Berlin, Germany - */ - readonly location?: string; - /** - * Format: email - * @description Display email for the organization - * @example org@example.com - */ - readonly email?: string; - /** @description Specifies if organization projects are enabled for this org */ - readonly has_organization_projects: boolean; - /** @description Specifies if repository projects are enabled for repositories that belong to this org */ - readonly has_repository_projects: boolean; - readonly is_verified?: boolean; - readonly public_repos: number; - readonly public_gists: number; - readonly followers: number; - readonly following: number; - readonly type: string; - /** Format: date-time */ - readonly created_at: string; - /** Format: date-time */ - readonly updated_at: string; - readonly plan?: { - readonly name?: string; - readonly space?: number; - readonly private_repos?: number; - readonly filled_seats?: number; - readonly seats?: number; - }; - }; - /** - * Organization Simple - * @description A GitHub organization. - */ - readonly "organization-simple": { - /** @example github */ - readonly login: string; - /** @example 1 */ - readonly id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - readonly node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - readonly url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - readonly repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - readonly events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - readonly hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - readonly issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - readonly members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - readonly public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - readonly avatar_url: string; - /** @example A great organization */ - readonly description: string | null; - }; /** * Enterprise Team * @description Group of enterprise owners and/or members @@ -19388,7 +19454,7 @@ export type components = { /** @description The assignee that has been granted access to GitHub Copilot. */ readonly assignee: { readonly [key: string]: unknown; - } & (components["schemas"]["simple-user"] | components["schemas"]["team"] | components["schemas"]["organization"]); + } & components["schemas"]["simple-user"]; /** @description The organization to which this seat belongs. */ readonly organization?: components["schemas"]["organization-simple"] | null; /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ @@ -19511,6 +19577,7 @@ export type components = { /** @description The full CVSS vector string for the advisory. */ readonly vector_string: string | null; }; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ readonly cwes: readonly { /** @description The unique CWE ID. */ @@ -19904,7 +19971,7 @@ export type components = { /** @description The type of secret that secret scanning detected. */ readonly 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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ readonly secret_type_display_name?: string; /** @description The secret that was detected. */ readonly secret?: string; @@ -20025,6 +20092,8 @@ export type components = { readonly slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ readonly node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + readonly client_id?: string; readonly owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -20082,8 +20151,6 @@ export type components = { * @example 5 */ readonly installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - readonly client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ readonly client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -20869,16 +20936,31 @@ export type components = { * "192.0.2.1" * ] */ readonly actions_macos?: readonly string[]; + /** @example [ + * "192.0.2.1" + * ] */ + readonly codespaces?: readonly string[]; /** @example [ * "192.0.2.1" * ] */ readonly dependabot?: readonly string[]; + /** @example [ + * "192.0.2.1" + * ] */ + readonly copilot?: readonly string[]; readonly domains?: { readonly website?: readonly string[]; readonly codespaces?: readonly string[]; readonly copilot?: readonly string[]; readonly packages?: readonly string[]; readonly actions?: readonly string[]; + readonly artifact_attestations?: { + /** @example [ + * "example" + * ] */ + readonly trust_domain?: string; + readonly services?: readonly string[]; + }; }; }; readonly "security-and-analysis": { @@ -21686,8 +21768,14 @@ export type components = { readonly security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ readonly description?: string; + /** @description A description of the rule used to detect the alert. */ + readonly full_description?: string; /** @description A set of tags applicable for the rule. */ readonly tags?: readonly string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + readonly help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + readonly help_uri?: string | null; }; /** @description The version of the tool used to generate the code scanning analysis. */ readonly "code-scanning-analysis-tool-version": string | null; @@ -21775,6 +21863,16 @@ export type components = { * @enum {string} */ readonly dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + readonly dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + readonly dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + readonly labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -21805,6 +21903,11 @@ export type components = { * @enum {string} */ readonly secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + readonly secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -23030,9 +23133,14 @@ export type components = { * Organization Custom Property * @description Custom property defined on an organization */ - readonly "org-custom-property": { + readonly "custom-property": { /** @description The name of the property */ readonly property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + readonly url?: string; /** * @description The type of the value for the property * @example single_select @@ -23777,18 +23885,15 @@ export type components = { * @description An actor that can bypass rules in a ruleset */ readonly "repository-ruleset-bypass-actor": { - /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - * */ + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ readonly actor_id?: number | null; /** * @description The type of actor that can bypass a ruleset. - * * @enum {string} */ readonly actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; /** * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - * * @enum {string} */ readonly bypass_mode: "always" | "pull_request"; @@ -23859,7 +23964,6 @@ export type components = { /** * 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. - * */ readonly "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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); /** @@ -24219,9 +24323,6 @@ export type components = { readonly name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -24294,7 +24395,7 @@ export type components = { * @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} */ - readonly evaluation_result?: "pass" | "fail"; + readonly evaluation_result?: "pass" | "fail" | "bypass"; }[]; /** * Rule Suite @@ -24328,10 +24429,10 @@ export type components = { */ readonly result?: "pass" | "fail" | "bypass"; /** - * @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} + * @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`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} */ - readonly evaluation_result?: "pass" | "fail"; + readonly evaluation_result?: "pass" | "fail" | "bypass" | null; /** @description Details on the evaluated rules. */ readonly rule_evaluations?: readonly { readonly rule_source?: { @@ -24354,8 +24455,8 @@ export type components = { readonly result?: "pass" | "fail"; /** @description The type of rule. */ readonly rule_type?: string; - /** @description Any associated details with the rule evaluation. */ - readonly details?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + readonly details?: string | null; }[]; }; /** @description A product affected by the vulnerability detailed in a repository security advisory. */ @@ -24462,6 +24563,7 @@ export type components = { /** @description The CVSS score. */ readonly score: number | null; } | null; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: readonly { /** @description The Common Weakness Enumeration (CWE) identifier. */ readonly cwe_id: string; @@ -26417,6 +26519,7 @@ export type components = { readonly site_admin?: boolean; }; readonly name?: string; + readonly client_id?: string; readonly description?: string; readonly external_url?: string; readonly html_url?: string; @@ -26820,6 +26923,7 @@ export type components = { */ readonly "check-run": { /** + * Format: int64 * @description The id of the check. * @example 21 */ @@ -27051,7 +27155,7 @@ export type components = { readonly security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ readonly description?: string; - /** @description description of the rule used to detect the alert. */ + /** @description A description of the rule used to detect the alert. */ readonly full_description?: string; /** @description A set of tags applicable for the rule. */ readonly tags?: readonly string[] | null; @@ -27382,6 +27486,15 @@ export type components = { /** @description Any errors that ocurred during processing of the delivery. */ readonly errors?: readonly string[] | null; }; + /** @description Code security configuration associated with a repository and attachment status */ + readonly "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + readonly status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + readonly configuration?: components["schemas"]["code-security-configuration"]; + }; /** * CODEOWNERS errors * @description A list of errors found in a repo's CODEOWNERS file @@ -28279,6 +28392,22 @@ export type components = { }; }; }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + readonly "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + readonly "repository-rule-violation-error": { + readonly message?: string; + readonly documentation_url?: string; + readonly status?: string; + readonly metadata?: { + readonly secret_scanning?: { + readonly bypass_placeholders?: readonly { + readonly placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + readonly token_type?: string; + }[]; + }; + }; + }; /** * Contributor * @description Contributor @@ -31406,7 +31535,7 @@ export type components = { /** @description The type of secret that secret scanning detected. */ readonly 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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ readonly secret_type_display_name?: string; /** @description The secret that was detected. */ readonly secret?: string; @@ -31600,6 +31729,21 @@ export type components = { readonly type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; readonly details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + readonly "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + readonly "secret-scanning-push-protection-bypass": { + readonly reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly expire_at?: string | null; + /** @description The token type this bypass is for. */ + readonly token_type?: string; + }; readonly "repository-advisory-create": { /** @description A short summary of the advisory. */ readonly summary: string; @@ -35372,7 +35516,6 @@ export type components = { /** * Merge Group * @description A group of pull requests that the merge queue has grouped together to be merged. - * */ readonly "merge-group": { /** @description The SHA of the merge group. */ @@ -38203,7 +38346,7 @@ export type components = { /** @description The type of secret that secret scanning detected. */ readonly 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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ readonly secret_type_display_name?: string; /** * @description The token status as of the latest validity check. @@ -38225,6 +38368,7 @@ export type components = { readonly score: number; readonly vector_string: string | null; }; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: readonly { readonly cwe_id: string; readonly name: string; @@ -38649,6 +38793,8 @@ export type components = { readonly html_url: string; /** @description Unique identifier of the GitHub app */ readonly id: number | null; + /** @description The client ID of the GitHub app */ + readonly client_id?: string | null; /** @description The name of the GitHub app */ readonly name: string; readonly node_id: string; @@ -38890,6 +39036,8 @@ export type components = { readonly html_url: string; /** @description Unique identifier of the GitHub app */ readonly id: number | null; + /** @description Client ID of the GitHub app */ + readonly client_id?: string | null; /** @description The name of the GitHub app */ readonly name: string; readonly node_id: string; @@ -39131,6 +39279,8 @@ export type components = { readonly html_url: string; /** @description Unique identifier of the GitHub app */ readonly id: number | null; + /** @description The Client ID for the GitHub app */ + readonly client_id?: string | null; /** @description The name of the GitHub app */ readonly name: string; readonly node_id: string; @@ -40132,7 +40282,7 @@ export type components = { readonly "webhook-custom-property-created": { /** @enum {string} */ readonly action: "created"; - readonly definition: components["schemas"]["org-custom-property"]; + readonly definition: components["schemas"]["custom-property"]; readonly enterprise?: components["schemas"]["enterprise-webhooks"]; readonly installation?: components["schemas"]["simple-installation"]; readonly organization?: components["schemas"]["organization-simple-webhooks"]; @@ -40155,7 +40305,7 @@ export type components = { readonly "webhook-custom-property-updated": { /** @enum {string} */ readonly action: "updated"; - readonly definition: components["schemas"]["org-custom-property"]; + readonly definition: components["schemas"]["custom-property"]; readonly enterprise?: components["schemas"]["enterprise-webhooks"]; readonly installation?: components["schemas"]["simple-installation"]; readonly organization?: components["schemas"]["organization-simple-webhooks"]; @@ -81529,6 +81679,7 @@ export type components = { readonly score: number; readonly vector_string: string | null; }; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: readonly { readonly cwe_id: string; readonly name: string; @@ -81847,6 +81998,70 @@ export type components = { readonly target_url: string | null; readonly updated_at: string; }; + /** parent issue added event */ + readonly "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + readonly action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + readonly parent_issue_id: number; + readonly parent_issue: components["schemas"]["issue"]; + readonly parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + readonly sub_issue_id: number; + readonly sub_issue: components["schemas"]["issue"]; + readonly installation?: components["schemas"]["simple-installation"]; + readonly organization?: components["schemas"]["organization-simple-webhooks"]; + readonly repository?: components["schemas"]["repository-webhooks"]; + readonly sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** parent issue removed event */ + readonly "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + readonly action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + readonly parent_issue_id: number; + readonly parent_issue: components["schemas"]["issue"]; + readonly parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + readonly sub_issue_id: number; + readonly sub_issue: components["schemas"]["issue"]; + readonly installation?: components["schemas"]["simple-installation"]; + readonly organization?: components["schemas"]["organization-simple-webhooks"]; + readonly repository?: components["schemas"]["repository-webhooks"]; + readonly sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue added event */ + readonly "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + readonly action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + readonly sub_issue_id: number; + readonly sub_issue: components["schemas"]["issue"]; + readonly sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + readonly parent_issue_id: number; + readonly parent_issue: components["schemas"]["issue"]; + readonly installation?: components["schemas"]["simple-installation"]; + readonly organization?: components["schemas"]["organization-simple-webhooks"]; + readonly repository?: components["schemas"]["repository-webhooks"]; + readonly sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue removed event */ + readonly "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + readonly action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + readonly sub_issue_id: number; + readonly sub_issue: components["schemas"]["issue"]; + readonly sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + readonly parent_issue_id: number; + readonly parent_issue: components["schemas"]["issue"]; + readonly installation?: components["schemas"]["simple-installation"]; + readonly organization?: components["schemas"]["organization-simple-webhooks"]; + readonly repository?: components["schemas"]["repository-webhooks"]; + readonly sender?: components["schemas"]["simple-user-webhooks"]; + }; /** team_add event */ readonly "webhook-team-add": { readonly enterprise?: components["schemas"]["enterprise-webhooks"]; @@ -83524,7 +83739,7 @@ export type components = { /** Format: uri */ readonly check_suite_url: string; /** @enum {string|null} */ - readonly conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + readonly conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; /** Format: date-time */ readonly created_at: string; readonly event: string; @@ -85137,7 +85352,7 @@ export type components = { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ readonly "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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * for a complete list of secret types. */ readonly "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`. */ @@ -85146,6 +85361,8 @@ export type components = { readonly "secret-scanning-alert-sort": "created" | "updated"; /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ readonly "secret-scanning-alert-validity": string; + /** @description The slug of the team name. */ + readonly "team-slug": string; /** @description The unique identifier of the gist. */ readonly "gist-id": string; /** @description The unique identifier of the comment. */ @@ -85204,8 +85421,6 @@ export type components = { readonly "migration-id": number; /** @description repo_name parameter */ readonly "repo-name": string; - /** @description The slug of the team name. */ - readonly "team-slug": string; /** @description The unique identifier of the role. */ readonly "role-id": number; /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -85235,8 +85450,7 @@ export type components = { readonly "fine-grained-personal-access-token-id": number; /** @description The custom property name. The name is case sensitive. */ readonly "custom-property-name": string; - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ readonly "ref-in-query": string; /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ readonly "repository-name-in-query": number; @@ -85476,6 +85690,12 @@ export interface operations { * * 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)." */ readonly modified?: string; + /** @description If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + readonly epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + readonly epss_percentile?: 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ readonly 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ @@ -85485,7 +85705,7 @@ export interface operations { /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ readonly per_page?: number; /** @description The property to sort the results by. */ - readonly sort?: "updated" | "published"; + readonly sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; }; readonly header?: never; readonly path?: never; @@ -86460,7 +86680,7 @@ export interface operations { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ readonly 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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * for a complete list of secret types. */ readonly 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`. */ @@ -86501,6 +86721,44 @@ export interface operations { readonly 503: components["responses"]["service_unavailable"]; }; }; + readonly "copilot/usage-metrics-for-enterprise-team": { + readonly parameters: { + readonly query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + readonly since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + readonly until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + readonly page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + readonly per_page?: number; + }; + readonly header?: never; + readonly path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + readonly enterprise: components["parameters"]["enterprise"]; + /** @description The slug of the team name. */ + readonly team_slug: components["parameters"]["team-slug"]; + }; + readonly cookie?: never; + }; + readonly requestBody?: never; + readonly responses: { + /** @description Response */ + readonly 200: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": readonly components["schemas"]["copilot-usage-metrics"][]; + }; + }; + readonly 401: components["responses"]["requires_authentication"]; + readonly 403: components["responses"]["forbidden"]; + readonly 404: components["responses"]["not_found"]; + readonly 500: components["responses"]["internal_error"]; + }; + }; readonly "activity/list-public-events": { readonly parameters: { readonly query?: { @@ -89660,6 +89918,20 @@ export interface operations { * @enum {string} */ readonly dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + readonly dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + readonly dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + readonly labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @default disabled @@ -89696,6 +89968,12 @@ export interface operations { * @enum {string} */ readonly secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + readonly secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @default disabled @@ -89853,6 +90131,16 @@ export interface operations { * @enum {string} */ readonly dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + readonly dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + readonly dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + readonly labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -89883,6 +90171,11 @@ export interface operations { * @enum {string} */ readonly secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + readonly secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -93466,7 +93759,7 @@ export interface operations { readonly [name: string]: unknown; }; content: { - readonly "application/json": readonly components["schemas"]["org-custom-property"][]; + readonly "application/json": readonly components["schemas"]["custom-property"][]; }; }; readonly 403: components["responses"]["forbidden"]; @@ -93487,7 +93780,7 @@ export interface operations { readonly content: { readonly "application/json": { /** @description The array of custom properties to create or update. */ - readonly properties: readonly components["schemas"]["org-custom-property"][]; + readonly properties: readonly components["schemas"]["custom-property"][]; }; }; }; @@ -93498,7 +93791,7 @@ export interface operations { readonly [name: string]: unknown; }; content: { - readonly "application/json": readonly components["schemas"]["org-custom-property"][]; + readonly "application/json": readonly components["schemas"]["custom-property"][]; }; }; readonly 403: components["responses"]["forbidden"]; @@ -93525,7 +93818,7 @@ export interface operations { readonly [name: string]: unknown; }; content: { - readonly "application/json": components["schemas"]["org-custom-property"]; + readonly "application/json": components["schemas"]["custom-property"]; }; }; readonly 403: components["responses"]["forbidden"]; @@ -93572,7 +93865,7 @@ export interface operations { readonly [name: string]: unknown; }; content: { - readonly "application/json": components["schemas"]["org-custom-property"]; + readonly "application/json": components["schemas"]["custom-property"]; }; }; readonly 403: components["responses"]["forbidden"]; @@ -93903,7 +94196,9 @@ export interface operations { */ readonly use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -93920,7 +94215,9 @@ export interface operations { */ readonly squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -94007,9 +94304,7 @@ export interface operations { readonly name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -94039,8 +94334,7 @@ export interface operations { readonly "repos/get-org-rule-suites": { readonly parameters: { readonly query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ readonly ref?: components["parameters"]["ref-in-query"]; /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ readonly repository_name?: components["parameters"]["repository-name-in-query"]; @@ -94156,9 +94450,6 @@ export interface operations { readonly name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -94216,7 +94507,7 @@ export interface operations { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ readonly 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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * for a complete list of secret types. */ readonly 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`. */ @@ -94435,6 +94726,44 @@ export interface operations { }; }; }; + readonly "copilot/usage-metrics-for-team": { + readonly parameters: { + readonly query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + readonly since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + readonly until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + readonly page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + readonly per_page?: number; + }; + readonly header?: never; + readonly path: { + /** @description The organization name. The name is not case sensitive. */ + readonly org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + readonly team_slug: components["parameters"]["team-slug"]; + }; + readonly cookie?: never; + }; + readonly requestBody?: never; + readonly responses: { + /** @description Response */ + readonly 200: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": readonly components["schemas"]["copilot-usage-metrics"][]; + }; + }; + readonly 401: components["responses"]["requires_authentication"]; + readonly 403: components["responses"]["forbidden"]; + readonly 404: components["responses"]["not_found"]; + readonly 500: components["responses"]["internal_error"]; + }; + }; readonly "teams/list": { readonly parameters: { readonly query?: { @@ -96628,7 +96957,7 @@ export interface operations { /** @description Can be `enabled` or `disabled`. */ readonly status?: string; }; - /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ readonly secret_scanning_non_provider_patterns?: { /** @description Can be `enabled` or `disabled`. */ readonly status?: string; @@ -96693,7 +97022,9 @@ export interface operations { */ readonly use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -96710,7 +97041,9 @@ export interface operations { */ readonly squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -99467,7 +99800,6 @@ export interface operations { /** * @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. - * */ readonly contexts: readonly string[]; /** @description The list of status checks to require in order to merge into this branch. */ @@ -99937,7 +100269,6 @@ export interface operations { /** * @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. - * */ readonly contexts?: readonly string[]; /** @description The list of status checks to require in order to merge into this branch. */ @@ -101724,6 +102055,35 @@ export interface operations { readonly 503: components["responses"]["service_unavailable"]; }; }; + readonly "code-security/get-configuration-for-repository": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + readonly owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + readonly repo: components["parameters"]["repo"]; + }; + readonly cookie?: never; + }; + readonly requestBody?: never; + readonly responses: { + /** @description Response */ + readonly 200: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["code-security-configuration-for-repository"]; + }; + }; + readonly 204: components["responses"]["no_content"]; + readonly 304: components["responses"]["not_modified"]; + readonly 403: components["responses"]["forbidden"]; + readonly 404: components["responses"]["not_found"]; + }; + }; readonly "repos/codeowners-errors": { readonly parameters: { readonly query?: { @@ -103115,7 +103475,15 @@ export interface operations { }; }; readonly 404: components["responses"]["not_found"]; - readonly 409: components["responses"]["conflict"]; + /** @description Conflict */ + readonly 409: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; readonly 422: components["responses"]["validation_failed"]; }; }; @@ -104926,7 +105294,15 @@ export interface operations { readonly 403: components["responses"]["forbidden"]; readonly 404: components["responses"]["not_found"]; readonly 409: components["responses"]["conflict"]; - readonly 422: components["responses"]["validation_failed"]; + /** @description Validation failed */ + readonly 422: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; }; }; readonly "git/get-blob": { @@ -110049,6 +110425,7 @@ export interface operations { readonly "application/json": components["schemas"]["content-file"]; }; }; + readonly 304: components["responses"]["not_modified"]; readonly 404: components["responses"]["not_found"]; readonly 422: components["responses"]["validation_failed"]; }; @@ -110764,9 +111141,7 @@ export interface operations { readonly name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -110796,8 +111171,7 @@ export interface operations { readonly "repos/get-repo-rule-suites": { readonly parameters: { readonly query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ readonly ref?: components["parameters"]["ref-in-query"]; /** @description The time period to filter by. * @@ -110922,9 +111296,6 @@ export interface operations { readonly name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -110984,7 +111355,7 @@ export interface operations { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ readonly 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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * for a complete list of secret types. */ readonly 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`. */ @@ -111168,6 +111539,60 @@ export interface operations { readonly 503: components["responses"]["service_unavailable"]; }; }; + readonly "secret-scanning/create-push-protection-bypass": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + readonly owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + readonly repo: components["parameters"]["repo"]; + }; + readonly cookie?: never; + }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + readonly reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + readonly placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + readonly responses: { + /** @description Response */ + readonly 200: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + readonly 403: { + headers: { + readonly [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + readonly 404: { + headers: { + readonly [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + readonly 422: { + headers: { + readonly [name: string]: unknown; + }; + content?: never; + }; + readonly 503: components["responses"]["service_unavailable"]; + }; + }; readonly "security-advisories/list-repository-advisories": { readonly parameters: { readonly query?: { @@ -116165,7 +116590,9 @@ export interface operations { */ readonly delete_branch_on_merge?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -116182,7 +116609,9 @@ export interface operations { */ readonly squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). diff --git a/packages/openapi-typescript/examples/github-api-immutable.ts b/packages/openapi-typescript/examples/github-api-immutable.ts index a69166261..116d1bf01 100644 --- a/packages/openapi-typescript/examples/github-api-immutable.ts +++ b/packages/openapi-typescript/examples/github-api-immutable.ts @@ -649,7 +649,7 @@ export interface paths { * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -718,6 +718,42 @@ export interface paths { readonly patch?: never; readonly trace?: never; }; + readonly "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path?: never; + readonly cookie?: never; + }; + /** + * Get a summary of Copilot usage for an enterprise team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + readonly get: operations["copilot/usage-metrics-for-enterprise-team"]; + readonly put?: never; + readonly post?: never; + readonly delete?: never; + readonly options?: never; + readonly head?: never; + readonly patch?: never; + readonly trace?: never; + }; readonly "/events": { readonly parameters: { readonly query?: never; @@ -3037,7 +3073,7 @@ export interface paths { * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. * See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -4808,6 +4844,9 @@ export interface paths { /** * Get an organization repository ruleset * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ readonly get: operations["repos/get-org-ruleset"]; /** @@ -5002,6 +5041,42 @@ export interface paths { readonly patch?: never; readonly trace?: never; }; + readonly "/orgs/{org}/team/{team_slug}/copilot/usage": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path?: never; + readonly cookie?: never; + }; + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + readonly get: operations["copilot/usage-metrics-for-team"]; + readonly put?: never; + readonly post?: never; + readonly delete?: never; + readonly options?: never; + readonly head?: never; + readonly patch?: never; + readonly trace?: never; + }; readonly "/orgs/{org}/teams": { readonly parameters: { readonly query?: never; @@ -5620,7 +5695,7 @@ export interface paths { * * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. */ readonly post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; readonly delete?: never; @@ -7418,9 +7493,9 @@ export interface paths { * Create an attestation * @description Store an artifact attestation and associate it with a repository. * - * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. * - * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). */ readonly post: operations["repos/create-attestation"]; readonly delete?: never; @@ -8619,6 +8694,30 @@ export interface paths { readonly patch?: never; readonly trace?: never; }; + readonly "/repos/{owner}/{repo}/code-security-configuration": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path?: never; + readonly cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + readonly get: operations["code-security/get-configuration-for-repository"]; + readonly put?: never; + readonly post?: never; + readonly delete?: never; + readonly options?: never; + readonly head?: never; + readonly patch?: never; + readonly trace?: never; + }; readonly "/repos/{owner}/{repo}/codeowners/errors": { readonly parameters: { readonly query?: never; @@ -13282,6 +13381,9 @@ export interface paths { /** * Get a repository ruleset * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ readonly get: operations["repos/get-repo-ruleset"]; /** @@ -13380,6 +13482,30 @@ export interface paths { readonly patch?: never; readonly trace?: never; }; + readonly "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path?: never; + readonly cookie?: never; + }; + readonly get?: never; + readonly put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + readonly post: operations["secret-scanning/create-push-protection-bypass"]; + readonly delete?: never; + readonly options?: never; + readonly head?: never; + readonly patch?: never; + readonly trace?: never; + }; readonly "/repos/{owner}/{repo}/security-advisories": { readonly parameters: { readonly query?: never; @@ -17305,6 +17431,20 @@ export interface components { /** @description The functions in the package that are affected by the vulnerability. */ readonly vulnerable_functions: readonly string[] | null; }; + readonly "cvss-severities": { + readonly cvss_v3?: { + /** @description The CVSS 3 vector string. */ + readonly vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + readonly cvss_v4?: { + /** @description The CVSS 4 vector string. */ + readonly vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; /** * Simple User * @description A GitHub user. @@ -17463,12 +17603,17 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: readonly { /** @description The Common Weakness Enumeration (CWE) identifier. */ readonly cwe_id: string; /** @description The name of the CWE. */ readonly name: string; }[] | null; + readonly epss?: { + readonly percentage?: number; + readonly percentile?: number; + } | null; /** @description The users who contributed to the advisory. */ readonly credits: readonly { readonly user: components["schemas"]["simple-user"]; @@ -17583,6 +17728,8 @@ export interface components { readonly slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ readonly node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + readonly client_id?: string; readonly owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -17640,8 +17787,6 @@ export interface components { * @example 5 */ readonly installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - readonly client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ readonly client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -19141,6 +19286,45 @@ export interface components { /** Format: uri */ readonly html_url: string | null; }; + /** + * Organization Simple + * @description A GitHub organization. + */ + readonly "organization-simple": { + /** @example github */ + readonly login: string; + /** @example 1 */ + readonly id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + readonly node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + readonly url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + readonly repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + readonly events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + readonly hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + readonly issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + readonly members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + readonly public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + readonly avatar_url: string; + /** @example A great organization */ + readonly description: string | null; + }; /** * Team Simple * @description Groups of organization members that gives permissions on specified repositories. @@ -19236,124 +19420,6 @@ export interface components { readonly repositories_url: string; readonly parent: components["schemas"]["nullable-team-simple"]; }; - /** - * Organization - * @description GitHub account for managing multiple users, teams, and repositories - */ - readonly organization: { - /** - * @description Unique login name of the organization - * @example new-org - */ - readonly login: string; - /** - * Format: uri - * @description URL for the organization - * @example https://api.github.com/orgs/github - */ - readonly url: string; - readonly id: number; - readonly node_id: string; - /** Format: uri */ - readonly repos_url: string; - /** Format: uri */ - readonly events_url: string; - readonly hooks_url: string; - readonly issues_url: string; - readonly members_url: string; - readonly public_members_url: string; - readonly avatar_url: string; - readonly description: string | null; - /** - * Format: uri - * @description Display blog url for the organization - * @example blog.example-org.com - */ - readonly blog?: string; - /** Format: uri */ - readonly html_url: string; - /** - * @description Display name for the organization - * @example New Org - */ - readonly name?: string; - /** - * @description Display company name for the organization - * @example Acme corporation - */ - readonly company?: string; - /** - * @description Display location for the organization - * @example Berlin, Germany - */ - readonly location?: string; - /** - * Format: email - * @description Display email for the organization - * @example org@example.com - */ - readonly email?: string; - /** @description Specifies if organization projects are enabled for this org */ - readonly has_organization_projects: boolean; - /** @description Specifies if repository projects are enabled for repositories that belong to this org */ - readonly has_repository_projects: boolean; - readonly is_verified?: boolean; - readonly public_repos: number; - readonly public_gists: number; - readonly followers: number; - readonly following: number; - readonly type: string; - /** Format: date-time */ - readonly created_at: string; - /** Format: date-time */ - readonly updated_at: string; - readonly plan?: { - readonly name?: string; - readonly space?: number; - readonly private_repos?: number; - readonly filled_seats?: number; - readonly seats?: number; - }; - }; - /** - * Organization Simple - * @description A GitHub organization. - */ - readonly "organization-simple": { - /** @example github */ - readonly login: string; - /** @example 1 */ - readonly id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - readonly node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - readonly url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - readonly repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - readonly events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - readonly hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - readonly issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - readonly members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - readonly public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - readonly avatar_url: string; - /** @example A great organization */ - readonly description: string | null; - }; /** * Enterprise Team * @description Group of enterprise owners and/or members @@ -19388,7 +19454,7 @@ export interface components { /** @description The assignee that has been granted access to GitHub Copilot. */ readonly assignee: { readonly [key: string]: unknown; - } & (components["schemas"]["simple-user"] | components["schemas"]["team"] | components["schemas"]["organization"]); + } & components["schemas"]["simple-user"]; /** @description The organization to which this seat belongs. */ readonly organization?: components["schemas"]["organization-simple"] | null; /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ @@ -19511,6 +19577,7 @@ export interface components { /** @description The full CVSS vector string for the advisory. */ readonly vector_string: string | null; }; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ readonly cwes: readonly { /** @description The unique CWE ID. */ @@ -19904,7 +19971,7 @@ export interface components { /** @description The type of secret that secret scanning detected. */ readonly 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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ readonly secret_type_display_name?: string; /** @description The secret that was detected. */ readonly secret?: string; @@ -20025,6 +20092,8 @@ export interface components { readonly slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ readonly node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + readonly client_id?: string; readonly owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -20082,8 +20151,6 @@ export interface components { * @example 5 */ readonly installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - readonly client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ readonly client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -20869,16 +20936,31 @@ export interface components { * "192.0.2.1" * ] */ readonly actions_macos?: readonly string[]; + /** @example [ + * "192.0.2.1" + * ] */ + readonly codespaces?: readonly string[]; /** @example [ * "192.0.2.1" * ] */ readonly dependabot?: readonly string[]; + /** @example [ + * "192.0.2.1" + * ] */ + readonly copilot?: readonly string[]; readonly domains?: { readonly website?: readonly string[]; readonly codespaces?: readonly string[]; readonly copilot?: readonly string[]; readonly packages?: readonly string[]; readonly actions?: readonly string[]; + readonly artifact_attestations?: { + /** @example [ + * "example" + * ] */ + readonly trust_domain?: string; + readonly services?: readonly string[]; + }; }; }; readonly "security-and-analysis": { @@ -21686,8 +21768,14 @@ export interface components { readonly security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ readonly description?: string; + /** @description A description of the rule used to detect the alert. */ + readonly full_description?: string; /** @description A set of tags applicable for the rule. */ readonly tags?: readonly string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + readonly help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + readonly help_uri?: string | null; }; /** @description The version of the tool used to generate the code scanning analysis. */ readonly "code-scanning-analysis-tool-version": string | null; @@ -21775,6 +21863,16 @@ export interface components { * @enum {string} */ readonly dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + readonly dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + readonly dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + readonly labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -21805,6 +21903,11 @@ export interface components { * @enum {string} */ readonly secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + readonly secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -23030,9 +23133,14 @@ export interface components { * Organization Custom Property * @description Custom property defined on an organization */ - readonly "org-custom-property": { + readonly "custom-property": { /** @description The name of the property */ readonly property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + readonly url?: string; /** * @description The type of the value for the property * @example single_select @@ -23777,18 +23885,15 @@ export interface components { * @description An actor that can bypass rules in a ruleset */ readonly "repository-ruleset-bypass-actor": { - /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - * */ + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ readonly actor_id?: number | null; /** * @description The type of actor that can bypass a ruleset. - * * @enum {string} */ readonly actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; /** * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - * * @enum {string} */ readonly bypass_mode: "always" | "pull_request"; @@ -23859,7 +23964,6 @@ export interface components { /** * 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. - * */ readonly "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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); /** @@ -24219,9 +24323,6 @@ export interface components { readonly name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -24294,7 +24395,7 @@ export interface components { * @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} */ - readonly evaluation_result?: "pass" | "fail"; + readonly evaluation_result?: "pass" | "fail" | "bypass"; }[]; /** * Rule Suite @@ -24328,10 +24429,10 @@ export interface components { */ readonly result?: "pass" | "fail" | "bypass"; /** - * @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} + * @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`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} */ - readonly evaluation_result?: "pass" | "fail"; + readonly evaluation_result?: "pass" | "fail" | "bypass" | null; /** @description Details on the evaluated rules. */ readonly rule_evaluations?: readonly { readonly rule_source?: { @@ -24354,8 +24455,8 @@ export interface components { readonly result?: "pass" | "fail"; /** @description The type of rule. */ readonly rule_type?: string; - /** @description Any associated details with the rule evaluation. */ - readonly details?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + readonly details?: string | null; }[]; }; /** @description A product affected by the vulnerability detailed in a repository security advisory. */ @@ -24462,6 +24563,7 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: readonly { /** @description The Common Weakness Enumeration (CWE) identifier. */ readonly cwe_id: string; @@ -26417,6 +26519,7 @@ export interface components { readonly site_admin?: boolean; }; readonly name?: string; + readonly client_id?: string; readonly description?: string; readonly external_url?: string; readonly html_url?: string; @@ -26820,6 +26923,7 @@ export interface components { */ readonly "check-run": { /** + * Format: int64 * @description The id of the check. * @example 21 */ @@ -27051,7 +27155,7 @@ export interface components { readonly security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ readonly description?: string; - /** @description description of the rule used to detect the alert. */ + /** @description A description of the rule used to detect the alert. */ readonly full_description?: string; /** @description A set of tags applicable for the rule. */ readonly tags?: readonly string[] | null; @@ -27382,6 +27486,15 @@ export interface components { /** @description Any errors that ocurred during processing of the delivery. */ readonly errors?: readonly string[] | null; }; + /** @description Code security configuration associated with a repository and attachment status */ + readonly "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + readonly status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + readonly configuration?: components["schemas"]["code-security-configuration"]; + }; /** * CODEOWNERS errors * @description A list of errors found in a repo's CODEOWNERS file @@ -28279,6 +28392,22 @@ export interface components { }; }; }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + readonly "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + readonly "repository-rule-violation-error": { + readonly message?: string; + readonly documentation_url?: string; + readonly status?: string; + readonly metadata?: { + readonly secret_scanning?: { + readonly bypass_placeholders?: readonly { + readonly placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + readonly token_type?: string; + }[]; + }; + }; + }; /** * Contributor * @description Contributor @@ -31406,7 +31535,7 @@ export interface components { /** @description The type of secret that secret scanning detected. */ readonly 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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ readonly secret_type_display_name?: string; /** @description The secret that was detected. */ readonly secret?: string; @@ -31600,6 +31729,21 @@ export interface components { readonly type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; readonly details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + readonly "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + readonly "secret-scanning-push-protection-bypass": { + readonly reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly expire_at?: string | null; + /** @description The token type this bypass is for. */ + readonly token_type?: string; + }; readonly "repository-advisory-create": { /** @description A short summary of the advisory. */ readonly summary: string; @@ -35372,7 +35516,6 @@ export interface components { /** * Merge Group * @description A group of pull requests that the merge queue has grouped together to be merged. - * */ readonly "merge-group": { /** @description The SHA of the merge group. */ @@ -38203,7 +38346,7 @@ export interface components { /** @description The type of secret that secret scanning detected. */ readonly 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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ readonly secret_type_display_name?: string; /** * @description The token status as of the latest validity check. @@ -38225,6 +38368,7 @@ export interface components { readonly score: number; readonly vector_string: string | null; }; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: readonly { readonly cwe_id: string; readonly name: string; @@ -38649,6 +38793,8 @@ export interface components { readonly html_url: string; /** @description Unique identifier of the GitHub app */ readonly id: number | null; + /** @description The client ID of the GitHub app */ + readonly client_id?: string | null; /** @description The name of the GitHub app */ readonly name: string; readonly node_id: string; @@ -38890,6 +39036,8 @@ export interface components { readonly html_url: string; /** @description Unique identifier of the GitHub app */ readonly id: number | null; + /** @description Client ID of the GitHub app */ + readonly client_id?: string | null; /** @description The name of the GitHub app */ readonly name: string; readonly node_id: string; @@ -39131,6 +39279,8 @@ export interface components { readonly html_url: string; /** @description Unique identifier of the GitHub app */ readonly id: number | null; + /** @description The Client ID for the GitHub app */ + readonly client_id?: string | null; /** @description The name of the GitHub app */ readonly name: string; readonly node_id: string; @@ -40132,7 +40282,7 @@ export interface components { readonly "webhook-custom-property-created": { /** @enum {string} */ readonly action: "created"; - readonly definition: components["schemas"]["org-custom-property"]; + readonly definition: components["schemas"]["custom-property"]; readonly enterprise?: components["schemas"]["enterprise-webhooks"]; readonly installation?: components["schemas"]["simple-installation"]; readonly organization?: components["schemas"]["organization-simple-webhooks"]; @@ -40155,7 +40305,7 @@ export interface components { readonly "webhook-custom-property-updated": { /** @enum {string} */ readonly action: "updated"; - readonly definition: components["schemas"]["org-custom-property"]; + readonly definition: components["schemas"]["custom-property"]; readonly enterprise?: components["schemas"]["enterprise-webhooks"]; readonly installation?: components["schemas"]["simple-installation"]; readonly organization?: components["schemas"]["organization-simple-webhooks"]; @@ -81529,6 +81679,7 @@ export interface components { readonly score: number; readonly vector_string: string | null; }; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: readonly { readonly cwe_id: string; readonly name: string; @@ -81847,6 +81998,70 @@ export interface components { readonly target_url: string | null; readonly updated_at: string; }; + /** parent issue added event */ + readonly "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + readonly action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + readonly parent_issue_id: number; + readonly parent_issue: components["schemas"]["issue"]; + readonly parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + readonly sub_issue_id: number; + readonly sub_issue: components["schemas"]["issue"]; + readonly installation?: components["schemas"]["simple-installation"]; + readonly organization?: components["schemas"]["organization-simple-webhooks"]; + readonly repository?: components["schemas"]["repository-webhooks"]; + readonly sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** parent issue removed event */ + readonly "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + readonly action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + readonly parent_issue_id: number; + readonly parent_issue: components["schemas"]["issue"]; + readonly parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + readonly sub_issue_id: number; + readonly sub_issue: components["schemas"]["issue"]; + readonly installation?: components["schemas"]["simple-installation"]; + readonly organization?: components["schemas"]["organization-simple-webhooks"]; + readonly repository?: components["schemas"]["repository-webhooks"]; + readonly sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue added event */ + readonly "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + readonly action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + readonly sub_issue_id: number; + readonly sub_issue: components["schemas"]["issue"]; + readonly sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + readonly parent_issue_id: number; + readonly parent_issue: components["schemas"]["issue"]; + readonly installation?: components["schemas"]["simple-installation"]; + readonly organization?: components["schemas"]["organization-simple-webhooks"]; + readonly repository?: components["schemas"]["repository-webhooks"]; + readonly sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue removed event */ + readonly "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + readonly action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + readonly sub_issue_id: number; + readonly sub_issue: components["schemas"]["issue"]; + readonly sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + readonly parent_issue_id: number; + readonly parent_issue: components["schemas"]["issue"]; + readonly installation?: components["schemas"]["simple-installation"]; + readonly organization?: components["schemas"]["organization-simple-webhooks"]; + readonly repository?: components["schemas"]["repository-webhooks"]; + readonly sender?: components["schemas"]["simple-user-webhooks"]; + }; /** team_add event */ readonly "webhook-team-add": { readonly enterprise?: components["schemas"]["enterprise-webhooks"]; @@ -83524,7 +83739,7 @@ export interface components { /** Format: uri */ readonly check_suite_url: string; /** @enum {string|null} */ - readonly conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + readonly conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; /** Format: date-time */ readonly created_at: string; readonly event: string; @@ -85137,7 +85352,7 @@ export interface components { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ readonly "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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * for a complete list of secret types. */ readonly "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`. */ @@ -85146,6 +85361,8 @@ export interface components { readonly "secret-scanning-alert-sort": "created" | "updated"; /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ readonly "secret-scanning-alert-validity": string; + /** @description The slug of the team name. */ + readonly "team-slug": string; /** @description The unique identifier of the gist. */ readonly "gist-id": string; /** @description The unique identifier of the comment. */ @@ -85204,8 +85421,6 @@ export interface components { readonly "migration-id": number; /** @description repo_name parameter */ readonly "repo-name": string; - /** @description The slug of the team name. */ - readonly "team-slug": string; /** @description The unique identifier of the role. */ readonly "role-id": number; /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -85235,8 +85450,7 @@ export interface components { readonly "fine-grained-personal-access-token-id": number; /** @description The custom property name. The name is case sensitive. */ readonly "custom-property-name": string; - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ readonly "ref-in-query": string; /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ readonly "repository-name-in-query": number; @@ -85476,6 +85690,12 @@ export interface operations { * * 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)." */ readonly modified?: string; + /** @description If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + readonly epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + readonly epss_percentile?: 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ readonly 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ @@ -85485,7 +85705,7 @@ export interface operations { /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ readonly per_page?: number; /** @description The property to sort the results by. */ - readonly sort?: "updated" | "published"; + readonly sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; }; readonly header?: never; readonly path?: never; @@ -86460,7 +86680,7 @@ export interface operations { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ readonly 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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * for a complete list of secret types. */ readonly 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`. */ @@ -86501,6 +86721,44 @@ export interface operations { readonly 503: components["responses"]["service_unavailable"]; }; }; + readonly "copilot/usage-metrics-for-enterprise-team": { + readonly parameters: { + readonly query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + readonly since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + readonly until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + readonly page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + readonly per_page?: number; + }; + readonly header?: never; + readonly path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + readonly enterprise: components["parameters"]["enterprise"]; + /** @description The slug of the team name. */ + readonly team_slug: components["parameters"]["team-slug"]; + }; + readonly cookie?: never; + }; + readonly requestBody?: never; + readonly responses: { + /** @description Response */ + readonly 200: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": readonly components["schemas"]["copilot-usage-metrics"][]; + }; + }; + readonly 401: components["responses"]["requires_authentication"]; + readonly 403: components["responses"]["forbidden"]; + readonly 404: components["responses"]["not_found"]; + readonly 500: components["responses"]["internal_error"]; + }; + }; readonly "activity/list-public-events": { readonly parameters: { readonly query?: { @@ -89660,6 +89918,20 @@ export interface operations { * @enum {string} */ readonly dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + readonly dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + readonly dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + readonly labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @default disabled @@ -89696,6 +89968,12 @@ export interface operations { * @enum {string} */ readonly secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + readonly secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @default disabled @@ -89853,6 +90131,16 @@ export interface operations { * @enum {string} */ readonly dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + readonly dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + readonly dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + readonly labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -89883,6 +90171,11 @@ export interface operations { * @enum {string} */ readonly secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + readonly secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -93466,7 +93759,7 @@ export interface operations { readonly [name: string]: unknown; }; content: { - readonly "application/json": readonly components["schemas"]["org-custom-property"][]; + readonly "application/json": readonly components["schemas"]["custom-property"][]; }; }; readonly 403: components["responses"]["forbidden"]; @@ -93487,7 +93780,7 @@ export interface operations { readonly content: { readonly "application/json": { /** @description The array of custom properties to create or update. */ - readonly properties: readonly components["schemas"]["org-custom-property"][]; + readonly properties: readonly components["schemas"]["custom-property"][]; }; }; }; @@ -93498,7 +93791,7 @@ export interface operations { readonly [name: string]: unknown; }; content: { - readonly "application/json": readonly components["schemas"]["org-custom-property"][]; + readonly "application/json": readonly components["schemas"]["custom-property"][]; }; }; readonly 403: components["responses"]["forbidden"]; @@ -93525,7 +93818,7 @@ export interface operations { readonly [name: string]: unknown; }; content: { - readonly "application/json": components["schemas"]["org-custom-property"]; + readonly "application/json": components["schemas"]["custom-property"]; }; }; readonly 403: components["responses"]["forbidden"]; @@ -93572,7 +93865,7 @@ export interface operations { readonly [name: string]: unknown; }; content: { - readonly "application/json": components["schemas"]["org-custom-property"]; + readonly "application/json": components["schemas"]["custom-property"]; }; }; readonly 403: components["responses"]["forbidden"]; @@ -93903,7 +94196,9 @@ export interface operations { */ readonly use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -93920,7 +94215,9 @@ export interface operations { */ readonly squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -94007,9 +94304,7 @@ export interface operations { readonly name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -94039,8 +94334,7 @@ export interface operations { readonly "repos/get-org-rule-suites": { readonly parameters: { readonly query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ readonly ref?: components["parameters"]["ref-in-query"]; /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ readonly repository_name?: components["parameters"]["repository-name-in-query"]; @@ -94156,9 +94450,6 @@ export interface operations { readonly name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -94216,7 +94507,7 @@ export interface operations { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ readonly 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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * for a complete list of secret types. */ readonly 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`. */ @@ -94435,6 +94726,44 @@ export interface operations { }; }; }; + readonly "copilot/usage-metrics-for-team": { + readonly parameters: { + readonly query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + readonly since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + readonly until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + readonly page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + readonly per_page?: number; + }; + readonly header?: never; + readonly path: { + /** @description The organization name. The name is not case sensitive. */ + readonly org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + readonly team_slug: components["parameters"]["team-slug"]; + }; + readonly cookie?: never; + }; + readonly requestBody?: never; + readonly responses: { + /** @description Response */ + readonly 200: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": readonly components["schemas"]["copilot-usage-metrics"][]; + }; + }; + readonly 401: components["responses"]["requires_authentication"]; + readonly 403: components["responses"]["forbidden"]; + readonly 404: components["responses"]["not_found"]; + readonly 500: components["responses"]["internal_error"]; + }; + }; readonly "teams/list": { readonly parameters: { readonly query?: { @@ -96628,7 +96957,7 @@ export interface operations { /** @description Can be `enabled` or `disabled`. */ readonly status?: string; }; - /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ readonly secret_scanning_non_provider_patterns?: { /** @description Can be `enabled` or `disabled`. */ readonly status?: string; @@ -96693,7 +97022,9 @@ export interface operations { */ readonly use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -96710,7 +97041,9 @@ export interface operations { */ readonly squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -99467,7 +99800,6 @@ export interface operations { /** * @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. - * */ readonly contexts: readonly string[]; /** @description The list of status checks to require in order to merge into this branch. */ @@ -99937,7 +100269,6 @@ export interface operations { /** * @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. - * */ readonly contexts?: readonly string[]; /** @description The list of status checks to require in order to merge into this branch. */ @@ -101724,6 +102055,35 @@ export interface operations { readonly 503: components["responses"]["service_unavailable"]; }; }; + readonly "code-security/get-configuration-for-repository": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + readonly owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + readonly repo: components["parameters"]["repo"]; + }; + readonly cookie?: never; + }; + readonly requestBody?: never; + readonly responses: { + /** @description Response */ + readonly 200: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["code-security-configuration-for-repository"]; + }; + }; + readonly 204: components["responses"]["no_content"]; + readonly 304: components["responses"]["not_modified"]; + readonly 403: components["responses"]["forbidden"]; + readonly 404: components["responses"]["not_found"]; + }; + }; readonly "repos/codeowners-errors": { readonly parameters: { readonly query?: { @@ -103115,7 +103475,15 @@ export interface operations { }; }; readonly 404: components["responses"]["not_found"]; - readonly 409: components["responses"]["conflict"]; + /** @description Conflict */ + readonly 409: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; readonly 422: components["responses"]["validation_failed"]; }; }; @@ -104926,7 +105294,15 @@ export interface operations { readonly 403: components["responses"]["forbidden"]; readonly 404: components["responses"]["not_found"]; readonly 409: components["responses"]["conflict"]; - readonly 422: components["responses"]["validation_failed"]; + /** @description Validation failed */ + readonly 422: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; }; }; readonly "git/get-blob": { @@ -110049,6 +110425,7 @@ export interface operations { readonly "application/json": components["schemas"]["content-file"]; }; }; + readonly 304: components["responses"]["not_modified"]; readonly 404: components["responses"]["not_found"]; readonly 422: components["responses"]["validation_failed"]; }; @@ -110764,9 +111141,7 @@ export interface operations { readonly name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -110796,8 +111171,7 @@ export interface operations { readonly "repos/get-repo-rule-suites": { readonly parameters: { readonly query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ readonly ref?: components["parameters"]["ref-in-query"]; /** @description The time period to filter by. * @@ -110922,9 +111296,6 @@ export interface operations { readonly name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ readonly target?: "branch" | "tag" | "push"; @@ -110984,7 +111355,7 @@ export interface operations { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ readonly 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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * for a complete list of secret types. */ readonly 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`. */ @@ -111168,6 +111539,60 @@ export interface operations { readonly 503: components["responses"]["service_unavailable"]; }; }; + readonly "secret-scanning/create-push-protection-bypass": { + readonly parameters: { + readonly query?: never; + readonly header?: never; + readonly path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + readonly owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + readonly repo: components["parameters"]["repo"]; + }; + readonly cookie?: never; + }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + readonly reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + readonly placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + readonly responses: { + /** @description Response */ + readonly 200: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + readonly 403: { + headers: { + readonly [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + readonly 404: { + headers: { + readonly [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + readonly 422: { + headers: { + readonly [name: string]: unknown; + }; + content?: never; + }; + readonly 503: components["responses"]["service_unavailable"]; + }; + }; readonly "security-advisories/list-repository-advisories": { readonly parameters: { readonly query?: { @@ -116165,7 +116590,9 @@ export interface operations { */ readonly delete_branch_on_merge?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -116182,7 +116609,9 @@ export interface operations { */ readonly squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). diff --git a/packages/openapi-typescript/examples/github-api-next.ts b/packages/openapi-typescript/examples/github-api-next.ts index dda08fda8..4c940d413 100644 --- a/packages/openapi-typescript/examples/github-api-next.ts +++ b/packages/openapi-typescript/examples/github-api-next.ts @@ -649,7 +649,7 @@ export interface paths { * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -718,6 +718,42 @@ export interface paths { patch?: never; trace?: never; }; + "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for an enterprise team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-enterprise-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/events": { parameters: { query?: never; @@ -3037,7 +3073,7 @@ export interface paths { * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. * See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -4808,6 +4844,9 @@ export interface paths { /** * Get an organization repository ruleset * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-org-ruleset"]; /** @@ -5002,6 +5041,42 @@ export interface paths { patch?: never; trace?: never; }; + "/orgs/{org}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/orgs/{org}/teams": { parameters: { query?: never; @@ -5620,7 +5695,7 @@ export interface paths { * * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. */ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; delete?: never; @@ -7418,9 +7493,9 @@ export interface paths { * Create an attestation * @description Store an artifact attestation and associate it with a repository. * - * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. * - * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). */ post: operations["repos/create-attestation"]; delete?: never; @@ -8619,6 +8694,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/code-security-configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/codeowners/errors": { parameters: { query?: never; @@ -13282,6 +13381,9 @@ export interface paths { /** * Get a repository ruleset * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-repo-ruleset"]; /** @@ -13380,6 +13482,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/security-advisories": { parameters: { query?: never; @@ -18193,6 +18319,9 @@ export interface webhooks { * 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. + * + * > [!NOTE] + * > A webhook event is not fired for deployment statuses with an `inactive` state. * @description A new deployment status was created. */ post: operations["deployment-status/created"]; @@ -22760,6 +22889,102 @@ export interface webhooks { patch?: never; trace?: never; }; + "sub-issues-parent-issue-added": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * This event occurs when there is activity relating to sub-issues. + * + * For activity relating to issues more generally, use the `issues` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + * @description A parent issue was added to an issue. + */ + post: operations["sub-issues/parent-issue-added"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "sub-issues-parent-issue-removed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * This event occurs when there is activity relating to sub-issues. + * + * For activity relating to issues more generally, use the `issues` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + * @description A parent issue was removed from an issue. + */ + post: operations["sub-issues/parent-issue-removed"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "sub-issues-sub-issue-added": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * This event occurs when there is activity relating to sub-issues. + * + * For activity relating to issues more generally, use the `issues` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + * @description A sub-issue was added to an issue. + */ + post: operations["sub-issues/sub-issue-added"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "sub-issues-sub-issue-removed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * This event occurs when there is activity relating to sub-issues. + * + * For activity relating to issues more generally, use the `issues` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + * @description A sub-issue was removed from an issue. + */ + post: operations["sub-issues/sub-issue-removed"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "team-add": { parameters: { query?: never; @@ -23202,6 +23427,20 @@ export interface components { /** @description The functions in the package that are affected by the vulnerability. */ readonly vulnerable_functions: string[] | null; }; + "cvss-severities": { + cvss_v3?: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + cvss_v4?: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; /** * Simple User * @description A GitHub user. @@ -23324,12 +23563,17 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; /** @description The name of the CWE. */ readonly name: string; }[] | null; + epss?: { + percentage?: number; + percentile?: number; + } | null; /** @description The users who contributed to the advisory. */ readonly credits: { user: components["schemas"]["simple-user"]; @@ -23365,6 +23609,7 @@ export interface components { /** @description The slug name of the GitHub app */ slug?: string; node_id: string; + client_id?: string; owner: null | components["schemas"]["simple-user"]; /** @description The name of the GitHub app */ name: string; @@ -23397,7 +23642,6 @@ export interface components { 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; @@ -24418,6 +24662,27 @@ export interface components { /** Format: uri */ html_url: string | null; }; + /** + * 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; + }; /** * Team Simple * @description Groups of organization members that gives permissions on specified repositories. @@ -24479,91 +24744,6 @@ export interface components { 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; - }; - }; - /** - * 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; - }; /** * Enterprise Team * @description Group of enterprise owners and/or members @@ -24593,7 +24773,7 @@ export interface components { /** @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"]); + } & components["schemas"]["simple-user"]; /** @description The organization to which this seat belongs. */ organization?: (Record | null) & components["schemas"]["organization-simple"]; /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ @@ -24716,6 +24896,7 @@ export interface components { /** @description The full CVSS vector string for the advisory. */ readonly vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ readonly cwes: { /** @description The unique CWE ID. */ @@ -25007,7 +25188,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; @@ -25637,13 +25818,19 @@ export interface components { importer?: string[]; actions?: string[]; actions_macos?: string[]; + codespaces?: string[]; dependabot?: string[]; + copilot?: string[]; domains?: { website?: string[]; codespaces?: string[]; copilot?: string[]; packages?: string[]; actions?: string[]; + artifact_attestations?: { + trust_domain?: string; + services?: string[]; + }; }; }; "security-and-analysis": { @@ -26215,8 +26402,14 @@ export interface components { security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ description?: string; + /** @description A 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; @@ -26304,6 +26497,16 @@ export interface components { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -26334,6 +26537,11 @@ export interface components { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -27027,9 +27235,14 @@ export interface components { * Organization Custom Property * @description Custom property defined on an organization */ - "org-custom-property": { + "custom-property": { /** @description The name of the property */ property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; /** * @description The type of the value for the property * @enum {string} @@ -27270,18 +27483,15 @@ export interface components { * @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. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - * */ + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ actor_id?: number | null; /** * @description The type of actor that can bypass a ruleset. - * * @enum {string} */ actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; /** * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - * * @enum {string} */ bypass_mode: "always" | "pull_request"; @@ -27352,7 +27562,6 @@ export interface components { /** * 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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); /** @@ -27712,9 +27921,6 @@ export interface components { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -27784,7 +27990,7 @@ export interface components { * @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} */ - evaluation_result?: "pass" | "fail"; + evaluation_result?: "pass" | "fail" | "bypass"; }[]; /** * Rule Suite @@ -27815,10 +28021,10 @@ export interface components { */ result?: "pass" | "fail" | "bypass"; /** - * @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} + * @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`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} */ - evaluation_result?: "pass" | "fail"; + evaluation_result?: "pass" | "fail" | "bypass" | null; /** @description Details on the evaluated rules. */ rule_evaluations?: { rule_source?: { @@ -27841,8 +28047,8 @@ export interface components { result?: "pass" | "fail"; /** @description The type of rule. */ rule_type?: string; - /** @description Any associated details with the rule evaluation. */ - details?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details?: string | null; }[]; }; /** @description A product affected by the vulnerability detailed in a repository security advisory. */ @@ -27949,6 +28155,7 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; @@ -29256,6 +29463,7 @@ export interface components { site_admin?: boolean; }; name?: string; + client_id?: string; description?: string; external_url?: string; html_url?: string; @@ -29553,7 +29761,10 @@ export interface components { * @description A check performed on the code of a given code change */ "check-run": { - /** @description The id of the check. */ + /** + * Format: int64 + * @description The id of the check. + */ id: number; /** @description The SHA of the commit that is being checked. */ head_sha: string; @@ -29687,7 +29898,7 @@ export interface components { 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. */ + /** @description A description of the rule used to detect the alert. */ full_description?: string; /** @description A set of tags applicable for the rule. */ tags?: string[] | null; @@ -29988,6 +30199,15 @@ export interface components { /** @description Any errors that ocurred during processing of the delivery. */ readonly errors?: string[] | null; }; + /** @description Code security configuration associated with a repository and attachment status */ + "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + configuration?: components["schemas"]["code-security-configuration"]; + }; /** * CODEOWNERS errors * @description A list of errors found in a repo's CODEOWNERS file @@ -30584,6 +30804,22 @@ export interface components { }; }; }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + "repository-rule-violation-error": { + message?: string; + documentation_url?: string; + status?: string; + metadata?: { + secret_scanning?: { + bypass_placeholders?: { + placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + token_type?: string; + }[]; + }; + }; + }; /** * Contributor * @description Contributor @@ -32902,7 +33138,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; @@ -33060,6 +33296,21 @@ export interface components { type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at?: string | null; + /** @description The token type this bypass is for. */ + token_type?: string; + }; "repository-advisory-create": { /** @description A short summary of the advisory. */ summary: string; @@ -36348,7 +36599,6 @@ export interface components { /** * 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. */ @@ -38635,7 +38885,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** * @description The token status as of the latest validity check. @@ -38657,6 +38907,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -39081,6 +39332,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -39322,6 +39575,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -39563,6 +39818,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -40564,7 +40821,7 @@ export interface components { "webhook-custom-property-created": { /** @enum {string} */ action: "created"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -40587,7 +40844,7 @@ export interface components { "webhook-custom-property-updated": { /** @enum {string} */ action: "updated"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -81961,6 +82218,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -82279,6 +82537,70 @@ export interface components { target_url: string | null; updated_at: string; }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; /** team_add event */ "webhook-team-add": { enterprise?: components["schemas"]["enterprise-webhooks"]; @@ -83956,7 +84278,7 @@ export interface components { /** Format: uri */ check_suite_url: string; /** @enum {string|null} */ - conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; /** Format: date-time */ created_at: string; event: string; @@ -85566,7 +85888,7 @@ export interface components { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -85575,6 +85897,8 @@ export interface components { "secret-scanning-alert-sort": "created" | "updated"; /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ "secret-scanning-alert-validity": string; + /** @description The slug of the team name. */ + "team-slug": string; /** @description The unique identifier of the gist. */ "gist-id": string; /** @description The unique identifier of the comment. */ @@ -85633,8 +85957,6 @@ export interface components { "migration-id": number; /** @description repo_name parameter */ "repo-name": string; - /** @description The slug of the team name. */ - "team-slug": string; /** @description The unique identifier of the role. */ "role-id": number; /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -85664,8 +85986,7 @@ export interface components { "fine-grained-personal-access-token-id": number; /** @description The custom property name. The name is case sensitive. */ "custom-property-name": string; - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ "ref-in-query": string; /** @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; @@ -85905,6 +86226,12 @@ export interface operations { * * 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 If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + epss_percentile?: 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ @@ -85914,7 +86241,7 @@ export interface operations { /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ per_page?: number; /** @description The property to sort the results by. */ - sort?: "updated" | "published"; + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; }; header?: never; path?: never; @@ -86870,7 +87197,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -86911,6 +87238,44 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "copilot/usage-metrics-for-enterprise-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + /** @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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "activity/list-public-events": { parameters: { query?: { @@ -90040,6 +90405,20 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @default disabled @@ -90076,6 +90455,12 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @default disabled @@ -90233,6 +90618,16 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -90263,6 +90658,11 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -93838,7 +94238,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -93859,7 +94259,7 @@ export interface operations { content: { "application/json": { /** @description The array of custom properties to create or update. */ - properties: components["schemas"]["org-custom-property"][]; + properties: components["schemas"]["custom-property"][]; }; }; }; @@ -93870,7 +94270,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -93897,7 +94297,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -93943,7 +94343,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -94273,7 +94673,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -94290,7 +94692,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -94377,9 +94781,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -94409,8 +94811,7 @@ export interface operations { "repos/get-org-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ ref?: components["parameters"]["ref-in-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"]; @@ -94526,9 +94927,6 @@ export interface operations { name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -94586,7 +94984,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -94805,6 +95203,44 @@ export interface operations { }; }; }; + "copilot/usage-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + 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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "teams/list": { parameters: { query?: { @@ -96958,7 +97394,7 @@ export interface operations { /** @description Can be `enabled` or `disabled`. */ status?: string; }; - /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_scanning_non_provider_patterns?: { /** @description Can be `enabled` or `disabled`. */ status?: string; @@ -97023,7 +97459,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -97040,7 +97478,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -99787,7 +100227,6 @@ export interface operations { /** * @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. */ @@ -100257,7 +100696,6 @@ export interface operations { /** * @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. */ @@ -102043,6 +102481,35 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "code-security/get-configuration-for-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"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; "repos/codeowners-errors": { parameters: { query?: { @@ -103432,7 +103899,15 @@ export interface operations { }; }; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -105228,7 +105703,15 @@ export interface operations { 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; }; }; "git/get-blob": { @@ -110334,6 +110817,7 @@ export interface operations { "application/json": components["schemas"]["content-file"]; }; }; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; @@ -111048,9 +111532,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -111080,8 +111562,7 @@ export interface operations { "repos/get-repo-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. 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. * @@ -111206,9 +111687,6 @@ export interface operations { name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -111268,7 +111746,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -111452,6 +111930,60 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "secret-scanning/create-push-protection-bypass": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; "security-advisories/list-repository-advisories": { parameters: { query?: { @@ -116377,7 +116909,9 @@ export interface operations { */ delete_branch_on_merge?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -116394,7 +116928,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -124105,7 +124641,155 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-locked"]; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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; + }; + }; + }; + "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: { @@ -124118,7 +124802,7 @@ export interface operations { }; }; }; - "pull-request/milestoned": { + "pull-request-review-comment/created": { parameters: { query?: never; header?: { @@ -124142,7 +124826,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-milestoned"]; + "application/json": components["schemas"]["webhook-pull-request-review-comment-created"]; }; }; responses: { @@ -124155,7 +124839,7 @@ export interface operations { }; }; }; - "pull-request/opened": { + "pull-request-review-comment/deleted": { parameters: { query?: never; header?: { @@ -124179,7 +124863,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-opened"]; + "application/json": components["schemas"]["webhook-pull-request-review-comment-deleted"]; }; }; responses: { @@ -124192,7 +124876,7 @@ export interface operations { }; }; }; - "pull-request/ready-for-review": { + "pull-request-review-comment/edited": { parameters: { query?: never; header?: { @@ -124216,7 +124900,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-ready-for-review"]; + "application/json": components["schemas"]["webhook-pull-request-review-comment-edited"]; }; }; responses: { @@ -124229,7 +124913,7 @@ export interface operations { }; }; }; - "pull-request/reopened": { + "pull-request-review/dismissed": { parameters: { query?: never; header?: { @@ -124253,7 +124937,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-reopened"]; + "application/json": components["schemas"]["webhook-pull-request-review-dismissed"]; }; }; responses: { @@ -124266,7 +124950,7 @@ export interface operations { }; }; }; - "pull-request-review-comment/created": { + "pull-request-review/edited": { parameters: { query?: never; header?: { @@ -124290,7 +124974,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-comment-created"]; + "application/json": components["schemas"]["webhook-pull-request-review-edited"]; }; }; responses: { @@ -124303,7 +124987,7 @@ export interface operations { }; }; }; - "pull-request-review-comment/deleted": { + "pull-request/review-request-removed": { parameters: { query?: never; header?: { @@ -124327,7 +125011,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-comment-deleted"]; + "application/json": components["schemas"]["webhook-pull-request-review-request-removed"]; }; }; responses: { @@ -124340,7 +125024,7 @@ export interface operations { }; }; }; - "pull-request-review-comment/edited": { + "pull-request/review-requested": { parameters: { query?: never; header?: { @@ -124364,7 +125048,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-comment-edited"]; + "application/json": components["schemas"]["webhook-pull-request-review-requested"]; }; }; responses: { @@ -124377,7 +125061,7 @@ export interface operations { }; }; }; - "pull-request-review/dismissed": { + "pull-request-review/submitted": { parameters: { query?: never; header?: { @@ -124401,7 +125085,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-dismissed"]; + "application/json": components["schemas"]["webhook-pull-request-review-submitted"]; }; }; responses: { @@ -124414,7 +125098,7 @@ export interface operations { }; }; }; - "pull-request-review/edited": { + "pull-request-review-thread/resolved": { parameters: { query?: never; header?: { @@ -124438,7 +125122,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-edited"]; + "application/json": components["schemas"]["webhook-pull-request-review-thread-resolved"]; }; }; responses: { @@ -124451,7 +125135,7 @@ export interface operations { }; }; }; - "pull-request/review-request-removed": { + "pull-request-review-thread/unresolved": { parameters: { query?: never; header?: { @@ -124475,7 +125159,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-request-removed"]; + "application/json": components["schemas"]["webhook-pull-request-review-thread-unresolved"]; }; }; responses: { @@ -124488,7 +125172,7 @@ export interface operations { }; }; }; - "pull-request/review-requested": { + "pull-request/synchronize": { parameters: { query?: never; header?: { @@ -124512,7 +125196,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-requested"]; + "application/json": components["schemas"]["webhook-pull-request-synchronize"]; }; }; responses: { @@ -124525,7 +125209,7 @@ export interface operations { }; }; }; - "pull-request-review/submitted": { + "pull-request/unassigned": { parameters: { query?: never; header?: { @@ -124549,7 +125233,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-submitted"]; + "application/json": components["schemas"]["webhook-pull-request-unassigned"]; }; }; responses: { @@ -124562,7 +125246,7 @@ export interface operations { }; }; }; - "pull-request-review-thread/resolved": { + "pull-request/unlabeled": { parameters: { query?: never; header?: { @@ -124586,7 +125270,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-thread-resolved"]; + "application/json": components["schemas"]["webhook-pull-request-unlabeled"]; }; }; responses: { @@ -124599,7 +125283,7 @@ export interface operations { }; }; }; - "pull-request-review-thread/unresolved": { + "pull-request/unlocked": { parameters: { query?: never; header?: { @@ -124623,7 +125307,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-review-thread-unresolved"]; + "application/json": components["schemas"]["webhook-pull-request-unlocked"]; }; }; responses: { @@ -124636,7 +125320,7 @@ export interface operations { }; }; }; - "pull-request/synchronize": { + push: { parameters: { query?: never; header?: { @@ -124660,7 +125344,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-synchronize"]; + "application/json": components["schemas"]["webhook-push"]; }; }; responses: { @@ -124673,7 +125357,7 @@ export interface operations { }; }; }; - "pull-request/unassigned": { + "registry-package/published": { parameters: { query?: never; header?: { @@ -124697,7 +125381,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-unassigned"]; + "application/json": components["schemas"]["webhook-registry-package-published"]; }; }; responses: { @@ -124710,7 +125394,7 @@ export interface operations { }; }; }; - "pull-request/unlabeled": { + "registry-package/updated": { parameters: { query?: never; header?: { @@ -124734,7 +125418,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-unlabeled"]; + "application/json": components["schemas"]["webhook-registry-package-updated"]; }; }; responses: { @@ -124747,7 +125431,7 @@ export interface operations { }; }; }; - "pull-request/unlocked": { + "release/created": { parameters: { query?: never; header?: { @@ -124771,7 +125455,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-pull-request-unlocked"]; + "application/json": components["schemas"]["webhook-release-created"]; }; }; responses: { @@ -124784,7 +125468,7 @@ export interface operations { }; }; }; - push: { + "release/deleted": { parameters: { query?: never; header?: { @@ -124808,7 +125492,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-push"]; + "application/json": components["schemas"]["webhook-release-deleted"]; }; }; responses: { @@ -124821,7 +125505,7 @@ export interface operations { }; }; }; - "registry-package/published": { + "release/edited": { parameters: { query?: never; header?: { @@ -124845,7 +125529,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-registry-package-published"]; + "application/json": components["schemas"]["webhook-release-edited"]; }; }; responses: { @@ -124858,7 +125542,7 @@ export interface operations { }; }; }; - "registry-package/updated": { + "release/prereleased": { parameters: { query?: never; header?: { @@ -124882,7 +125566,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-registry-package-updated"]; + "application/json": components["schemas"]["webhook-release-prereleased"]; }; }; responses: { @@ -124895,7 +125579,7 @@ export interface operations { }; }; }; - "release/created": { + "release/published": { parameters: { query?: never; header?: { @@ -124919,7 +125603,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-release-created"]; + "application/json": components["schemas"]["webhook-release-published"]; }; }; responses: { @@ -124932,7 +125616,7 @@ export interface operations { }; }; }; - "release/deleted": { + "release/released": { parameters: { query?: never; header?: { @@ -124956,7 +125640,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-release-deleted"]; + "application/json": components["schemas"]["webhook-release-released"]; }; }; responses: { @@ -124969,7 +125653,7 @@ export interface operations { }; }; }; - "release/edited": { + "release/unpublished": { parameters: { query?: never; header?: { @@ -124993,7 +125677,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-release-edited"]; + "application/json": components["schemas"]["webhook-release-unpublished"]; }; }; responses: { @@ -125006,7 +125690,7 @@ export interface operations { }; }; }; - "release/prereleased": { + "repository-advisory/published": { parameters: { query?: never; header?: { @@ -125030,7 +125714,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-release-prereleased"]; + "application/json": components["schemas"]["webhook-repository-advisory-published"]; }; }; responses: { @@ -125043,7 +125727,7 @@ export interface operations { }; }; }; - "release/published": { + "repository-advisory/reported": { parameters: { query?: never; header?: { @@ -125067,7 +125751,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-release-published"]; + "application/json": components["schemas"]["webhook-repository-advisory-reported"]; }; }; responses: { @@ -125080,7 +125764,7 @@ export interface operations { }; }; }; - "release/released": { + "repository/archived": { parameters: { query?: never; header?: { @@ -125104,7 +125788,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-release-released"]; + "application/json": components["schemas"]["webhook-repository-archived"]; }; }; responses: { @@ -125117,7 +125801,7 @@ export interface operations { }; }; }; - "release/unpublished": { + "repository/created": { parameters: { query?: never; header?: { @@ -125141,7 +125825,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-release-unpublished"]; + "application/json": components["schemas"]["webhook-repository-created"]; }; }; responses: { @@ -125154,7 +125838,7 @@ export interface operations { }; }; }; - "repository-advisory/published": { + "repository/deleted": { parameters: { query?: never; header?: { @@ -125178,7 +125862,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-advisory-published"]; + "application/json": components["schemas"]["webhook-repository-deleted"]; }; }; responses: { @@ -125191,7 +125875,7 @@ export interface operations { }; }; }; - "repository-advisory/reported": { + "repository-dispatch/sample.collected": { parameters: { query?: never; header?: { @@ -125215,7 +125899,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-advisory-reported"]; + "application/json": components["schemas"]["webhook-repository-dispatch-sample"]; }; }; responses: { @@ -125228,7 +125912,7 @@ export interface operations { }; }; }; - "repository/archived": { + "repository/edited": { parameters: { query?: never; header?: { @@ -125252,7 +125936,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-archived"]; + "application/json": components["schemas"]["webhook-repository-edited"]; }; }; responses: { @@ -125265,7 +125949,7 @@ export interface operations { }; }; }; - "repository/created": { + "repository-import": { parameters: { query?: never; header?: { @@ -125289,7 +125973,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-created"]; + "application/json": components["schemas"]["webhook-repository-import"]; }; }; responses: { @@ -125302,7 +125986,7 @@ export interface operations { }; }; }; - "repository/deleted": { + "repository/privatized": { parameters: { query?: never; header?: { @@ -125326,7 +126010,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-deleted"]; + "application/json": components["schemas"]["webhook-repository-privatized"]; }; }; responses: { @@ -125339,7 +126023,7 @@ export interface operations { }; }; }; - "repository-dispatch/sample.collected": { + "repository/publicized": { parameters: { query?: never; header?: { @@ -125363,7 +126047,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-dispatch-sample"]; + "application/json": components["schemas"]["webhook-repository-publicized"]; }; }; responses: { @@ -125376,7 +126060,7 @@ export interface operations { }; }; }; - "repository/edited": { + "repository/renamed": { parameters: { query?: never; header?: { @@ -125400,7 +126084,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-edited"]; + "application/json": components["schemas"]["webhook-repository-renamed"]; }; }; responses: { @@ -125413,7 +126097,7 @@ export interface operations { }; }; }; - "repository-import": { + "repository-ruleset/created": { parameters: { query?: never; header?: { @@ -125437,7 +126121,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-import"]; + "application/json": components["schemas"]["webhook-repository-ruleset-created"]; }; }; responses: { @@ -125450,7 +126134,7 @@ export interface operations { }; }; }; - "repository/privatized": { + "repository-ruleset/deleted": { parameters: { query?: never; header?: { @@ -125474,7 +126158,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-privatized"]; + "application/json": components["schemas"]["webhook-repository-ruleset-deleted"]; }; }; responses: { @@ -125487,7 +126171,7 @@ export interface operations { }; }; }; - "repository/publicized": { + "repository-ruleset/edited": { parameters: { query?: never; header?: { @@ -125511,7 +126195,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-publicized"]; + "application/json": components["schemas"]["webhook-repository-ruleset-edited"]; }; }; responses: { @@ -125524,7 +126208,7 @@ export interface operations { }; }; }; - "repository/renamed": { + "repository/transferred": { parameters: { query?: never; header?: { @@ -125548,7 +126232,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-renamed"]; + "application/json": components["schemas"]["webhook-repository-transferred"]; }; }; responses: { @@ -125561,7 +126245,7 @@ export interface operations { }; }; }; - "repository-ruleset/created": { + "repository/unarchived": { parameters: { query?: never; header?: { @@ -125585,7 +126269,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-ruleset-created"]; + "application/json": components["schemas"]["webhook-repository-unarchived"]; }; }; responses: { @@ -125598,7 +126282,7 @@ export interface operations { }; }; }; - "repository-ruleset/deleted": { + "repository-vulnerability-alert/create": { parameters: { query?: never; header?: { @@ -125622,7 +126306,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-ruleset-deleted"]; + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-create"]; }; }; responses: { @@ -125635,7 +126319,7 @@ export interface operations { }; }; }; - "repository-ruleset/edited": { + "repository-vulnerability-alert/dismiss": { parameters: { query?: never; header?: { @@ -125659,7 +126343,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-ruleset-edited"]; + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-dismiss"]; }; }; responses: { @@ -125672,7 +126356,7 @@ export interface operations { }; }; }; - "repository/transferred": { + "repository-vulnerability-alert/reopen": { parameters: { query?: never; header?: { @@ -125696,7 +126380,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-transferred"]; + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-reopen"]; }; }; responses: { @@ -125709,7 +126393,7 @@ export interface operations { }; }; }; - "repository/unarchived": { + "repository-vulnerability-alert/resolve": { parameters: { query?: never; header?: { @@ -125733,7 +126417,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-unarchived"]; + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-resolve"]; }; }; responses: { @@ -125746,7 +126430,7 @@ export interface operations { }; }; }; - "repository-vulnerability-alert/create": { + "secret-scanning-alert/created": { parameters: { query?: never; header?: { @@ -125770,7 +126454,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-vulnerability-alert-create"]; + "application/json": components["schemas"]["webhook-secret-scanning-alert-created"]; }; }; responses: { @@ -125783,7 +126467,7 @@ export interface operations { }; }; }; - "repository-vulnerability-alert/dismiss": { + "secret-scanning-alert-location/created": { parameters: { query?: never; header?: { @@ -125807,7 +126491,8 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-vulnerability-alert-dismiss"]; + "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: { @@ -125820,7 +126505,7 @@ export interface operations { }; }; }; - "repository-vulnerability-alert/reopen": { + "secret-scanning-alert/reopened": { parameters: { query?: never; header?: { @@ -125844,7 +126529,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-vulnerability-alert-reopen"]; + "application/json": components["schemas"]["webhook-secret-scanning-alert-reopened"]; }; }; responses: { @@ -125857,7 +126542,7 @@ export interface operations { }; }; }; - "repository-vulnerability-alert/resolve": { + "secret-scanning-alert/resolved": { parameters: { query?: never; header?: { @@ -125881,7 +126566,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-repository-vulnerability-alert-resolve"]; + "application/json": components["schemas"]["webhook-secret-scanning-alert-resolved"]; }; }; responses: { @@ -125894,7 +126579,7 @@ export interface operations { }; }; }; - "secret-scanning-alert/created": { + "secret-scanning-alert/validated": { parameters: { query?: never; header?: { @@ -125918,7 +126603,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-created"]; + "application/json": components["schemas"]["webhook-secret-scanning-alert-validated"]; }; }; responses: { @@ -125931,7 +126616,7 @@ export interface operations { }; }; }; - "secret-scanning-alert-location/created": { + "security-advisory/published": { parameters: { query?: never; header?: { @@ -125955,8 +126640,7 @@ export interface operations { }; 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"]; + "application/json": components["schemas"]["webhook-security-advisory-published"]; }; }; responses: { @@ -125969,7 +126653,7 @@ export interface operations { }; }; }; - "secret-scanning-alert/reopened": { + "security-advisory/updated": { parameters: { query?: never; header?: { @@ -125993,7 +126677,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-reopened"]; + "application/json": components["schemas"]["webhook-security-advisory-updated"]; }; }; responses: { @@ -126006,7 +126690,7 @@ export interface operations { }; }; }; - "secret-scanning-alert/resolved": { + "security-advisory/withdrawn": { parameters: { query?: never; header?: { @@ -126030,7 +126714,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-resolved"]; + "application/json": components["schemas"]["webhook-security-advisory-withdrawn"]; }; }; responses: { @@ -126043,7 +126727,7 @@ export interface operations { }; }; }; - "secret-scanning-alert/validated": { + "security-and-analysis": { parameters: { query?: never; header?: { @@ -126067,7 +126751,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-validated"]; + "application/json": components["schemas"]["webhook-security-and-analysis"]; }; }; responses: { @@ -126080,7 +126764,7 @@ export interface operations { }; }; }; - "security-advisory/published": { + "sponsorship/cancelled": { parameters: { query?: never; header?: { @@ -126104,7 +126788,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-security-advisory-published"]; + "application/json": components["schemas"]["webhook-sponsorship-cancelled"]; }; }; responses: { @@ -126117,7 +126801,7 @@ export interface operations { }; }; }; - "security-advisory/updated": { + "sponsorship/created": { parameters: { query?: never; header?: { @@ -126141,7 +126825,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-security-advisory-updated"]; + "application/json": components["schemas"]["webhook-sponsorship-created"]; }; }; responses: { @@ -126154,7 +126838,7 @@ export interface operations { }; }; }; - "security-advisory/withdrawn": { + "sponsorship/edited": { parameters: { query?: never; header?: { @@ -126178,7 +126862,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-security-advisory-withdrawn"]; + "application/json": components["schemas"]["webhook-sponsorship-edited"]; }; }; responses: { @@ -126191,7 +126875,7 @@ export interface operations { }; }; }; - "security-and-analysis": { + "sponsorship/pending-cancellation": { parameters: { query?: never; header?: { @@ -126215,7 +126899,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-security-and-analysis"]; + "application/json": components["schemas"]["webhook-sponsorship-pending-cancellation"]; }; }; responses: { @@ -126228,7 +126912,7 @@ export interface operations { }; }; }; - "sponsorship/cancelled": { + "sponsorship/pending-tier-change": { parameters: { query?: never; header?: { @@ -126252,7 +126936,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-sponsorship-cancelled"]; + "application/json": components["schemas"]["webhook-sponsorship-pending-tier-change"]; }; }; responses: { @@ -126265,7 +126949,7 @@ export interface operations { }; }; }; - "sponsorship/created": { + "sponsorship/tier-changed": { parameters: { query?: never; header?: { @@ -126289,7 +126973,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-sponsorship-created"]; + "application/json": components["schemas"]["webhook-sponsorship-tier-changed"]; }; }; responses: { @@ -126302,7 +126986,7 @@ export interface operations { }; }; }; - "sponsorship/edited": { + "star/created": { parameters: { query?: never; header?: { @@ -126326,7 +127010,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-sponsorship-edited"]; + "application/json": components["schemas"]["webhook-star-created"]; }; }; responses: { @@ -126339,7 +127023,7 @@ export interface operations { }; }; }; - "sponsorship/pending-cancellation": { + "star/deleted": { parameters: { query?: never; header?: { @@ -126363,7 +127047,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-sponsorship-pending-cancellation"]; + "application/json": components["schemas"]["webhook-star-deleted"]; }; }; responses: { @@ -126376,7 +127060,7 @@ export interface operations { }; }; }; - "sponsorship/pending-tier-change": { + status: { parameters: { query?: never; header?: { @@ -126400,7 +127084,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-sponsorship-pending-tier-change"]; + "application/json": components["schemas"]["webhook-status"]; }; }; responses: { @@ -126413,7 +127097,7 @@ export interface operations { }; }; }; - "sponsorship/tier-changed": { + "sub-issues/parent-issue-added": { parameters: { query?: never; header?: { @@ -126437,7 +127121,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-sponsorship-tier-changed"]; + "application/json": components["schemas"]["webhook-sub-issues-parent-issue-added"]; }; }; responses: { @@ -126450,7 +127134,7 @@ export interface operations { }; }; }; - "star/created": { + "sub-issues/parent-issue-removed": { parameters: { query?: never; header?: { @@ -126474,7 +127158,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-star-created"]; + "application/json": components["schemas"]["webhook-sub-issues-parent-issue-removed"]; }; }; responses: { @@ -126487,7 +127171,7 @@ export interface operations { }; }; }; - "star/deleted": { + "sub-issues/sub-issue-added": { parameters: { query?: never; header?: { @@ -126511,7 +127195,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-star-deleted"]; + "application/json": components["schemas"]["webhook-sub-issues-sub-issue-added"]; }; }; responses: { @@ -126524,7 +127208,7 @@ export interface operations { }; }; }; - status: { + "sub-issues/sub-issue-removed": { parameters: { query?: never; header?: { @@ -126548,7 +127232,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["webhook-status"]; + "application/json": components["schemas"]["webhook-sub-issues-sub-issue-removed"]; }; }; responses: { diff --git a/packages/openapi-typescript/examples/github-api-next.yaml b/packages/openapi-typescript/examples/github-api-next.yaml index 5ce9cafb1..55f2f4d26 100644 --- a/packages/openapi-typescript/examples/github-api-next.yaml +++ b/packages/openapi-typescript/examples/github-api-next.yaml @@ -231,6 +231,20 @@ paths: in: query schema: type: string + - name: epss_percentage + in: query + description: |- + If specified, only return advisories that have an EPSS percentage score that matches the provided value. + The EPSS percentage represents the likelihood of a CVE being exploited. + schema: + type: string + - name: epss_percentile + in: query + description: |- + If specified, only return advisories that have an EPSS percentile score that matches the provided value. + The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. + schema: + type: string - "$ref": "#/components/parameters/pagination-before" - "$ref": "#/components/parameters/pagination-after" - "$ref": "#/components/parameters/direction" @@ -252,6 +266,8 @@ paths: enum: - updated - published + - epss_percentage + - epss_percentile default: published responses: '200': @@ -1501,7 +1517,7 @@ paths: for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. - The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE. @@ -1674,6 +1690,85 @@ paths: enabledForGitHubApps: false category: secret-scanning subcategory: secret-scanning + "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": + get: + summary: Get a summary of Copilot usage for an enterprise team + description: |- + > [!NOTE] + > This endpoint is in beta and is subject to change. + + You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + See the response schema tab for detailed metrics definitions. + + The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + they must have telemetry enabled in their IDE. + + > [!NOTE] + > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + + Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + + OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + tags: + - copilot + operationId: copilot/usage-metrics-for-enterprise-team + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-an-enterprise-team + parameters: + - "$ref": "#/components/parameters/enterprise" + - "$ref": "#/components/parameters/team-slug" + - name: since + description: Show usage metrics since this date. This is a timestamp in [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). + Maximum value is 28 days ago. + in: query + required: false + schema: + type: string + - name: until + description: Show usage metrics until this date. This is a timestamp in [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) + and should not preceed the `since` date if it is passed. + in: query + required: false + schema: + type: string + - "$ref": "#/components/parameters/page" + - name: per_page + description: The number of days of metrics to display per page (max 28). For + more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + schema: + type: integer + default: 28 + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/copilot-usage-metrics" + examples: + default: + "$ref": "#/components/examples/copilot-usage-metrics-org" + '500': + "$ref": "#/components/responses/internal_error" + '401': + "$ref": "#/components/responses/requires_authentication" + '403': + "$ref": "#/components/responses/forbidden" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: copilot + subcategory: copilot-usage "/events": get: summary: List public events @@ -6225,6 +6320,23 @@ paths: - disabled - not_set default: enabled + dependency_graph_autosubmit_action: + type: string + description: The enablement status of Automatic dependency submission + enum: + - enabled + - disabled + - not_set + default: disabled + dependency_graph_autosubmit_action_options: + type: object + description: Feature options for Automatic dependency submission + properties: + labeled_runners: + type: boolean + description: Whether to use runners labeled with 'dependency-submission' + or standard GitHub runners. + default: false dependabot_alerts: type: string description: The enablement status of Dependabot alerts @@ -6273,6 +6385,15 @@ paths: - disabled - not_set default: disabled + secret_scanning_non_provider_patterns: + type: string + description: The enablement status of secret scanning non provider + patterns + enum: + - enabled + - disabled + - not_set + default: disabled private_vulnerability_reporting: type: string description: The enablement status of private vulnerability reporting @@ -6494,6 +6615,21 @@ paths: - enabled - disabled - not_set + dependency_graph_autosubmit_action: + type: string + description: The enablement status of Automatic dependency submission + enum: + - enabled + - disabled + - not_set + dependency_graph_autosubmit_action_options: + type: object + description: Feature options for Automatic dependency submission + properties: + labeled_runners: + type: boolean + description: Whether to use runners labeled with 'dependency-submission' + or standard GitHub runners. dependabot_alerts: type: string description: The enablement status of Dependabot alerts @@ -6536,6 +6672,14 @@ paths: - enabled - disabled - not_set + secret_scanning_non_provider_patterns: + type: string + description: The enablement status of secret scanning non-provider + patterns + enum: + - enabled + - disabled + - not_set private_vulnerability_reporting: type: string description: The enablement status of private vulnerability reporting @@ -7892,7 +8036,7 @@ paths: across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. - The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE. @@ -11657,10 +11801,10 @@ paths: schema: type: array items: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" examples: default: - "$ref": "#/components/examples/org-custom-properties" + "$ref": "#/components/examples/custom-properties" '403': "$ref": "#/components/responses/forbidden" '404': @@ -11697,7 +11841,7 @@ paths: type: array description: The array of custom properties to create or update. items: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" minItems: 1 maxItems: 100 required: @@ -11728,10 +11872,10 @@ paths: schema: type: array items: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" examples: default: - "$ref": "#/components/examples/org-custom-properties" + "$ref": "#/components/examples/custom-properties" '403': "$ref": "#/components/responses/forbidden" '404': @@ -11762,10 +11906,10 @@ paths: content: application/json: schema: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" examples: default: - "$ref": "#/components/examples/org-custom-property" + "$ref": "#/components/examples/custom-property" '403': "$ref": "#/components/responses/forbidden" '404': @@ -11857,10 +12001,10 @@ paths: content: application/json: schema: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" examples: default: - "$ref": "#/components/examples/org-custom-property" + "$ref": "#/components/examples/custom-property" '403': "$ref": "#/components/responses/forbidden" '404': @@ -12322,6 +12466,8 @@ paths: - PR_TITLE - COMMIT_OR_PR_TITLE description: |- + Required when using `squash_merge_commit_message`. + The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. @@ -12344,6 +12490,8 @@ paths: - PR_TITLE - MERGE_MESSAGE description: |- + Required when using `merge_commit_message`. + The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. @@ -12466,15 +12614,12 @@ paths: description: The name of the ruleset. target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag - push + default: branch enforcement: "$ref": "#/components/schemas/repository-rule-enforcement" bypass_actors: @@ -12612,7 +12757,11 @@ paths: "/orgs/{org}/rulesets/{ruleset_id}": get: summary: Get an organization repository ruleset - description: Get a repository ruleset for an organization. + description: |- + Get a repository ruleset for an organization. + + **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + making the API request has write access to the ruleset. tags: - repos operationId: repos/get-org-ruleset @@ -12681,11 +12830,7 @@ paths: description: The name of the ruleset. target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag @@ -13085,6 +13230,85 @@ paths: enabledForGitHubApps: false category: billing subcategory: billing + "/orgs/{org}/team/{team_slug}/copilot/usage": + get: + summary: Get a summary of Copilot usage for a team + description: |- + > [!NOTE] + > This endpoint is in beta and is subject to change. + + You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + See the response schema tab for detailed metrics definitions. + + The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + they must have telemetry enabled in their IDE. + + > [!NOTE] + > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + + Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + + OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + tags: + - copilot + operationId: copilot/usage-metrics-for-team + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-a-team + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/team-slug" + - name: since + description: Show usage metrics since this date. This is a timestamp in [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). + Maximum value is 28 days ago. + in: query + required: false + schema: + type: string + - name: until + description: Show usage metrics until this date. This is a timestamp in [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) + and should not preceed the `since` date if it is passed. + in: query + required: false + schema: + type: string + - "$ref": "#/components/parameters/page" + - name: per_page + description: The number of days of metrics to display per page (max 28). For + more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + schema: + type: integer + default: 28 + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/copilot-usage-metrics" + examples: + default: + "$ref": "#/components/examples/copilot-usage-metrics-org" + '500': + "$ref": "#/components/responses/internal_error" + '401': + "$ref": "#/components/responses/requires_authentication" + '403': + "$ref": "#/components/responses/forbidden" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: copilot + subcategory: copilot-usage "/orgs/{org}/teams": get: summary: List teams @@ -14744,7 +14968,7 @@ paths: The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. - OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. tags: - orgs operationId: orgs/enable-or-disable-security-product-on-all-org-repos @@ -16001,7 +16225,7 @@ paths: type: object description: Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. - For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." + For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." properties: status: type: string @@ -16078,6 +16302,8 @@ paths: - PR_TITLE - COMMIT_OR_PR_TITLE description: |- + Required when using `squash_merge_commit_message`. + The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. @@ -16100,6 +16326,8 @@ paths: - PR_TITLE - MERGE_MESSAGE description: |- + Required when using `merge_commit_message`. + The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. @@ -19270,9 +19498,9 @@ paths: description: |- Store an artifact attestation and associate it with a repository. - The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. - Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). tags: - repos operationId: repos/create-attestation @@ -19803,7 +20031,7 @@ paths: 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.\n" + control." items: type: string checks: @@ -20514,7 +20742,7 @@ paths: 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.\n" + instead of `contexts` for more fine-grained control." items: type: string checks: @@ -23655,6 +23883,47 @@ paths: githubCloudOnly: false category: code-scanning subcategory: code-scanning + "/repos/{owner}/{repo}/code-security-configuration": + get: + summary: Get the code security configuration associated with a repository + description: |- + Get the code security configuration that manages a repository's code security settings. + + The authenticated user must be an administrator or security manager for the organization to use this endpoint. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + tags: + - code-security + operationId: code-security/get-configuration-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/code-security/configurations#get-the-code-security-configuration-associated-with-a-repository + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/code-security-configuration-for-repository" + examples: + default: + "$ref": "#/components/examples/code-security-configuration-for-repository" + '204': + "$ref": "#/components/responses/no_content" + '304': + "$ref": "#/components/responses/not_modified" + '403': + "$ref": "#/components/responses/forbidden" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: code-security + subcategory: configurations "/repos/{owner}/{repo}/codeowners/errors": get: summary: List CODEOWNERS errors @@ -25861,7 +26130,13 @@ paths: '422': "$ref": "#/components/responses/validation_failed" '409': - "$ref": "#/components/responses/conflict" + description: Conflict + content: + application/json: + schema: + oneOf: + - "$ref": "#/components/schemas/basic-error" + - "$ref": "#/components/schemas/repository-rule-violation-error" x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -28355,7 +28630,13 @@ paths: '403': "$ref": "#/components/responses/forbidden" '422': - "$ref": "#/components/responses/validation_failed" + description: Validation failed + content: + application/json: + schema: + oneOf: + - "$ref": "#/components/schemas/validation-error" + - "$ref": "#/components/schemas/repository-rule-violation-error" x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -36042,6 +36323,8 @@ paths: examples: default: "$ref": "#/components/examples/content-file" + '304': + "$ref": "#/components/responses/not_modified" '404': "$ref": "#/components/responses/not_found" '422': @@ -37025,15 +37308,12 @@ paths: description: The name of the ruleset. target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag - push + default: branch enforcement: "$ref": "#/components/schemas/repository-rule-enforcement" bypass_actors: @@ -37165,7 +37445,11 @@ paths: "/repos/{owner}/{repo}/rulesets/{ruleset_id}": get: summary: Get a repository ruleset - description: Get a ruleset for a repository. + description: |- + Get a ruleset for a repository. + + **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + making the API request has write access to the ruleset. tags: - repos operationId: repos/get-repo-ruleset @@ -37244,11 +37528,7 @@ paths: description: The name of the ruleset. target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag @@ -37534,6 +37814,67 @@ paths: enabledForGitHubApps: true category: secret-scanning subcategory: secret-scanning + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": + post: + summary: Create a push protection bypass + description: |- + Creates a bypass for a previously push protected secret. + + The authenticated user must be the original author of the committed secret. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + operationId: secret-scanning/create-push-protection-bypass + tags: + - secret-scanning + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/secret-scanning/secret-scanning#create-a-push-protection-bypass + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + reason: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass-reason" + placeholder_id: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass-placeholder-id" + required: + - reason + - placeholder_id + examples: + default: + value: + reason: will_fix_later + placeholder_id: 2k4dM4tseyC5lPIsjl5emX9sPNk + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass" + examples: + default: + "$ref": "#/components/examples/secret-scanning-push-protection-bypass" + '403': + description: User does not have enough permissions to perform this action. + '404': + description: Placeholder ID not found, or push protection is disabled on + this repository. + '422': + description: Bad request, input data missing or incorrect. + '503': + "$ref": "#/components/responses/service_unavailable" + x-github: + enabledForGitHubApps: true + githubCloudOnly: false + category: secret-scanning + subcategory: secret-scanning "/repos/{owner}/{repo}/security-advisories": get: summary: List repository security advisories @@ -42839,9 +43180,9 @@ paths: type: array items: type: string - minItems: 1 examples: - username@example.com + minItems: 1 examples: [] required: - emails @@ -42852,9 +43193,9 @@ paths: - type: array items: type: string - minItems: 1 examples: - username@example.com + minItems: 1 - type: string examples: default: @@ -42919,9 +43260,9 @@ paths: type: array items: type: string - minItems: 1 examples: - username@example.com + minItems: 1 example: emails: - octocat@github.com @@ -42931,9 +43272,9 @@ paths: - type: array items: type: string - minItems: 1 examples: - username@example.com + minItems: 1 - type: string examples: default: @@ -45070,6 +45411,8 @@ paths: - PR_TITLE - COMMIT_OR_PR_TITLE description: |- + Required when using `squash_merge_commit_message`. + The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. @@ -45092,6 +45435,8 @@ paths: - PR_TITLE - MERGE_MESSAGE description: |- + Required when using `merge_commit_message`. + The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. @@ -49945,6 +50290,9 @@ webhooks: 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. + + > [!NOTE] + > A webhook event is not fired for deployment statuses with an `inactive` state. description: A new deployment status was created. operationId: deployment-status/created externalDocs: @@ -62004,7 +62352,198 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-security-advisory-withdrawn" + "$ref": "#/components/schemas/webhook-security-advisory-withdrawn" + responses: + '200': + description: Return a 200 status to indicate that the data was received + successfully + x-github: + githubCloudOnly: false + category: webhooks + subcategory: security_advisory + supported-webhook-types: + - app + security-and-analysis: + post: + summary: |- + 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. + operationId: security-and-analysis + externalDocs: + url: https://docs.github.com/webhooks/webhook-events-and-payloads#security_and_analysis + parameters: + - name: User-Agent + in: header + example: GitHub-Hookshot/123abc + schema: + type: string + - name: X-Github-Hook-Id + in: header + example: 12312312 + schema: + type: string + - name: X-Github-Event + in: header + example: issues + schema: + type: string + - name: X-Github-Hook-Installation-Target-Id + in: header + example: 123123 + schema: + type: string + - name: X-Github-Hook-Installation-Target-Type + in: header + example: repository + schema: + type: string + - name: X-GitHub-Delivery + in: header + example: 0b989ba4-242f-11e5-81e1-c7b6966d2516 + schema: + type: string + - name: X-Hub-Signature-256 + in: header + example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/webhook-security-and-analysis" + responses: + '200': + description: Return a 200 status to indicate that the data was received + successfully + x-github: + githubCloudOnly: false + category: webhooks + subcategory: security_and_analysis + supported-webhook-types: + - repository + - organization + - app + sponsorship-cancelled: + post: + summary: |- + 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. + operationId: sponsorship/cancelled + externalDocs: + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship + parameters: + - name: User-Agent + in: header + example: GitHub-Hookshot/123abc + schema: + type: string + - name: X-Github-Hook-Id + in: header + example: 12312312 + schema: + type: string + - name: X-Github-Event + in: header + example: issues + schema: + type: string + - name: X-Github-Hook-Installation-Target-Id + in: header + example: 123123 + schema: + type: string + - name: X-Github-Hook-Installation-Target-Type + in: header + example: repository + schema: + type: string + - name: X-GitHub-Delivery + in: header + example: 0b989ba4-242f-11e5-81e1-c7b6966d2516 + schema: + type: string + - name: X-Hub-Signature-256 + in: header + example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/webhook-sponsorship-cancelled" + responses: + '200': + description: Return a 200 status to indicate that the data was received + successfully + x-github: + githubCloudOnly: false + category: webhooks + subcategory: sponsorship + supported-webhook-types: + - sponsors_listing + sponsorship-created: + post: + summary: |- + 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. + operationId: sponsorship/created + externalDocs: + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship + parameters: + - name: User-Agent + in: header + example: GitHub-Hookshot/123abc + schema: + type: string + - name: X-Github-Hook-Id + in: header + example: 12312312 + schema: + type: string + - name: X-Github-Event + in: header + example: issues + schema: + type: string + - name: X-Github-Hook-Installation-Target-Id + in: header + example: 123123 + schema: + type: string + - name: X-Github-Hook-Installation-Target-Type + in: header + example: repository + schema: + type: string + - name: X-GitHub-Delivery + in: header + example: 0b989ba4-242f-11e5-81e1-c7b6966d2516 + schema: + type: string + - name: X-Hub-Signature-256 + in: header + example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/webhook-sponsorship-created" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62012,18 +62551,21 @@ webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: security_advisory + subcategory: sponsorship supported-webhook-types: - - app - security-and-analysis: + - sponsors_listing + sponsorship-edited: post: summary: |- - 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)." + 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). - To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - operationId: security-and-analysis + 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. + operationId: sponsorship/edited externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#security_and_analysis + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship parameters: - name: User-Agent in: header @@ -62065,7 +62607,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-security-and-analysis" + "$ref": "#/components/schemas/webhook-sponsorship-edited" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62073,22 +62615,20 @@ webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: security_and_analysis + subcategory: sponsorship supported-webhook-types: - - repository - - organization - - app - sponsorship-cancelled: + - sponsors_listing + sponsorship-pending-cancellation: post: summary: |- 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. + 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. - operationId: sponsorship/cancelled + operationId: sponsorship/pending-cancellation externalDocs: url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship parameters: @@ -62132,7 +62672,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-sponsorship-cancelled" + "$ref": "#/components/schemas/webhook-sponsorship-pending-cancellation" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62143,15 +62683,15 @@ webhooks: subcategory: sponsorship supported-webhook-types: - sponsors_listing - sponsorship-created: + sponsorship-pending-tier-change: post: summary: |- 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. - operationId: sponsorship/created + description: A sponsor scheduled a downgrade to a lower sponsorship tier. The + new tier will become effective on their next billing date. + operationId: sponsorship/pending-tier-change externalDocs: url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship parameters: @@ -62195,7 +62735,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-sponsorship-created" + "$ref": "#/components/schemas/webhook-sponsorship-pending-tier-change" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62206,16 +62746,17 @@ webhooks: subcategory: sponsorship supported-webhook-types: - sponsors_listing - sponsorship-edited: + sponsorship-tier-changed: post: summary: |- 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. - operationId: sponsorship/edited + 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. + operationId: sponsorship/tier-changed externalDocs: url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship parameters: @@ -62259,7 +62800,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-sponsorship-edited" + "$ref": "#/components/schemas/webhook-sponsorship-tier-changed" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62270,19 +62811,80 @@ webhooks: subcategory: sponsorship supported-webhook-types: - sponsors_listing - sponsorship-pending-cancellation: + star-created: post: summary: |- - 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). + 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. - 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. + 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. + operationId: star/created + externalDocs: + url: https://docs.github.com/webhooks/webhook-events-and-payloads#star + parameters: + - name: User-Agent + in: header + example: GitHub-Hookshot/123abc + schema: + type: string + - name: X-Github-Hook-Id + in: header + example: 12312312 + schema: + type: string + - name: X-Github-Event + in: header + example: issues + schema: + type: string + - name: X-Github-Hook-Installation-Target-Id + in: header + example: 123123 + schema: + type: string + - name: X-Github-Hook-Installation-Target-Type + in: header + example: repository + schema: + type: string + - name: X-GitHub-Delivery + in: header + example: 0b989ba4-242f-11e5-81e1-c7b6966d2516 + schema: + type: string + - name: X-Hub-Signature-256 + in: header + example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/webhook-star-created" + responses: + '200': + description: Return a 200 status to indicate that the data was received + successfully + x-github: + githubCloudOnly: false + category: webhooks + subcategory: star + supported-webhook-types: + - repository + - organization + - app + star-deleted: + post: + summary: |- + 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. - This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. - operationId: sponsorship/pending-cancellation + 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. + operationId: star/deleted externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship + url: https://docs.github.com/webhooks/webhook-events-and-payloads#star parameters: - name: User-Agent in: header @@ -62324,7 +62926,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-sponsorship-pending-cancellation" + "$ref": "#/components/schemas/webhook-star-deleted" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62332,20 +62934,20 @@ webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: sponsorship + subcategory: star supported-webhook-types: - - sponsors_listing - sponsorship-pending-tier-change: + - repository + - organization + - app + status: post: summary: |- - 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). + 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. - 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. - operationId: sponsorship/pending-tier-change + To subscribe to this event, a GitHub App must have at least read-level access for the "Commit statuses" repository permission. + operationId: status externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship + url: https://docs.github.com/webhooks/webhook-events-and-payloads#status parameters: - name: User-Agent in: header @@ -62387,7 +62989,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-sponsorship-pending-tier-change" + "$ref": "#/components/schemas/webhook-status" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62395,22 +62997,23 @@ webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: sponsorship + subcategory: status supported-webhook-types: - - sponsors_listing - sponsorship-tier-changed: + - repository + - organization + - app + sub-issues-parent-issue-added: post: summary: |- - 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). + This event occurs when there is activity relating to sub-issues. - 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. - operationId: sponsorship/tier-changed + For activity relating to issues more generally, use the `issues` event instead. + + To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + description: A parent issue was added to an issue. + operationId: sub-issues/parent-issue-added externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#sponsorship + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sub-issues parameters: - name: User-Agent in: header @@ -62452,7 +63055,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-sponsorship-tier-changed" + "$ref": "#/components/schemas/webhook-sub-issues-parent-issue-added" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62460,19 +63063,23 @@ webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: sponsorship + subcategory: sub-issues supported-webhook-types: - - sponsors_listing - star-created: + - repository + - organization + - app + sub-issues-parent-issue-removed: post: summary: |- - 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. + This event occurs when there is activity relating to sub-issues. - 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. - operationId: star/created + For activity relating to issues more generally, use the `issues` event instead. + + To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + description: A parent issue was removed from an issue. + operationId: sub-issues/parent-issue-removed externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#star + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sub-issues parameters: - name: User-Agent in: header @@ -62514,7 +63121,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-star-created" + "$ref": "#/components/schemas/webhook-sub-issues-parent-issue-removed" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62522,21 +63129,23 @@ webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: star + subcategory: sub-issues supported-webhook-types: - repository - organization - app - star-deleted: + sub-issues-sub-issue-added: post: summary: |- - 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. + This event occurs when there is activity relating to sub-issues. - 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. - operationId: star/deleted + For activity relating to issues more generally, use the `issues` event instead. + + To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + description: A sub-issue was added to an issue. + operationId: sub-issues/sub-issue-added externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#star + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sub-issues parameters: - name: User-Agent in: header @@ -62578,7 +63187,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-star-deleted" + "$ref": "#/components/schemas/webhook-sub-issues-sub-issue-added" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62586,20 +63195,23 @@ webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: star + subcategory: sub-issues supported-webhook-types: - repository - organization - app - status: + sub-issues-sub-issue-removed: post: summary: |- - 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. + This event occurs when there is activity relating to sub-issues. - To subscribe to this event, a GitHub App must have at least read-level access for the "Commit statuses" repository permission. - operationId: status + For activity relating to issues more generally, use the `issues` event instead. + + To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + description: A sub-issue was removed from an issue. + operationId: sub-issues/sub-issue-removed externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#status + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sub-issues parameters: - name: User-Agent in: header @@ -62641,7 +63253,7 @@ webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-status" + "$ref": "#/components/schemas/webhook-sub-issues-sub-issue-removed" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62649,7 +63261,7 @@ webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: status + subcategory: sub-issues supported-webhook-types: - repository - organization @@ -63842,6 +64454,53 @@ components: - vulnerable_version_range - first_patched_version - vulnerable_functions + cvss-severities: + type: + - object + - 'null' + properties: + cvss_v3: + type: + - object + - 'null' + properties: + vector_string: + type: + - string + - 'null' + description: The CVSS 3 vector string. + score: + type: + - number + - 'null' + description: The CVSS 3 score. + minimum: 0 + maximum: 10 + readOnly: true + required: + - vector_string + - score + cvss_v4: + type: + - object + - 'null' + properties: + vector_string: + type: + - string + - 'null' + description: The CVSS 4 vector string. + score: + type: + - number + - 'null' + description: The CVSS 4 score. + minimum: 0 + maximum: 10 + readOnly: true + required: + - vector_string + - score simple-user: title: Simple User description: A GitHub user. @@ -64129,6 +64788,8 @@ components: required: - vector_string - score + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: - array @@ -64146,6 +64807,15 @@ components: required: - cwe_id - name + epss: + type: + - object + - 'null' + properties: + percentage: + type: number + percentile: + type: number credits: type: - array @@ -64238,6 +64908,10 @@ components: type: string examples: - MDExOkludGVncmF0aW9uMQ== + client_id: + type: string + examples: + - '"Iv1.25b5d1e65ffc4022"' owner: anyOf: - type: 'null' @@ -64305,10 +64979,6 @@ components: type: integer examples: - 5 - client_id: - type: string - examples: - - '"Iv1.25b5d1e65ffc4022"' client_secret: type: string examples: @@ -66580,291 +67250,6 @@ components: - html_url - key - name - team-simple: - title: Team Simple - description: Groups of organization members that gives permissions on specified - repositories. - type: object - properties: - id: - description: Unique identifier of the team - type: integer - examples: - - 1 - node_id: - type: string - examples: - - MDQ6VGVhbTE= - url: - description: URL for the team - type: string - format: uri - examples: - - https://api.github.com/organizations/1/team/1 - members_url: - type: string - examples: - - https://api.github.com/organizations/1/team/1/members{/member} - name: - description: Name of the team - type: string - examples: - - Justice League - description: - description: Description of the team - type: - - string - - 'null' - examples: - - A great team. - permission: - description: Permission that the team will have for its repositories - type: string - examples: - - admin - privacy: - description: The level of privacy this team should have - type: string - examples: - - closed - notification_setting: - description: The notification setting the team has set - type: string - examples: - - notifications_enabled - html_url: - type: string - format: uri - examples: - - https://github.com/orgs/rails/teams/core - repositories_url: - type: string - format: uri - examples: - - https://api.github.com/organizations/1/team/1/repos - slug: - type: string - examples: - - justice-league - ldap_dn: - description: Distinguished Name (DN) that team maps to within LDAP environment - type: string - examples: - - uid=example,ou=users,dc=github,dc=com - required: - - id - - node_id - - url - - members_url - - name - - description - - permission - - html_url - - repositories_url - - slug - team: - title: Team - description: Groups of organization members that gives permissions on specified - repositories. - type: object - properties: - id: - type: integer - node_id: - type: string - name: - type: string - slug: - type: string - description: - type: - - string - - 'null' - privacy: - type: string - notification_setting: - type: string - permission: - type: string - permissions: - type: object - properties: - pull: - type: boolean - triage: - type: boolean - push: - type: boolean - maintain: - type: boolean - admin: - type: boolean - required: - - pull - - triage - - push - - maintain - - admin - url: - type: string - format: uri - html_url: - type: string - format: uri - examples: - - https://github.com/orgs/rails/teams/core - members_url: - type: string - repositories_url: - type: string - format: uri - parent: - anyOf: - - type: 'null' - - "$ref": "#/components/schemas/team-simple" - required: - - id - - node_id - - url - - members_url - - name - - description - - permission - - html_url - - repositories_url - - slug - - parent - organization: - title: Organization - description: GitHub account for managing multiple users, teams, and repositories - type: object - properties: - login: - description: Unique login name of the organization - type: string - examples: - - new-org - url: - description: URL for the organization - type: string - format: uri - examples: - - https://api.github.com/orgs/github - id: - type: integer - node_id: - type: string - repos_url: - type: string - format: uri - events_url: - type: string - format: uri - hooks_url: - type: string - issues_url: - type: string - members_url: - type: string - public_members_url: - type: string - avatar_url: - type: string - description: - type: - - string - - 'null' - blog: - description: Display blog url for the organization - type: string - format: uri - examples: - - blog.example-org.com - html_url: - type: string - format: uri - name: - description: Display name for the organization - type: string - examples: - - New Org - company: - description: Display company name for the organization - type: string - examples: - - Acme corporation - location: - description: Display location for the organization - type: string - examples: - - Berlin, Germany - email: - description: Display email for the organization - type: string - format: email - examples: - - org@example.com - has_organization_projects: - description: Specifies if organization projects are enabled for this org - type: boolean - has_repository_projects: - description: Specifies if repository projects are enabled for repositories - that belong to this org - type: boolean - is_verified: - type: boolean - public_repos: - type: integer - public_gists: - type: integer - followers: - type: integer - following: - type: integer - type: - type: string - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - plan: - type: object - properties: - name: - type: string - space: - type: integer - private_repos: - type: integer - filled_seats: - type: integer - seats: - type: integer - required: - - login - - url - - id - - node_id - - repos_url - - events_url - - hooks_url - - issues_url - - members_url - - public_members_url - - avatar_url - - description - - html_url - - has_organization_projects - - has_repository_projects - - public_repos - - public_gists - - followers - - following - - type - - created_at - - updated_at organization-simple: title: Organization Simple description: A GitHub organization. @@ -66936,6 +67321,160 @@ components: - public_members_url - avatar_url - description + team-simple: + title: Team Simple + description: Groups of organization members that gives permissions on specified + repositories. + type: object + properties: + id: + description: Unique identifier of the team + type: integer + examples: + - 1 + node_id: + type: string + examples: + - MDQ6VGVhbTE= + url: + description: URL for the team + type: string + format: uri + examples: + - https://api.github.com/organizations/1/team/1 + members_url: + type: string + examples: + - https://api.github.com/organizations/1/team/1/members{/member} + name: + description: Name of the team + type: string + examples: + - Justice League + description: + description: Description of the team + type: + - string + - 'null' + examples: + - A great team. + permission: + description: Permission that the team will have for its repositories + type: string + examples: + - admin + privacy: + description: The level of privacy this team should have + type: string + examples: + - closed + notification_setting: + description: The notification setting the team has set + type: string + examples: + - notifications_enabled + html_url: + type: string + format: uri + examples: + - https://github.com/orgs/rails/teams/core + repositories_url: + type: string + format: uri + examples: + - https://api.github.com/organizations/1/team/1/repos + slug: + type: string + examples: + - justice-league + ldap_dn: + description: Distinguished Name (DN) that team maps to within LDAP environment + type: string + examples: + - uid=example,ou=users,dc=github,dc=com + required: + - id + - node_id + - url + - members_url + - name + - description + - permission + - html_url + - repositories_url + - slug + team: + title: Team + description: Groups of organization members that gives permissions on specified + repositories. + type: object + properties: + id: + type: integer + node_id: + type: string + name: + type: string + slug: + type: string + description: + type: + - string + - 'null' + privacy: + type: string + notification_setting: + type: string + permission: + type: string + permissions: + type: object + properties: + pull: + type: boolean + triage: + type: boolean + push: + type: boolean + maintain: + type: boolean + admin: + type: boolean + required: + - pull + - triage + - push + - maintain + - admin + url: + type: string + format: uri + html_url: + type: string + format: uri + examples: + - https://github.com/orgs/rails/teams/core + members_url: + type: string + repositories_url: + type: string + format: uri + parent: + anyOf: + - type: 'null' + - "$ref": "#/components/schemas/team-simple" + required: + - id + - node_id + - url + - members_url + - name + - description + - permission + - html_url + - repositories_url + - slug + - parent enterprise-team: title: Enterprise Team description: Group of enterprise owners and/or members @@ -66996,8 +67535,6 @@ components: additionalProperties: true oneOf: - "$ref": "#/components/schemas/simple-user" - - "$ref": "#/components/schemas/team" - - "$ref": "#/components/schemas/organization" organization: type: - object @@ -67258,6 +67795,8 @@ components: - score - vector_string additionalProperties: false + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: array description: Details for the advisory pertaining to Common Weakness Enumeration. @@ -67870,7 +68409,7 @@ components: 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)." + For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." secret: type: string description: The secret that was detected. @@ -69483,12 +70022,24 @@ components: type: string examples: - 192.0.2.1 + codespaces: + type: array + items: + type: string + examples: + - 192.0.2.1 dependabot: type: array items: type: string examples: - 192.0.2.1 + copilot: + type: array + items: + type: string + examples: + - 192.0.2.1 domains: type: object properties: @@ -69522,6 +70073,19 @@ components: type: string examples: - example.com + artifact_attestations: + type: object + properties: + trust_domain: + type: string + examples: + - example + services: + type: array + items: + type: string + examples: + - example.com required: - verifiable_password_authentication security-and-analysis: @@ -70878,6 +71442,9 @@ components: description: type: string description: A short description of the rule used to detect the alert. + full_description: + type: string + description: A description of the rule used to detect the alert. tags: type: - array @@ -70885,6 +71452,17 @@ components: description: A set of tags applicable for the rule. items: type: string + help: + type: + - string + - 'null' + description: Detailed documentation for the rule as GitHub Flavored Markdown. + help_uri: + type: + - string + - 'null' + description: A link to the documentation for the rule used to detect the + alert. code-scanning-analysis-tool-version: type: - string @@ -71059,6 +71637,21 @@ components: - enabled - disabled - not_set + dependency_graph_autosubmit_action: + type: string + description: The enablement status of Automatic dependency submission + enum: + - enabled + - disabled + - not_set + dependency_graph_autosubmit_action_options: + type: object + description: Feature options for Automatic dependency submission + properties: + labeled_runners: + type: boolean + description: Whether to use runners labeled with 'dependency-submission' + or standard GitHub runners. dependabot_alerts: type: string description: The enablement status of Dependabot alerts @@ -71101,6 +71694,13 @@ components: - enabled - disabled - not_set + secret_scanning_non_provider_patterns: + type: string + description: The enablement status of secret scanning non-provider patterns + enum: + - enabled + - disabled + - not_set private_vulnerability_reporting: type: string description: The enablement status of private vulnerability reporting @@ -72645,7 +73245,7 @@ components: - columns_url - created_at - updated_at - org-custom-property: + custom-property: title: Organization Custom Property description: Custom property defined on an organization type: object @@ -72653,6 +73253,11 @@ components: property_name: type: string description: The name of the property + url: + type: string + format: uri + description: The URL that can be used to fetch, update, or delete info about + this property via the API. value_type: type: string enum: @@ -73360,12 +73965,10 @@ components: type: - integer - 'null' - description: 'The ID of the actor that can bypass a ruleset. If `actor_type` + description: The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - - ' actor_type: type: string enum: @@ -73374,16 +73977,12 @@ components: - RepositoryRole - Team - DeployKey - description: 'The type of actor that can bypass a ruleset. - - ' + description: The type of actor that can bypass a ruleset. bypass_mode: type: string - description: 'When the specified actor can bypass the ruleset. `pull_request` + description: When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - - ' enum: - always - pull_request @@ -73498,11 +74097,9 @@ components: org-ruleset-conditions: title: Organization ruleset conditions type: object - description: 'Conditions for an organization ruleset. The conditions object - should contain both `repository_name` and `ref_name` properties or both `repository_id` + 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. - - ' oneOf: - type: object title: repository_name_and_ref_name @@ -74089,11 +74686,8 @@ components: - "$ref": "#/components/schemas/repository-rule-branch-name-pattern" - "$ref": "#/components/schemas/repository-rule-tag-name-pattern" - title: file_path_restriction - description: |- - > [!NOTE] - > `file_path_restriction` is in beta and subject to change. - - Prevent commits that include changes in specified file paths from being pushed to the commit graph. + description: Prevent commits that include changes in specified file paths + from being pushed to the commit graph. type: object required: - type @@ -74114,11 +74708,8 @@ components: required: - restricted_file_paths - title: max_file_path_length - description: |- - > [!NOTE] - > `max_file_path_length` is in beta and subject to change. - - Prevent commits that include file paths that exceed a specified character limit from being pushed to the commit graph. + description: Prevent commits that include file paths that exceed a specified + character limit from being pushed to the commit graph. type: object required: - type @@ -74138,11 +74729,8 @@ components: required: - max_file_path_length - title: file_extension_restriction - description: |- - > [!NOTE] - > `file_extension_restriction` is in beta and subject to change. - - Prevent commits that include files with specified file extensions from being pushed to the commit graph. + description: Prevent commits that include files with specified file extensions + from being pushed to the commit graph. type: object required: - type @@ -74163,11 +74751,8 @@ components: required: - restricted_file_extensions - title: max_file_size - description: |- - > [!NOTE] - > `max_file_size` is in beta and subject to change. - - Prevent commits that exceed a specified file size limit from being pushed to the commit. + description: Prevent commits that exceed a specified file size limit from + being pushed to the commit. type: object required: - type @@ -74207,11 +74792,7 @@ components: description: The name of the ruleset target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag @@ -74324,6 +74905,7 @@ components: enum: - pass - fail + - bypass 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`. @@ -74374,13 +74956,18 @@ components: description: The result of the rule evaluations for rules with the `active` enforcement status. evaluation_result: - type: string + type: + - string + - 'null' enum: - pass - fail + - bypass + - 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`. + pass or fail if all rules in the rule suite were `active`. Null if no + rules with `evaluate` enforcement status were run. rule_evaluations: type: array description: Details on the evaluated rules. @@ -74420,8 +75007,11 @@ components: type: string description: The type of rule. details: - type: string - description: Any associated details with the rule evaluation. + type: + - string + - 'null' + description: The detailed failure message for the rule. Null if the + rule passed. repository-advisory-vulnerability: description: A product affected by the vulnerability detailed in a repository security advisory. @@ -74651,6 +75241,8 @@ components: required: - vector_string - score + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: - array @@ -77940,6 +78532,8 @@ components: - false name: type: string + client_id: + type: string description: type: string external_url: @@ -78676,6 +79270,7 @@ components: id: description: The id of the check. type: integer + format: int64 examples: - 21 head_sha: @@ -79125,7 +79720,7 @@ components: description: A short description of the rule used to detect the alert. full_description: type: string - description: description of the rule used to detect the alert. + description: A description of the rule used to detect the alert. tags: type: - array @@ -79736,6 +80331,26 @@ components: type: string description: Any errors that ocurred during processing of the delivery. readOnly: true + code-security-configuration-for-repository: + type: object + description: Code security configuration associated with a repository and attachment + status + properties: + status: + type: string + description: The attachment status of the code security configuration on + the repository. + enum: + - attached + - attaching + - detached + - removed + - enforced + - failed + - updating + - removed_by_enterprise + configuration: + "$ref": "#/components/schemas/code-security-configuration" codeowners-errors: title: CODEOWNERS errors description: A list of errors found in a repo's CODEOWNERS file @@ -81276,6 +81891,35 @@ components: type: - string - 'null' + secret-scanning-push-protection-bypass-placeholder-id: + description: The ID of the push protection bypass placeholder. This value is + returned on any push protected routes. + type: string + repository-rule-violation-error: + description: Repository rule violation was detected + type: object + properties: + message: + type: string + documentation_url: + type: string + status: + type: string + metadata: + type: object + properties: + secret_scanning: + type: object + properties: + bypass_placeholders: + type: array + items: + type: object + properties: + placeholder_id: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass-placeholder-id" + token_type: + type: string contributor: title: Contributor description: Contributor @@ -87032,7 +87676,7 @@ components: 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)." + For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." secret: type: string description: The secret that was detected. @@ -87361,6 +88005,27 @@ components: - "$ref": "#/components/schemas/secret-scanning-location-pull-request-comment" - "$ref": "#/components/schemas/secret-scanning-location-pull-request-review" - "$ref": "#/components/schemas/secret-scanning-location-pull-request-review-comment" + secret-scanning-push-protection-bypass-reason: + description: The reason for bypassing push protection. + type: string + enum: + - false_positive + - used_in_tests + - will_fix_later + secret-scanning-push-protection-bypass: + type: object + properties: + reason: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass-reason" + expire_at: + type: + - string + - 'null' + format: date-time + description: 'The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.' + token_type: + type: string + description: The token type this bypass is for. repository-advisory-create: type: object properties: @@ -94986,10 +95651,8 @@ components: merge-group: type: object title: Merge Group - description: 'A group of pull requests that the merge queue has grouped together + description: A group of pull requests that the merge queue has grouped together to be merged. - - ' properties: head_sha: description: The SHA of the merge group. @@ -99501,7 +100164,7 @@ components: 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)." + For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." validity: type: string description: The token status as of the latest validity check. @@ -99542,6 +100205,8 @@ components: required: - vector_string - score + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: array items: @@ -100503,6 +101168,11 @@ components: type: - integer - 'null' + client_id: + description: The client ID of the GitHub app + type: + - string + - 'null' name: description: The name of the GitHub app type: string @@ -101116,6 +101786,11 @@ components: type: - integer - 'null' + client_id: + description: Client ID of the GitHub app + type: + - string + - 'null' name: description: The name of the GitHub app type: string @@ -101722,6 +102397,11 @@ components: type: - integer - 'null' + client_id: + description: The Client ID for the GitHub app + type: + - string + - 'null' name: description: The name of the GitHub app type: string @@ -103897,7 +104577,7 @@ components: enum: - created definition: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" enterprise: "$ref": "#/components/schemas/enterprise-webhooks" installation: @@ -103945,7 +104625,7 @@ components: enum: - updated definition: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" enterprise: "$ref": "#/components/schemas/enterprise-webhooks" installation: @@ -188732,6 +189412,8 @@ components: required: - vector_string - score + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: array items: @@ -189482,6 +190164,146 @@ components: - updated_at - repository - sender + webhook-sub-issues-parent-issue-added: + title: parent issue added event + type: object + properties: + action: + type: string + enum: + - parent_issue_added + parent_issue_id: + description: The ID of the parent issue. + type: number + parent_issue: + "$ref": "#/components/schemas/issue" + parent_issue_repo: + "$ref": "#/components/schemas/repository" + sub_issue_id: + description: The ID of the sub-issue. + type: number + sub_issue: + "$ref": "#/components/schemas/issue" + installation: + "$ref": "#/components/schemas/simple-installation" + organization: + "$ref": "#/components/schemas/organization-simple-webhooks" + repository: + "$ref": "#/components/schemas/repository-webhooks" + sender: + "$ref": "#/components/schemas/simple-user-webhooks" + required: + - action + - parent_issue_id + - parent_issue + - parent_issue_repo + - sub_issue_id + - sub_issue + webhook-sub-issues-parent-issue-removed: + title: parent issue removed event + type: object + properties: + action: + type: string + enum: + - parent_issue_removed + parent_issue_id: + description: The ID of the parent issue. + type: number + parent_issue: + "$ref": "#/components/schemas/issue" + parent_issue_repo: + "$ref": "#/components/schemas/repository" + sub_issue_id: + description: The ID of the sub-issue. + type: number + sub_issue: + "$ref": "#/components/schemas/issue" + installation: + "$ref": "#/components/schemas/simple-installation" + organization: + "$ref": "#/components/schemas/organization-simple-webhooks" + repository: + "$ref": "#/components/schemas/repository-webhooks" + sender: + "$ref": "#/components/schemas/simple-user-webhooks" + required: + - action + - parent_issue_id + - parent_issue + - parent_issue_repo + - sub_issue_id + - sub_issue + webhook-sub-issues-sub-issue-added: + title: sub-issue added event + type: object + properties: + action: + type: string + enum: + - sub_issue_added + sub_issue_id: + description: The ID of the sub-issue. + type: number + sub_issue: + "$ref": "#/components/schemas/issue" + sub_issue_repo: + "$ref": "#/components/schemas/repository" + parent_issue_id: + description: The ID of the parent issue. + type: number + parent_issue: + "$ref": "#/components/schemas/issue" + installation: + "$ref": "#/components/schemas/simple-installation" + organization: + "$ref": "#/components/schemas/organization-simple-webhooks" + repository: + "$ref": "#/components/schemas/repository-webhooks" + sender: + "$ref": "#/components/schemas/simple-user-webhooks" + required: + - action + - sub_issue_id + - sub_issue + - sub_issue_repo + - parent_issue_id + - parent_issue + webhook-sub-issues-sub-issue-removed: + title: sub-issue removed event + type: object + properties: + action: + type: string + enum: + - sub_issue_removed + sub_issue_id: + description: The ID of the sub-issue. + type: number + sub_issue: + "$ref": "#/components/schemas/issue" + sub_issue_repo: + "$ref": "#/components/schemas/repository" + parent_issue_id: + description: The ID of the parent issue. + type: number + parent_issue: + "$ref": "#/components/schemas/issue" + installation: + "$ref": "#/components/schemas/simple-installation" + organization: + "$ref": "#/components/schemas/organization-simple-webhooks" + repository: + "$ref": "#/components/schemas/repository-webhooks" + sender: + "$ref": "#/components/schemas/simple-user-webhooks" + required: + - action + - sub_issue_id + - sub_issue + - sub_issue_repo + - parent_issue_id + - parent_issue webhook-team-add: title: team_add event type: object @@ -193130,6 +193952,7 @@ components: - stale - success - timed_out + - startup_failure - created_at: type: string @@ -195906,9 +196729,19 @@ components: cvss: vector_string: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H score: 7.6 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H + score: 7.6 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 9.3 cwes: - cwe_id: CWE-400 name: Uncontrolled Resource Consumption + epss: + - percentage: 0.00045 + percentile: 0.16001e0 credits: - user: login: octocat @@ -195965,6 +196798,13 @@ components: cvss: vector_string: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H score: 7.6 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H + score: 7.6 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 9.3 cwes: - cwe_id: CWE-400 name: Uncontrolled Resource Consumption @@ -195993,6 +196833,7 @@ components: value: id: 1 slug: octoapp + client_id: Iv1.ab1112223334445c node_id: MDExOkludGVncmF0aW9uMQ== owner: login: octocat @@ -198778,6 +199619,13 @@ components: cvss: vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N score: 7.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + score: 7.5 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N + score: 8.7 cwes: - cwe_id: CWE-200 name: Exposure of Sensitive Information to an Unauthorized Actor @@ -198938,6 +199786,13 @@ components: cvss: vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N score: 5.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N + score: 5.5 + cvss_v4: + vector_string: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 8.5 cwes: - cwe_id: CWE-532 name: Insertion of Sensitive Information into Log File @@ -199237,6 +200092,70 @@ components: push_protection_bypassed_at: resolution_comment: validity: unknown + copilot-usage-metrics-org: + value: + - day: '2023-10-15' + total_suggestions_count: 1000 + total_acceptances_count: 800 + total_lines_suggested: 1800 + total_lines_accepted: 1200 + total_active_users: 10 + total_chat_acceptances: 32 + total_chat_turns: 200 + total_active_chat_users: 4 + breakdown: + - language: python + editor: vscode + suggestions_count: 300 + acceptances_count: 250 + lines_suggested: 900 + lines_accepted: 700 + active_users: 5 + - language: python + editor: jetbrains + suggestions_count: 300 + acceptances_count: 200 + lines_suggested: 400 + lines_accepted: 300 + active_users: 2 + - language: ruby + editor: vscode + suggestions_count: 400 + acceptances_count: 350 + lines_suggested: 500 + lines_accepted: 200 + active_users: 3 + - day: '2023-10-16' + total_suggestions_count: 800 + total_acceptances_count: 600 + total_lines_suggested: 1100 + total_lines_accepted: 700 + total_active_users: 12 + total_chat_acceptances: 57 + total_chat_turns: 426 + total_active_chat_users: 8 + breakdown: + - language: python + editor: vscode + suggestions_count: 300 + acceptances_count: 200 + lines_suggested: 600 + lines_accepted: 300 + active_users: 2 + - language: python + editor: jetbrains + suggestions_count: 300 + acceptances_count: 150 + lines_suggested: 300 + lines_accepted: 250 + active_users: 6 + - language: ruby + editor: vscode + suggestions_count: 200 + acceptances_count: 150 + lines_suggested: 200 + lines_accepted: 150 + active_users: 3 public-events-items: value: - id: '22249084947' @@ -200371,6 +201290,8 @@ components: - 192.0.2.1 dependabot: - 192.0.2.1 + copilot: + - 192.0.2.1 domains: website: - "*.example.com" @@ -201472,13 +202393,18 @@ components: scanning. advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: not_set + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: enabled secret_scanning: enabled secret_scanning_push_protection: enabled secret_scanning_validity_checks: enabled + secret_scanning_non_provider_patterns: enabled private_vulnerability_reporting: enabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/17 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/view created_at: '2023-12-04T15:58:07Z' @@ -201490,13 +202416,18 @@ components: repositories advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: enabled + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: enabled code_scanning_default_setup: enabled secret_scanning: enabled secret_scanning_push_protection: enabled secret_scanning_validity_checks: disabled + secret_scanning_non_provider_patterns: disabled private_vulnerability_reporting: enabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/1326 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/edit/1326 created_at: '2024-05-10T00:00:00Z' @@ -201509,12 +202440,16 @@ components: description: This is a code security configuration for octo-org advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: enabled + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: disabled secret_scanning: enabled secret_scanning_push_protection: disabled secret_scanning_validity_checks: disabled + secret_scanning_non_provider_patterns: disabled private_vulnerability_reporting: disabled enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/1325 @@ -201531,13 +202466,18 @@ components: description: This is a code security configuration for octo-org advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: not_set + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: enabled secret_scanning: enabled secret_scanning_push_protection: enabled secret_scanning_validity_checks: enabled + secret_scanning_non_provider_patterns: enabled private_vulnerability_reporting: enabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/1325 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/edit/1325 created_at: '2024-05-01T00:00:00Z' @@ -201551,6 +202491,9 @@ components: scanning. advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: not_set + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: enabled @@ -201558,6 +202501,7 @@ components: secret_scanning_push_protection: enabled secret_scanning_validity_checks: disabled private_vulnerability_reporting: enabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/17 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/view created_at: '2023-12-04T15:58:07Z' @@ -201570,13 +202514,18 @@ components: description: This is a code security configuration for octo-org advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: enabled + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: enabled secret_scanning: disabled secret_scanning_push_protection: disabled secret_scanning_validity_checks: disabled + secret_scanning_non_provider_patterns: disabled private_vulnerability_reporting: disabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/1325 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/edit/1325 created_at: '2024-05-01T00:00:00Z' @@ -202091,70 +203040,6 @@ components: inactive_this_cycle: 11 seat_management_setting: assign_selected public_code_suggestions: block - copilot-usage-metrics-org: - value: - - day: '2023-10-15' - total_suggestions_count: 1000 - total_acceptances_count: 800 - total_lines_suggested: 1800 - total_lines_accepted: 1200 - total_active_users: 10 - total_chat_acceptances: 32 - total_chat_turns: 200 - total_active_chat_users: 4 - breakdown: - - language: python - editor: vscode - suggestions_count: 300 - acceptances_count: 250 - lines_suggested: 900 - lines_accepted: 700 - active_users: 5 - - language: python - editor: jetbrains - suggestions_count: 300 - acceptances_count: 200 - lines_suggested: 400 - lines_accepted: 300 - active_users: 2 - - language: ruby - editor: vscode - suggestions_count: 400 - acceptances_count: 350 - lines_suggested: 500 - lines_accepted: 200 - active_users: 3 - - day: '2023-10-16' - total_suggestions_count: 800 - total_acceptances_count: 600 - total_lines_suggested: 1100 - total_lines_accepted: 700 - total_active_users: 12 - total_chat_acceptances: 57 - total_chat_turns: 426 - total_active_chat_users: 8 - breakdown: - - language: python - editor: vscode - suggestions_count: 300 - acceptances_count: 200 - lines_suggested: 600 - lines_accepted: 300 - active_users: 2 - - language: python - editor: jetbrains - suggestions_count: 300 - acceptances_count: 150 - lines_suggested: 300 - lines_accepted: 250 - active_users: 6 - - language: ruby - editor: vscode - suggestions_count: 200 - acceptances_count: 150 - lines_suggested: 200 - lines_accepted: 150 - active_users: 3 organization-dependabot-secret-paginated: value: total_count: 3 @@ -202399,6 +203284,7 @@ components: repositories_url: https://api.github.com/installation/repositories html_url: https://github.com/organizations/github/settings/installations/1 app_id: 1 + client_id: Iv1.ab1112223334445c target_id: 1 target_type: Organization permissions: @@ -203580,9 +204466,10 @@ components: site_admin: false created_at: '2011-04-11T20:09:31Z' updated_at: '2014-03-04T18:58:10Z' - org-custom-properties: + custom-properties: value: - property_name: environment + url: https://api.github.com/orgs/github/properties/schema/environment value_type: single_select required: true default_value: production @@ -203592,13 +204479,16 @@ components: - development values_editable_by: org_actors - property_name: service + url: https://api.github.com/orgs/github/properties/schema/service value_type: string - property_name: team + url: https://api.github.com/orgs/github/properties/schema/team value_type: string description: Team owning the repository - org-custom-property: + custom-property: value: property_name: environment + url: https://api.github.com/orgs/github/properties/schema/environment value_type: single_select required: true default_value: production @@ -204321,6 +205211,13 @@ components: cvss: vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H score: 9.8 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H + score: 9.8 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 9.3 cwes: - cwe_id: CWE-123 name: A CWE @@ -204461,6 +205358,13 @@ components: cvss: vector_string: AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N score: 1.6 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N + score: 1.6 + cvss_v4: + vector_string: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 7.1 cwes: - cwe_id: CWE-456 name: A CWE 2.0 @@ -209059,6 +209963,32 @@ components: value: processing_status: complete analyses_url: https://api.github.com/repos/octocat/hello-world/code-scanning/analyses?sarif_id=47177e22-5596-11eb-80a1-c1e54ef945c6 + code-security-configuration-for-repository: + value: + state: attached + configuration: + id: 1325 + target_type: organization + name: octo-org recommended settings + description: This is a code security configuration for octo-org + advanced_security: enabled + dependency_graph: enabled + dependency_graph_autosubmit_action: enabled + dependency_graph_autosubmit_action_options: + labeled_runners: false + dependabot_alerts: enabled + dependabot_security_updates: not_set + code_scanning_default_setup: disabled + secret_scanning: enabled + secret_scanning_push_protection: disabled + secret_scanning_validity_checks: disabled + secret_scanning_non_provider_patterns: disabled + private_vulnerability_reporting: disabled + enforcement: enforced + url: https://api.github.com/orgs/octo-org/code-security/configurations/1325 + html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/edit/1325 + created_at: '2024-05-01T00:00:00Z' + updated_at: '2024-05-01T00:00:00Z' codeowners-errors: value: errors: @@ -211169,6 +212099,13 @@ components: cvss: vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N score: 7.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + score: 7.5 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N + score: 8.7 cwes: - cwe_id: CWE-200 name: Exposure of Sensitive Information to an Unauthorized Actor @@ -211264,6 +212201,13 @@ components: cvss: vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N score: 5.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N + score: 5.5 + cvss_v4: + vector_string: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 8.5 cwes: - cwe_id: CWE-532 name: Insertion of Sensitive Information into Log File @@ -211341,6 +212285,13 @@ components: cvss: vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N score: 5.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N + score: 5.5 + cvss_v4: + vector_string: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 8.5 cwes: - cwe_id: CWE-532 name: Insertion of Sensitive Information into Log File @@ -211413,6 +212364,13 @@ components: cvss: vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N score: 7.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + score: 7.5 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N + score: 8.7 cwes: - cwe_id: CWE-200 name: Exposure of Sensitive Information to an Unauthorized Actor @@ -216378,6 +217336,11 @@ components: - type: pull_request_review_comment details: pull_request_review_comment_url: https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 + secret-scanning-push-protection-bypass: + value: + reason: will_fix_later + expire_at: '2020-11-06T18:18:30Z' + token_type: mailchimp_api_key repository-advisory: value: ghsa_id: GHSA-abcd-1234-efgh @@ -216455,6 +217418,13 @@ components: cvss: vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H score: 9.8 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H + score: 9.8 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 9.3 cwes: - cwe_id: CWE-123 name: A CWE @@ -216634,6 +217604,9 @@ components: vulnerable_functions: - important_function cvss: + cvss_severities: + cvss_v3: + cvss_v4: cwes: - cwe_id: CWE-123 name: A CWE @@ -222507,7 +223480,7 @@ components: in: query 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)" + See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. required: false schema: @@ -222542,6 +223515,13 @@ components: required: false schema: type: string + team-slug: + name: team_slug + description: The slug of the team name. + in: path + required: true + schema: + type: string gist-id: name: gist_id description: The unique identifier of the gist. @@ -222556,6 +223536,7 @@ components: required: true schema: type: integer + format: int64 labels: name: labels description: 'A list of comma separated label names. Example: `bug,ui,@high`' @@ -222766,13 +223747,6 @@ components: required: true schema: type: string - team-slug: - name: team_slug - description: The slug of the team name. - in: path - required: true - schema: - type: string role-id: name: role_id description: The unique identifier of the role. @@ -222903,12 +223877,10 @@ components: type: string ref-in-query: name: ref - description: 'The name of the ref. Cannot contain wildcard characters. Optionally + description: The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - - ' in: query schema: type: string diff --git a/packages/openapi-typescript/examples/github-api-required.ts b/packages/openapi-typescript/examples/github-api-required.ts index 46b9662bd..5657f019a 100644 --- a/packages/openapi-typescript/examples/github-api-required.ts +++ b/packages/openapi-typescript/examples/github-api-required.ts @@ -649,7 +649,7 @@ export interface paths { * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -718,6 +718,42 @@ export interface paths { patch?: never; trace?: never; }; + "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for an enterprise team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-enterprise-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/events": { parameters: { query?: never; @@ -3037,7 +3073,7 @@ export interface paths { * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. * See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -4808,6 +4844,9 @@ export interface paths { /** * Get an organization repository ruleset * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-org-ruleset"]; /** @@ -5002,6 +5041,42 @@ export interface paths { patch?: never; trace?: never; }; + "/orgs/{org}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/orgs/{org}/teams": { parameters: { query?: never; @@ -5620,7 +5695,7 @@ export interface paths { * * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. */ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; delete?: never; @@ -7418,9 +7493,9 @@ export interface paths { * Create an attestation * @description Store an artifact attestation and associate it with a repository. * - * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. * - * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). */ post: operations["repos/create-attestation"]; delete?: never; @@ -8619,6 +8694,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/code-security-configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/codeowners/errors": { parameters: { query?: never; @@ -13282,6 +13381,9 @@ export interface paths { /** * Get a repository ruleset * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-repo-ruleset"]; /** @@ -13380,6 +13482,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/security-advisories": { parameters: { query?: never; @@ -17305,6 +17431,20 @@ export interface components { /** @description The functions in the package that are affected by the vulnerability. */ readonly vulnerable_functions: string[] | null; }; + "cvss-severities": { + cvss_v3: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + cvss_v4: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; /** * Simple User * @description A GitHub user. @@ -17463,12 +17603,17 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; /** @description The name of the CWE. */ readonly name: string; }[] | null; + epss?: { + percentage: number; + percentile: number; + } | null; /** @description The users who contributed to the advisory. */ readonly credits: { user: components["schemas"]["simple-user"]; @@ -17583,6 +17728,8 @@ export interface components { slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -17640,8 +17787,6 @@ export interface components { * @example 5 */ installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -19141,6 +19286,45 @@ export interface components { /** Format: uri */ html_url: string | null; }; + /** + * 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; + }; /** * Team Simple * @description Groups of organization members that gives permissions on specified repositories. @@ -19236,124 +19420,6 @@ export interface components { 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; - }; - }; - /** - * 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; - }; /** * Enterprise Team * @description Group of enterprise owners and/or members @@ -19388,7 +19454,7 @@ export interface components { /** @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"]); + } & components["schemas"]["simple-user"]; /** @description The organization to which this seat belongs. */ organization?: components["schemas"]["organization-simple"] | null; /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ @@ -19511,6 +19577,7 @@ export interface components { /** @description The full CVSS vector string for the advisory. */ readonly vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ readonly cwes: { /** @description The unique CWE ID. */ @@ -19904,7 +19971,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name: string; /** @description The secret that was detected. */ secret: string; @@ -20025,6 +20092,8 @@ export interface components { slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -20082,8 +20151,6 @@ export interface components { * @example 5 */ installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -20869,16 +20936,31 @@ export interface components { * "192.0.2.1" * ] */ actions_macos?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + codespaces?: string[]; /** @example [ * "192.0.2.1" * ] */ dependabot?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + copilot?: string[]; domains?: { website: string[]; codespaces: string[]; copilot: string[]; packages: string[]; actions: string[]; + artifact_attestations: { + /** @example [ + * "example" + * ] */ + trust_domain: string; + services: string[]; + }; }; }; "security-and-analysis": { @@ -21686,8 +21768,14 @@ export interface components { security_severity_level: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ description: string; + /** @description A 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; @@ -21775,6 +21863,16 @@ export interface components { * @enum {string} */ dependency_graph: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -21805,6 +21903,11 @@ export interface components { * @enum {string} */ secret_scanning_validity_checks: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -23030,9 +23133,14 @@ export interface components { * Organization Custom Property * @description Custom property defined on an organization */ - "org-custom-property": { + "custom-property": { /** @description The name of the property */ property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; /** * @description The type of the value for the property * @example single_select @@ -23777,18 +23885,15 @@ export interface components { * @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. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - * */ + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ actor_id?: number | null; /** * @description The type of actor that can bypass a ruleset. - * * @enum {string} */ actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; /** * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - * * @enum {string} */ bypass_mode: "always" | "pull_request"; @@ -23859,7 +23964,6 @@ export interface components { /** * 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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); /** @@ -24219,9 +24323,6 @@ export interface components { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -24294,7 +24395,7 @@ export interface components { * @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} */ - evaluation_result: "pass" | "fail"; + evaluation_result: "pass" | "fail" | "bypass"; }[]; /** * Rule Suite @@ -24328,10 +24429,10 @@ export interface components { */ result: "pass" | "fail" | "bypass"; /** - * @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} + * @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`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} */ - evaluation_result: "pass" | "fail"; + evaluation_result: "pass" | "fail" | "bypass" | null; /** @description Details on the evaluated rules. */ rule_evaluations: { rule_source: { @@ -24354,8 +24455,8 @@ export interface components { result: "pass" | "fail"; /** @description The type of rule. */ rule_type: string; - /** @description Any associated details with the rule evaluation. */ - details: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details: string | null; }[]; }; /** @description A product affected by the vulnerability detailed in a repository security advisory. */ @@ -24462,6 +24563,7 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; @@ -26417,6 +26519,7 @@ export interface components { site_admin: boolean; }; name: string; + client_id: string; description: string; external_url: string; html_url: string; @@ -26820,6 +26923,7 @@ export interface components { */ "check-run": { /** + * Format: int64 * @description The id of the check. * @example 21 */ @@ -27051,7 +27155,7 @@ export interface components { 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. */ + /** @description A description of the rule used to detect the alert. */ full_description: string; /** @description A set of tags applicable for the rule. */ tags: string[] | null; @@ -27382,6 +27486,15 @@ export interface components { /** @description Any errors that ocurred during processing of the delivery. */ readonly errors: string[] | null; }; + /** @description Code security configuration associated with a repository and attachment status */ + "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + configuration: components["schemas"]["code-security-configuration"]; + }; /** * CODEOWNERS errors * @description A list of errors found in a repo's CODEOWNERS file @@ -28279,6 +28392,22 @@ export interface components { }; }; }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + "repository-rule-violation-error": { + message: string; + documentation_url: string; + status: string; + metadata: { + secret_scanning: { + bypass_placeholders: { + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + token_type: string; + }[]; + }; + }; + }; /** * Contributor * @description Contributor @@ -31406,7 +31535,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name: string; /** @description The secret that was detected. */ secret: string; @@ -31600,6 +31729,21 @@ export interface components { type: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; details: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at: string | null; + /** @description The token type this bypass is for. */ + token_type: string; + }; "repository-advisory-create": { /** @description A short summary of the advisory. */ summary: string; @@ -35372,7 +35516,6 @@ export interface components { /** * 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. */ @@ -38203,7 +38346,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name: string; /** * @description The token status as of the latest validity check. @@ -38225,6 +38368,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -38649,6 +38793,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -38890,6 +39036,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -39131,6 +39279,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -40132,7 +40282,7 @@ export interface components { "webhook-custom-property-created": { /** @enum {string} */ action: "created"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -40155,7 +40305,7 @@ export interface components { "webhook-custom-property-updated": { /** @enum {string} */ action: "updated"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -81529,6 +81679,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -81847,6 +81998,70 @@ export interface components { target_url: string | null; updated_at: string; }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; /** team_add event */ "webhook-team-add": { enterprise?: components["schemas"]["enterprise-webhooks"]; @@ -83524,7 +83739,7 @@ export interface components { /** Format: uri */ check_suite_url: string; /** @enum {string|null} */ - conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; /** Format: date-time */ created_at: string; event: string; @@ -85137,7 +85352,7 @@ export interface components { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -85146,6 +85361,8 @@ export interface components { "secret-scanning-alert-sort": "created" | "updated"; /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ "secret-scanning-alert-validity": string; + /** @description The slug of the team name. */ + "team-slug": string; /** @description The unique identifier of the gist. */ "gist-id": string; /** @description The unique identifier of the comment. */ @@ -85204,8 +85421,6 @@ export interface components { "migration-id": number; /** @description repo_name parameter */ "repo-name": string; - /** @description The slug of the team name. */ - "team-slug": string; /** @description The unique identifier of the role. */ "role-id": number; /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -85235,8 +85450,7 @@ export interface components { "fine-grained-personal-access-token-id": number; /** @description The custom property name. The name is case sensitive. */ "custom-property-name": string; - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ "ref-in-query": string; /** @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; @@ -85476,6 +85690,12 @@ export interface operations { * * 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 If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + epss_percentile?: 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ @@ -85485,7 +85705,7 @@ export interface operations { /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ per_page?: number; /** @description The property to sort the results by. */ - sort?: "updated" | "published"; + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; }; header?: never; path?: never; @@ -86460,7 +86680,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -86501,6 +86721,44 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "copilot/usage-metrics-for-enterprise-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + /** @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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "activity/list-public-events": { parameters: { query?: { @@ -89660,6 +89918,20 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners: boolean; + }; /** * @description The enablement status of Dependabot alerts * @default disabled @@ -89696,6 +89968,12 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @default disabled @@ -89853,6 +90131,16 @@ export interface operations { * @enum {string} */ dependency_graph: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -89883,6 +90171,11 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -93466,7 +93759,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -93487,7 +93780,7 @@ export interface operations { content: { "application/json": { /** @description The array of custom properties to create or update. */ - properties: components["schemas"]["org-custom-property"][]; + properties: components["schemas"]["custom-property"][]; }; }; }; @@ -93498,7 +93791,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -93525,7 +93818,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -93572,7 +93865,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -93903,7 +94196,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -93920,7 +94215,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -94007,9 +94304,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -94039,8 +94334,7 @@ export interface operations { "repos/get-org-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ ref?: components["parameters"]["ref-in-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"]; @@ -94156,9 +94450,6 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target: "branch" | "tag" | "push"; @@ -94216,7 +94507,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -94435,6 +94726,44 @@ export interface operations { }; }; }; + "copilot/usage-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + 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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "teams/list": { parameters: { query?: { @@ -96628,7 +96957,7 @@ export interface operations { /** @description Can be `enabled` or `disabled`. */ status: string; }; - /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_scanning_non_provider_patterns: { /** @description Can be `enabled` or `disabled`. */ status: string; @@ -96693,7 +97022,9 @@ export interface operations { */ use_squash_pr_title_as_default: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -96710,7 +97041,9 @@ export interface operations { */ squash_merge_commit_message: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -99467,7 +99800,6 @@ export interface operations { /** * @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. */ @@ -99937,7 +100269,6 @@ export interface operations { /** * @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. */ @@ -101724,6 +102055,35 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "code-security/get-configuration-for-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"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; "repos/codeowners-errors": { parameters: { query?: { @@ -103115,7 +103475,15 @@ export interface operations { }; }; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -104926,7 +105294,15 @@ export interface operations { 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; }; }; "git/get-blob": { @@ -110049,6 +110425,7 @@ export interface operations { "application/json": components["schemas"]["content-file"]; }; }; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; @@ -110764,9 +111141,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -110796,8 +111171,7 @@ export interface operations { "repos/get-repo-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. 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. * @@ -110922,9 +111296,6 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target: "branch" | "tag" | "push"; @@ -110984,7 +111355,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -111168,6 +111539,60 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "secret-scanning/create-push-protection-bypass": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; "security-advisories/list-repository-advisories": { parameters: { query?: { @@ -116165,7 +116590,9 @@ export interface operations { */ delete_branch_on_merge?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -116182,7 +116609,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). diff --git a/packages/openapi-typescript/examples/github-api-root-types.ts b/packages/openapi-typescript/examples/github-api-root-types.ts index 8d14aba18..6b7911c8b 100644 --- a/packages/openapi-typescript/examples/github-api-root-types.ts +++ b/packages/openapi-typescript/examples/github-api-root-types.ts @@ -649,7 +649,7 @@ export interface paths { * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -718,6 +718,42 @@ export interface paths { patch?: never; trace?: never; }; + "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for an enterprise team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-enterprise-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/events": { parameters: { query?: never; @@ -3037,7 +3073,7 @@ export interface paths { * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. * See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -4808,6 +4844,9 @@ export interface paths { /** * Get an organization repository ruleset * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-org-ruleset"]; /** @@ -5002,6 +5041,42 @@ export interface paths { patch?: never; trace?: never; }; + "/orgs/{org}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/orgs/{org}/teams": { parameters: { query?: never; @@ -5620,7 +5695,7 @@ export interface paths { * * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. */ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; delete?: never; @@ -7418,9 +7493,9 @@ export interface paths { * Create an attestation * @description Store an artifact attestation and associate it with a repository. * - * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. * - * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). */ post: operations["repos/create-attestation"]; delete?: never; @@ -8619,6 +8694,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/code-security-configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/codeowners/errors": { parameters: { query?: never; @@ -13282,6 +13381,9 @@ export interface paths { /** * Get a repository ruleset * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-repo-ruleset"]; /** @@ -13380,6 +13482,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/security-advisories": { parameters: { query?: never; @@ -17305,6 +17431,20 @@ export interface components { /** @description The functions in the package that are affected by the vulnerability. */ readonly vulnerable_functions: string[] | null; }; + "cvss-severities": { + cvss_v3?: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + cvss_v4?: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; /** * Simple User * @description A GitHub user. @@ -17463,12 +17603,17 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; /** @description The name of the CWE. */ readonly name: string; }[] | null; + epss?: { + percentage?: number; + percentile?: number; + } | null; /** @description The users who contributed to the advisory. */ readonly credits: { user: components["schemas"]["simple-user"]; @@ -17583,6 +17728,8 @@ export interface components { slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -17640,8 +17787,6 @@ export interface components { * @example 5 */ installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -19141,6 +19286,45 @@ export interface components { /** Format: uri */ html_url: string | null; }; + /** + * 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; + }; /** * Team Simple * @description Groups of organization members that gives permissions on specified repositories. @@ -19236,124 +19420,6 @@ export interface components { 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; - }; - }; - /** - * 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; - }; /** * Enterprise Team * @description Group of enterprise owners and/or members @@ -19388,7 +19454,7 @@ export interface components { /** @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"]); + } & components["schemas"]["simple-user"]; /** @description The organization to which this seat belongs. */ organization?: components["schemas"]["organization-simple"] | null; /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ @@ -19511,6 +19577,7 @@ export interface components { /** @description The full CVSS vector string for the advisory. */ readonly vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ readonly cwes: { /** @description The unique CWE ID. */ @@ -19904,7 +19971,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; @@ -20025,6 +20092,8 @@ export interface components { slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -20082,8 +20151,6 @@ export interface components { * @example 5 */ installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -20869,16 +20936,31 @@ export interface components { * "192.0.2.1" * ] */ actions_macos?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + codespaces?: string[]; /** @example [ * "192.0.2.1" * ] */ dependabot?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + copilot?: string[]; domains?: { website?: string[]; codespaces?: string[]; copilot?: string[]; packages?: string[]; actions?: string[]; + artifact_attestations?: { + /** @example [ + * "example" + * ] */ + trust_domain?: string; + services?: string[]; + }; }; }; "security-and-analysis": { @@ -21686,8 +21768,14 @@ export interface components { security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ description?: string; + /** @description A 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; @@ -21775,6 +21863,16 @@ export interface components { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -21805,6 +21903,11 @@ export interface components { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -23030,9 +23133,14 @@ export interface components { * Organization Custom Property * @description Custom property defined on an organization */ - "org-custom-property": { + "custom-property": { /** @description The name of the property */ property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; /** * @description The type of the value for the property * @example single_select @@ -23777,18 +23885,15 @@ export interface components { * @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. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - * */ + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ actor_id?: number | null; /** * @description The type of actor that can bypass a ruleset. - * * @enum {string} */ actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; /** * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - * * @enum {string} */ bypass_mode: "always" | "pull_request"; @@ -23859,7 +23964,6 @@ export interface components { /** * 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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); /** @@ -24219,9 +24323,6 @@ export interface components { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -24294,7 +24395,7 @@ export interface components { * @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} */ - evaluation_result?: "pass" | "fail"; + evaluation_result?: "pass" | "fail" | "bypass"; }[]; /** * Rule Suite @@ -24328,10 +24429,10 @@ export interface components { */ result?: "pass" | "fail" | "bypass"; /** - * @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} + * @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`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} */ - evaluation_result?: "pass" | "fail"; + evaluation_result?: "pass" | "fail" | "bypass" | null; /** @description Details on the evaluated rules. */ rule_evaluations?: { rule_source?: { @@ -24354,8 +24455,8 @@ export interface components { result?: "pass" | "fail"; /** @description The type of rule. */ rule_type?: string; - /** @description Any associated details with the rule evaluation. */ - details?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details?: string | null; }[]; }; /** @description A product affected by the vulnerability detailed in a repository security advisory. */ @@ -24462,6 +24563,7 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; @@ -26417,6 +26519,7 @@ export interface components { site_admin?: boolean; }; name?: string; + client_id?: string; description?: string; external_url?: string; html_url?: string; @@ -26820,6 +26923,7 @@ export interface components { */ "check-run": { /** + * Format: int64 * @description The id of the check. * @example 21 */ @@ -27051,7 +27155,7 @@ export interface components { 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. */ + /** @description A description of the rule used to detect the alert. */ full_description?: string; /** @description A set of tags applicable for the rule. */ tags?: string[] | null; @@ -27382,6 +27486,15 @@ export interface components { /** @description Any errors that ocurred during processing of the delivery. */ readonly errors?: string[] | null; }; + /** @description Code security configuration associated with a repository and attachment status */ + "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + configuration?: components["schemas"]["code-security-configuration"]; + }; /** * CODEOWNERS errors * @description A list of errors found in a repo's CODEOWNERS file @@ -28279,6 +28392,22 @@ export interface components { }; }; }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + "repository-rule-violation-error": { + message?: string; + documentation_url?: string; + status?: string; + metadata?: { + secret_scanning?: { + bypass_placeholders?: { + placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + token_type?: string; + }[]; + }; + }; + }; /** * Contributor * @description Contributor @@ -31406,7 +31535,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; @@ -31600,6 +31729,21 @@ export interface components { type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at?: string | null; + /** @description The token type this bypass is for. */ + token_type?: string; + }; "repository-advisory-create": { /** @description A short summary of the advisory. */ summary: string; @@ -35372,7 +35516,6 @@ export interface components { /** * 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. */ @@ -38203,7 +38346,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** * @description The token status as of the latest validity check. @@ -38225,6 +38368,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -38649,6 +38793,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -38890,6 +39036,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -39131,6 +39279,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -40132,7 +40282,7 @@ export interface components { "webhook-custom-property-created": { /** @enum {string} */ action: "created"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -40155,7 +40305,7 @@ export interface components { "webhook-custom-property-updated": { /** @enum {string} */ action: "updated"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -81529,6 +81679,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -81847,6 +81998,70 @@ export interface components { target_url: string | null; updated_at: string; }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; /** team_add event */ "webhook-team-add": { enterprise?: components["schemas"]["enterprise-webhooks"]; @@ -83524,7 +83739,7 @@ export interface components { /** Format: uri */ check_suite_url: string; /** @enum {string|null} */ - conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; /** Format: date-time */ created_at: string; event: string; @@ -85137,7 +85352,7 @@ export interface components { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -85146,6 +85361,8 @@ export interface components { "secret-scanning-alert-sort": "created" | "updated"; /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ "secret-scanning-alert-validity": string; + /** @description The slug of the team name. */ + "team-slug": string; /** @description The unique identifier of the gist. */ "gist-id": string; /** @description The unique identifier of the comment. */ @@ -85204,8 +85421,6 @@ export interface components { "migration-id": number; /** @description repo_name parameter */ "repo-name": string; - /** @description The slug of the team name. */ - "team-slug": string; /** @description The unique identifier of the role. */ "role-id": number; /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -85235,8 +85450,7 @@ export interface components { "fine-grained-personal-access-token-id": number; /** @description The custom property name. The name is case sensitive. */ "custom-property-name": string; - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ "ref-in-query": string; /** @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; @@ -85421,6 +85635,7 @@ export interface components { export type SchemaRoot = components['schemas']['root']; export type SchemaSecurityAdvisoryEcosystems = components['schemas']['security-advisory-ecosystems']; export type SchemaVulnerability = components['schemas']['vulnerability']; +export type SchemaCvssSeverities = components['schemas']['cvss-severities']; export type SchemaSimpleUser = components['schemas']['simple-user']; export type SchemaSecurityAdvisoryCreditTypes = components['schemas']['security-advisory-credit-types']; export type SchemaGlobalAdvisory = components['schemas']['global-advisory']; @@ -85456,10 +85671,9 @@ export type SchemaSimpleClassroomAssignment = components['schemas']['simple-clas export type SchemaClassroomAcceptedAssignment = components['schemas']['classroom-accepted-assignment']; export type SchemaClassroomAssignmentGrade = components['schemas']['classroom-assignment-grade']; export type SchemaCodeOfConduct = components['schemas']['code-of-conduct']; +export type SchemaOrganizationSimple = components['schemas']['organization-simple']; export type SchemaNullableTeamSimple = components['schemas']['nullable-team-simple']; export type SchemaTeam = components['schemas']['team']; -export type SchemaOrganization = components['schemas']['organization']; -export type SchemaOrganizationSimple = components['schemas']['organization-simple']; export type SchemaEnterpriseTeam = components['schemas']['enterprise-team']; export type SchemaCopilotSeatDetails = components['schemas']['copilot-seat-details']; export type SchemaCopilotUsageMetrics = components['schemas']['copilot-usage-metrics']; @@ -85575,7 +85789,7 @@ export type SchemaPackageVersion = components['schemas']['package-version']; export type SchemaOrganizationProgrammaticAccessGrantRequest = components['schemas']['organization-programmatic-access-grant-request']; export type SchemaOrganizationProgrammaticAccessGrant = components['schemas']['organization-programmatic-access-grant']; export type SchemaProject = components['schemas']['project']; -export type SchemaOrgCustomProperty = components['schemas']['org-custom-property']; +export type SchemaCustomProperty = components['schemas']['custom-property']; export type SchemaCustomPropertyValue = components['schemas']['custom-property-value']; export type SchemaOrgRepoCustomPropertyValues = components['schemas']['org-repo-custom-property-values']; export type SchemaNullableRepository = components['schemas']['nullable-repository']; @@ -85702,6 +85916,7 @@ export type SchemaCodeScanningRefFull = components['schemas']['code-scanning-ref export type SchemaCodeScanningAnalysisSarifFile = components['schemas']['code-scanning-analysis-sarif-file']; export type SchemaCodeScanningSarifsReceipt = components['schemas']['code-scanning-sarifs-receipt']; export type SchemaCodeScanningSarifsStatus = components['schemas']['code-scanning-sarifs-status']; +export type SchemaCodeSecurityConfigurationForRepository = components['schemas']['code-security-configuration-for-repository']; export type SchemaCodeownersErrors = components['schemas']['codeowners-errors']; export type SchemaCodespaceMachine = components['schemas']['codespace-machine']; export type SchemaCodespacesPermissionsCheckForDevcontainer = components['schemas']['codespaces-permissions-check-for-devcontainer']; @@ -85728,6 +85943,8 @@ export type SchemaContentFile = components['schemas']['content-file']; export type SchemaContentSymlink = components['schemas']['content-symlink']; export type SchemaContentSubmodule = components['schemas']['content-submodule']; export type SchemaFileCommit = components['schemas']['file-commit']; +export type SchemaSecretScanningPushProtectionBypassPlaceholderId = components['schemas']['secret-scanning-push-protection-bypass-placeholder-id']; +export type SchemaRepositoryRuleViolationError = components['schemas']['repository-rule-violation-error']; export type SchemaContributor = components['schemas']['contributor']; export type SchemaDependabotAlert = components['schemas']['dependabot-alert']; export type SchemaDependabotSecret = components['schemas']['dependabot-secret']; @@ -85832,6 +86049,8 @@ export type SchemaSecretScanningLocationPullRequestComment = components['schemas export type SchemaSecretScanningLocationPullRequestReview = components['schemas']['secret-scanning-location-pull-request-review']; export type SchemaSecretScanningLocationPullRequestReviewComment = components['schemas']['secret-scanning-location-pull-request-review-comment']; export type SchemaSecretScanningLocation = components['schemas']['secret-scanning-location']; +export type SchemaSecretScanningPushProtectionBypassReason = components['schemas']['secret-scanning-push-protection-bypass-reason']; +export type SchemaSecretScanningPushProtectionBypass = components['schemas']['secret-scanning-push-protection-bypass']; export type SchemaRepositoryAdvisoryCreate = components['schemas']['repository-advisory-create']; export type SchemaPrivateVulnerabilityReportCreate = components['schemas']['private-vulnerability-report-create']; export type SchemaRepositoryAdvisoryUpdate = components['schemas']['repository-advisory-update']; @@ -86176,6 +86395,10 @@ export type SchemaWebhookSponsorshipTierChanged = components['schemas']['webhook export type SchemaWebhookStarCreated = components['schemas']['webhook-star-created']; export type SchemaWebhookStarDeleted = components['schemas']['webhook-star-deleted']; export type SchemaWebhookStatus = components['schemas']['webhook-status']; +export type SchemaWebhookSubIssuesParentIssueAdded = components['schemas']['webhook-sub-issues-parent-issue-added']; +export type SchemaWebhookSubIssuesParentIssueRemoved = components['schemas']['webhook-sub-issues-parent-issue-removed']; +export type SchemaWebhookSubIssuesSubIssueAdded = components['schemas']['webhook-sub-issues-sub-issue-added']; +export type SchemaWebhookSubIssuesSubIssueRemoved = components['schemas']['webhook-sub-issues-sub-issue-removed']; export type SchemaWebhookTeamAdd = components['schemas']['webhook-team-add']; export type SchemaWebhookTeamAddedToRepository = components['schemas']['webhook-team-added-to-repository']; export type SchemaWebhookTeamCreated = components['schemas']['webhook-team-created']; @@ -86246,6 +86469,7 @@ export type ParameterSecretScanningAlertSecretType = components['parameters']['s export type ParameterSecretScanningAlertResolution = components['parameters']['secret-scanning-alert-resolution']; export type ParameterSecretScanningAlertSort = components['parameters']['secret-scanning-alert-sort']; export type ParameterSecretScanningAlertValidity = components['parameters']['secret-scanning-alert-validity']; +export type ParameterTeamSlug = components['parameters']['team-slug']; export type ParameterGistId = components['parameters']['gist-id']; export type ParameterCommentId = components['parameters']['comment-id']; export type ParameterLabels = components['parameters']['labels']; @@ -86275,7 +86499,6 @@ export type ParameterInvitationId = components['parameters']['invitation-id']; export type ParameterCodespaceName = components['parameters']['codespace-name']; export type ParameterMigrationId = components['parameters']['migration-id']; export type ParameterRepoName = components['parameters']['repo-name']; -export type ParameterTeamSlug = components['parameters']['team-slug']; export type ParameterRoleId = components['parameters']['role-id']; export type ParameterPackageVisibility = components['parameters']['package-visibility']; export type ParameterPackageType = components['parameters']['package-type']; @@ -86428,6 +86651,12 @@ export interface operations { * * 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 If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + epss_percentile?: 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ @@ -86437,7 +86666,7 @@ export interface operations { /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ per_page?: number; /** @description The property to sort the results by. */ - sort?: "updated" | "published"; + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; }; header?: never; path?: never; @@ -87412,7 +87641,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -87453,6 +87682,44 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "copilot/usage-metrics-for-enterprise-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + /** @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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "activity/list-public-events": { parameters: { query?: { @@ -90612,6 +90879,20 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @default disabled @@ -90648,6 +90929,12 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @default disabled @@ -90805,6 +91092,16 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -90835,6 +91132,11 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -94418,7 +94720,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -94439,7 +94741,7 @@ export interface operations { content: { "application/json": { /** @description The array of custom properties to create or update. */ - properties: components["schemas"]["org-custom-property"][]; + properties: components["schemas"]["custom-property"][]; }; }; }; @@ -94450,7 +94752,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -94477,7 +94779,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -94524,7 +94826,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -94855,7 +95157,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -94872,7 +95176,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -94959,9 +95265,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -94991,8 +95295,7 @@ export interface operations { "repos/get-org-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ ref?: components["parameters"]["ref-in-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"]; @@ -95108,9 +95411,6 @@ export interface operations { name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -95168,7 +95468,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -95387,6 +95687,44 @@ export interface operations { }; }; }; + "copilot/usage-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + 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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "teams/list": { parameters: { query?: { @@ -97580,7 +97918,7 @@ export interface operations { /** @description Can be `enabled` or `disabled`. */ status?: string; }; - /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_scanning_non_provider_patterns?: { /** @description Can be `enabled` or `disabled`. */ status?: string; @@ -97645,7 +97983,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -97662,7 +98002,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -100419,7 +100761,6 @@ export interface operations { /** * @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. */ @@ -100889,7 +101230,6 @@ export interface operations { /** * @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. */ @@ -102676,6 +103016,35 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "code-security/get-configuration-for-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"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; "repos/codeowners-errors": { parameters: { query?: { @@ -104067,7 +104436,15 @@ export interface operations { }; }; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -105878,7 +106255,15 @@ export interface operations { 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; }; }; "git/get-blob": { @@ -111001,6 +111386,7 @@ export interface operations { "application/json": components["schemas"]["content-file"]; }; }; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; @@ -111716,9 +112102,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -111748,8 +112132,7 @@ export interface operations { "repos/get-repo-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. 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. * @@ -111874,9 +112257,6 @@ export interface operations { name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -111936,7 +112316,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -112120,6 +112500,60 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "secret-scanning/create-push-protection-bypass": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; "security-advisories/list-repository-advisories": { parameters: { query?: { @@ -117117,7 +117551,9 @@ export interface operations { */ delete_branch_on_merge?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -117134,7 +117570,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). diff --git a/packages/openapi-typescript/examples/github-api.ts b/packages/openapi-typescript/examples/github-api.ts index 054f0d22d..9f2016e9e 100644 --- a/packages/openapi-typescript/examples/github-api.ts +++ b/packages/openapi-typescript/examples/github-api.ts @@ -649,7 +649,7 @@ export interface paths { * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -718,6 +718,42 @@ export interface paths { patch?: never; trace?: never; }; + "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for an enterprise team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-enterprise-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/events": { parameters: { query?: never; @@ -3037,7 +3073,7 @@ export interface paths { * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. * See the response schema tab for detailed metrics definitions. * - * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, * they must have telemetry enabled in their IDE. * @@ -4808,6 +4844,9 @@ export interface paths { /** * Get an organization repository ruleset * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-org-ruleset"]; /** @@ -5002,6 +5041,42 @@ export interface paths { patch?: never; trace?: never; }; + "/orgs/{org}/team/{team_slug}/copilot/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/orgs/{org}/teams": { parameters: { query?: never; @@ -5620,7 +5695,7 @@ export interface paths { * * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. */ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; delete?: never; @@ -7418,9 +7493,9 @@ export interface paths { * Create an attestation * @description Store an artifact attestation and associate it with a repository. * - * The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. * - * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). */ post: operations["repos/create-attestation"]; delete?: never; @@ -8619,6 +8694,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/code-security-configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/codeowners/errors": { parameters: { query?: never; @@ -13282,6 +13381,9 @@ export interface paths { /** * Get a repository ruleset * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. */ get: operations["repos/get-repo-ruleset"]; /** @@ -13380,6 +13482,30 @@ export interface paths { patch?: never; trace?: never; }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/repos/{owner}/{repo}/security-advisories": { parameters: { query?: never; @@ -17305,6 +17431,20 @@ export interface components { /** @description The functions in the package that are affected by the vulnerability. */ readonly vulnerable_functions: string[] | null; }; + "cvss-severities": { + cvss_v3?: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + cvss_v4?: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; /** * Simple User * @description A GitHub user. @@ -17463,12 +17603,17 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; /** @description The name of the CWE. */ readonly name: string; }[] | null; + epss?: { + percentage?: number; + percentile?: number; + } | null; /** @description The users who contributed to the advisory. */ readonly credits: { user: components["schemas"]["simple-user"]; @@ -17583,6 +17728,8 @@ export interface components { slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -17640,8 +17787,6 @@ export interface components { * @example 5 */ installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -19141,6 +19286,45 @@ export interface components { /** Format: uri */ html_url: string | null; }; + /** + * 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; + }; /** * Team Simple * @description Groups of organization members that gives permissions on specified repositories. @@ -19236,124 +19420,6 @@ export interface components { 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; - }; - }; - /** - * 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; - }; /** * Enterprise Team * @description Group of enterprise owners and/or members @@ -19388,7 +19454,7 @@ export interface components { /** @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"]); + } & components["schemas"]["simple-user"]; /** @description The organization to which this seat belongs. */ organization?: components["schemas"]["organization-simple"] | null; /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ @@ -19511,6 +19577,7 @@ export interface components { /** @description The full CVSS vector string for the advisory. */ readonly vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ readonly cwes: { /** @description The unique CWE ID. */ @@ -19904,7 +19971,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; @@ -20025,6 +20092,8 @@ export interface components { slug?: string; /** @example MDExOkludGVncmF0aW9uMQ== */ node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; owner: components["schemas"]["nullable-simple-user"]; /** * @description The name of the GitHub app @@ -20082,8 +20151,6 @@ export interface components { * @example 5 */ installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ client_secret?: string; /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ @@ -20869,16 +20936,31 @@ export interface components { * "192.0.2.1" * ] */ actions_macos?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + codespaces?: string[]; /** @example [ * "192.0.2.1" * ] */ dependabot?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + copilot?: string[]; domains?: { website?: string[]; codespaces?: string[]; copilot?: string[]; packages?: string[]; actions?: string[]; + artifact_attestations?: { + /** @example [ + * "example" + * ] */ + trust_domain?: string; + services?: string[]; + }; }; }; "security-and-analysis": { @@ -21686,8 +21768,14 @@ export interface components { security_severity_level?: "low" | "medium" | "high" | "critical" | null; /** @description A short description of the rule used to detect the alert. */ description?: string; + /** @description A 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; @@ -21775,6 +21863,16 @@ export interface components { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -21805,6 +21903,11 @@ export interface components { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -23030,9 +23133,14 @@ export interface components { * Organization Custom Property * @description Custom property defined on an organization */ - "org-custom-property": { + "custom-property": { /** @description The name of the property */ property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; /** * @description The type of the value for the property * @example single_select @@ -23777,18 +23885,15 @@ export interface components { * @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. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - * */ + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ actor_id?: number | null; /** * @description The type of actor that can bypass a ruleset. - * * @enum {string} */ actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; /** * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - * * @enum {string} */ bypass_mode: "always" | "pull_request"; @@ -23859,7 +23964,6 @@ export interface components { /** * 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"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); /** @@ -24219,9 +24323,6 @@ export interface components { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -24294,7 +24395,7 @@ export interface components { * @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} */ - evaluation_result?: "pass" | "fail"; + evaluation_result?: "pass" | "fail" | "bypass"; }[]; /** * Rule Suite @@ -24328,10 +24429,10 @@ export interface components { */ result?: "pass" | "fail" | "bypass"; /** - * @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} + * @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`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} */ - evaluation_result?: "pass" | "fail"; + evaluation_result?: "pass" | "fail" | "bypass" | null; /** @description Details on the evaluated rules. */ rule_evaluations?: { rule_source?: { @@ -24354,8 +24455,8 @@ export interface components { result?: "pass" | "fail"; /** @description The type of rule. */ rule_type?: string; - /** @description Any associated details with the rule evaluation. */ - details?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details?: string | null; }[]; }; /** @description A product affected by the vulnerability detailed in a repository security advisory. */ @@ -24462,6 +24563,7 @@ export interface components { /** @description The CVSS score. */ readonly score: number | null; } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; readonly cwes: { /** @description The Common Weakness Enumeration (CWE) identifier. */ cwe_id: string; @@ -26417,6 +26519,7 @@ export interface components { site_admin?: boolean; }; name?: string; + client_id?: string; description?: string; external_url?: string; html_url?: string; @@ -26820,6 +26923,7 @@ export interface components { */ "check-run": { /** + * Format: int64 * @description The id of the check. * @example 21 */ @@ -27051,7 +27155,7 @@ export interface components { 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. */ + /** @description A description of the rule used to detect the alert. */ full_description?: string; /** @description A set of tags applicable for the rule. */ tags?: string[] | null; @@ -27382,6 +27486,15 @@ export interface components { /** @description Any errors that ocurred during processing of the delivery. */ readonly errors?: string[] | null; }; + /** @description Code security configuration associated with a repository and attachment status */ + "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + configuration?: components["schemas"]["code-security-configuration"]; + }; /** * CODEOWNERS errors * @description A list of errors found in a repo's CODEOWNERS file @@ -28279,6 +28392,22 @@ export interface components { }; }; }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + "repository-rule-violation-error": { + message?: string; + documentation_url?: string; + status?: string; + metadata?: { + secret_scanning?: { + bypass_placeholders?: { + placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + token_type?: string; + }[]; + }; + }; + }; /** * Contributor * @description Contributor @@ -31406,7 +31535,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; @@ -31600,6 +31729,21 @@ export interface components { type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at?: string | null; + /** @description The token type this bypass is for. */ + token_type?: string; + }; "repository-advisory-create": { /** @description A short summary of the advisory. */ summary: string; @@ -35372,7 +35516,6 @@ export interface components { /** * 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. */ @@ -38203,7 +38346,7 @@ export interface components { /** @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)." */ + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_type_display_name?: string; /** * @description The token status as of the latest validity check. @@ -38225,6 +38368,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -38649,6 +38793,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -38890,6 +39036,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -39131,6 +39279,8 @@ export interface components { html_url: string; /** @description Unique identifier of the GitHub app */ id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; /** @description The name of the GitHub app */ name: string; node_id: string; @@ -40132,7 +40282,7 @@ export interface components { "webhook-custom-property-created": { /** @enum {string} */ action: "created"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -40155,7 +40305,7 @@ export interface components { "webhook-custom-property-updated": { /** @enum {string} */ action: "updated"; - definition: components["schemas"]["org-custom-property"]; + definition: components["schemas"]["custom-property"]; enterprise?: components["schemas"]["enterprise-webhooks"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple-webhooks"]; @@ -81529,6 +81679,7 @@ export interface components { score: number; vector_string: string | null; }; + cvss_severities?: components["schemas"]["cvss-severities"]; cwes: { cwe_id: string; name: string; @@ -81847,6 +81998,70 @@ export interface components { target_url: string | null; updated_at: string; }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; /** team_add event */ "webhook-team-add": { enterprise?: components["schemas"]["enterprise-webhooks"]; @@ -83524,7 +83739,7 @@ export interface components { /** Format: uri */ check_suite_url: string; /** @enum {string|null} */ - conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; /** Format: date-time */ created_at: string; event: string; @@ -85137,7 +85352,7 @@ export interface components { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -85146,6 +85361,8 @@ export interface components { "secret-scanning-alert-sort": "created" | "updated"; /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ "secret-scanning-alert-validity": string; + /** @description The slug of the team name. */ + "team-slug": string; /** @description The unique identifier of the gist. */ "gist-id": string; /** @description The unique identifier of the comment. */ @@ -85204,8 +85421,6 @@ export interface components { "migration-id": number; /** @description repo_name parameter */ "repo-name": string; - /** @description The slug of the team name. */ - "team-slug": string; /** @description The unique identifier of the role. */ "role-id": number; /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -85235,8 +85450,7 @@ export interface components { "fine-grained-personal-access-token-id": number; /** @description The custom property name. The name is case sensitive. */ "custom-property-name": string; - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ "ref-in-query": string; /** @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; @@ -85476,6 +85690,12 @@ export interface operations { * * 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 If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + epss_percentile?: 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ 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. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ @@ -85485,7 +85705,7 @@ export interface operations { /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ per_page?: number; /** @description The property to sort the results by. */ - sort?: "updated" | "published"; + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; }; header?: never; path?: never; @@ -86460,7 +86680,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -86501,6 +86721,44 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "copilot/usage-metrics-for-enterprise-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + 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: components["parameters"]["enterprise"]; + /** @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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "activity/list-public-events": { parameters: { query?: { @@ -89660,6 +89918,20 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @default disabled @@ -89696,6 +89968,12 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @default disabled @@ -89853,6 +90131,16 @@ export interface operations { * @enum {string} */ dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; /** * @description The enablement status of Dependabot alerts * @enum {string} @@ -89883,6 +90171,11 @@ export interface operations { * @enum {string} */ secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; /** * @description The enablement status of private vulnerability reporting * @enum {string} @@ -93466,7 +93759,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -93487,7 +93780,7 @@ export interface operations { content: { "application/json": { /** @description The array of custom properties to create or update. */ - properties: components["schemas"]["org-custom-property"][]; + properties: components["schemas"]["custom-property"][]; }; }; }; @@ -93498,7 +93791,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"][]; + "application/json": components["schemas"]["custom-property"][]; }; }; 403: components["responses"]["forbidden"]; @@ -93525,7 +93818,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -93572,7 +93865,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["org-custom-property"]; + "application/json": components["schemas"]["custom-property"]; }; }; 403: components["responses"]["forbidden"]; @@ -93903,7 +94196,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -93920,7 +94215,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -94007,9 +94304,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -94039,8 +94334,7 @@ export interface operations { "repos/get-org-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ ref?: components["parameters"]["ref-in-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"]; @@ -94156,9 +94450,6 @@ export interface operations { name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -94216,7 +94507,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -94435,6 +94726,44 @@ export interface operations { }; }; }; + "copilot/usage-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + 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"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; "teams/list": { parameters: { query?: { @@ -96628,7 +96957,7 @@ export interface operations { /** @description Can be `enabled` or `disabled`. */ status?: string; }; - /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." */ + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ secret_scanning_non_provider_patterns?: { /** @description Can be `enabled` or `disabled`. */ status?: string; @@ -96693,7 +97022,9 @@ export interface operations { */ use_squash_pr_title_as_default?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -96710,7 +97041,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). @@ -99467,7 +99800,6 @@ export interface operations { /** * @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. */ @@ -99937,7 +100269,6 @@ export interface operations { /** * @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. */ @@ -101724,6 +102055,35 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "code-security/get-configuration-for-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"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; "repos/codeowners-errors": { parameters: { query?: { @@ -103115,7 +103475,15 @@ export interface operations { }; }; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; 422: components["responses"]["validation_failed"]; }; }; @@ -104926,7 +105294,15 @@ export interface operations { 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; }; }; "git/get-blob": { @@ -110049,6 +110425,7 @@ export interface operations { "application/json": components["schemas"]["content-file"]; }; }; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; @@ -110764,9 +111141,7 @@ export interface operations { name: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. + * @default branch * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -110796,8 +111171,7 @@ export interface operations { "repos/get-repo-rule-suites": { parameters: { query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - * */ + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. 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. * @@ -110922,9 +111296,6 @@ export interface operations { name?: string; /** * @description The target of the ruleset - * - * > [!NOTE] - * > The `push` target is in beta and is subject to change. * @enum {string} */ target?: "branch" | "tag" | "push"; @@ -110984,7 +111355,7 @@ export interface operations { /** @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)" + * See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" * 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`. */ @@ -111168,6 +111539,60 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + "secret-scanning/create-push-protection-bypass": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["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": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; "security-advisories/list-repository-advisories": { parameters: { query?: { @@ -116165,7 +116590,9 @@ export interface operations { */ delete_branch_on_merge?: boolean; /** - * @description The default value for a squash merge commit title: + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: * * - `PR_TITLE` - default to the pull request's title. * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). @@ -116182,7 +116609,9 @@ export interface operations { */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. * * - `PR_TITLE` - default to the pull request's title. * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). diff --git a/packages/openapi-typescript/examples/github-api.yaml b/packages/openapi-typescript/examples/github-api.yaml index 9ca7de218..3ba85e979 100644 --- a/packages/openapi-typescript/examples/github-api.yaml +++ b/packages/openapi-typescript/examples/github-api.yaml @@ -231,6 +231,20 @@ paths: in: query schema: type: string + - name: epss_percentage + in: query + description: |- + If specified, only return advisories that have an EPSS percentage score that matches the provided value. + The EPSS percentage represents the likelihood of a CVE being exploited. + schema: + type: string + - name: epss_percentile + in: query + description: |- + If specified, only return advisories that have an EPSS percentile score that matches the provided value. + The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. + schema: + type: string - "$ref": "#/components/parameters/pagination-before" - "$ref": "#/components/parameters/pagination-after" - "$ref": "#/components/parameters/direction" @@ -252,6 +266,8 @@ paths: enum: - updated - published + - epss_percentage + - epss_percentile default: published responses: '200': @@ -1495,7 +1511,7 @@ paths: for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. - The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE. @@ -1668,6 +1684,85 @@ paths: enabledForGitHubApps: false category: secret-scanning subcategory: secret-scanning + "/enterprises/{enterprise}/team/{team_slug}/copilot/usage": + get: + summary: Get a summary of Copilot usage for an enterprise team + description: |- + > [!NOTE] + > This endpoint is in beta and is subject to change. + + You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + for users within an enterprise team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + See the response schema tab for detailed metrics definitions. + + The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + they must have telemetry enabled in their IDE. + + > [!NOTE] + > This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses, as evaluated at the end of that day. + + Owners and billing managers for the enterprise that contains the enterprise team can view Copilot usage metrics for the enterprise team. + + OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint. + tags: + - copilot + operationId: copilot/usage-metrics-for-enterprise-team + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-an-enterprise-team + parameters: + - "$ref": "#/components/parameters/enterprise" + - "$ref": "#/components/parameters/team-slug" + - name: since + description: Show usage metrics since this date. This is a timestamp in [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). + Maximum value is 28 days ago. + in: query + required: false + schema: + type: string + - name: until + description: Show usage metrics until this date. This is a timestamp in [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) + and should not preceed the `since` date if it is passed. + in: query + required: false + schema: + type: string + - "$ref": "#/components/parameters/page" + - name: per_page + description: The number of days of metrics to display per page (max 28). For + more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + schema: + type: integer + default: 28 + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/copilot-usage-metrics" + examples: + default: + "$ref": "#/components/examples/copilot-usage-metrics-org" + '500': + "$ref": "#/components/responses/internal_error" + '401': + "$ref": "#/components/responses/requires_authentication" + '403': + "$ref": "#/components/responses/forbidden" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: copilot + subcategory: copilot-usage "/events": get: summary: List public events @@ -6207,6 +6302,23 @@ paths: - disabled - not_set default: enabled + dependency_graph_autosubmit_action: + type: string + description: The enablement status of Automatic dependency submission + enum: + - enabled + - disabled + - not_set + default: disabled + dependency_graph_autosubmit_action_options: + type: object + description: Feature options for Automatic dependency submission + properties: + labeled_runners: + type: boolean + description: Whether to use runners labeled with 'dependency-submission' + or standard GitHub runners. + default: false dependabot_alerts: type: string description: The enablement status of Dependabot alerts @@ -6255,6 +6367,15 @@ paths: - disabled - not_set default: disabled + secret_scanning_non_provider_patterns: + type: string + description: The enablement status of secret scanning non provider + patterns + enum: + - enabled + - disabled + - not_set + default: disabled private_vulnerability_reporting: type: string description: The enablement status of private vulnerability reporting @@ -6476,6 +6597,21 @@ paths: - enabled - disabled - not_set + dependency_graph_autosubmit_action: + type: string + description: The enablement status of Automatic dependency submission + enum: + - enabled + - disabled + - not_set + dependency_graph_autosubmit_action_options: + type: object + description: Feature options for Automatic dependency submission + properties: + labeled_runners: + type: boolean + description: Whether to use runners labeled with 'dependency-submission' + or standard GitHub runners. dependabot_alerts: type: string description: The enablement status of Dependabot alerts @@ -6518,6 +6654,14 @@ paths: - enabled - disabled - not_set + secret_scanning_non_provider_patterns: + type: string + description: The enablement status of secret scanning non-provider + patterns + enum: + - enabled + - disabled + - not_set private_vulnerability_reporting: type: string description: The enablement status of private vulnerability reporting @@ -7874,7 +8018,7 @@ paths: across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. - The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE. @@ -11627,10 +11771,10 @@ paths: schema: type: array items: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" examples: default: - "$ref": "#/components/examples/org-custom-properties" + "$ref": "#/components/examples/custom-properties" '403': "$ref": "#/components/responses/forbidden" '404': @@ -11667,7 +11811,7 @@ paths: type: array description: The array of custom properties to create or update. items: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" minItems: 1 maxItems: 100 required: @@ -11698,10 +11842,10 @@ paths: schema: type: array items: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" examples: default: - "$ref": "#/components/examples/org-custom-properties" + "$ref": "#/components/examples/custom-properties" '403': "$ref": "#/components/responses/forbidden" '404': @@ -11732,10 +11876,10 @@ paths: content: application/json: schema: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" examples: default: - "$ref": "#/components/examples/org-custom-property" + "$ref": "#/components/examples/custom-property" '403': "$ref": "#/components/responses/forbidden" '404': @@ -11821,10 +11965,10 @@ paths: content: application/json: schema: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" examples: default: - "$ref": "#/components/examples/org-custom-property" + "$ref": "#/components/examples/custom-property" '403': "$ref": "#/components/responses/forbidden" '404': @@ -12285,6 +12429,8 @@ paths: - PR_TITLE - COMMIT_OR_PR_TITLE description: |- + Required when using `squash_merge_commit_message`. + The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. @@ -12307,6 +12453,8 @@ paths: - PR_TITLE - MERGE_MESSAGE description: |- + Required when using `merge_commit_message`. + The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. @@ -12429,15 +12577,12 @@ paths: description: The name of the ruleset. target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag - push + default: branch enforcement: "$ref": "#/components/schemas/repository-rule-enforcement" bypass_actors: @@ -12575,7 +12720,11 @@ paths: "/orgs/{org}/rulesets/{ruleset_id}": get: summary: Get an organization repository ruleset - description: Get a repository ruleset for an organization. + description: |- + Get a repository ruleset for an organization. + + **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + making the API request has write access to the ruleset. tags: - repos operationId: repos/get-org-ruleset @@ -12644,11 +12793,7 @@ paths: description: The name of the ruleset. target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag @@ -13048,6 +13193,85 @@ paths: enabledForGitHubApps: false category: billing subcategory: billing + "/orgs/{org}/team/{team_slug}/copilot/usage": + get: + summary: Get a summary of Copilot usage for a team + description: |- + > [!NOTE] + > This endpoint is in beta and is subject to change. + + You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + See the response schema tab for detailed metrics definitions. + + The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + they must have telemetry enabled in their IDE. + + > [!NOTE] + > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + + Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + + OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + tags: + - copilot + operationId: copilot/usage-metrics-for-team + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-a-team + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/team-slug" + - name: since + description: Show usage metrics since this date. This is a timestamp in [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). + Maximum value is 28 days ago. + in: query + required: false + schema: + type: string + - name: until + description: Show usage metrics until this date. This is a timestamp in [ISO + 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) + and should not preceed the `since` date if it is passed. + in: query + required: false + schema: + type: string + - "$ref": "#/components/parameters/page" + - name: per_page + description: The number of days of metrics to display per page (max 28). For + more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + in: query + schema: + type: integer + default: 28 + responses: + '200': + description: Response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/copilot-usage-metrics" + examples: + default: + "$ref": "#/components/examples/copilot-usage-metrics-org" + '500': + "$ref": "#/components/responses/internal_error" + '401': + "$ref": "#/components/responses/requires_authentication" + '403': + "$ref": "#/components/responses/forbidden" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: copilot + subcategory: copilot-usage "/orgs/{org}/teams": get: summary: List teams @@ -14705,7 +14929,7 @@ paths: The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. - OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. tags: - orgs operationId: orgs/enable-or-disable-security-product-on-all-org-repos @@ -15944,7 +16168,7 @@ paths: type: object description: Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. - For more information, see "[Secret scanning supported secrets](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets)." + For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." properties: status: type: string @@ -16021,6 +16245,8 @@ paths: - PR_TITLE - COMMIT_OR_PR_TITLE description: |- + Required when using `squash_merge_commit_message`. + The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. @@ -16043,6 +16269,8 @@ paths: - PR_TITLE - MERGE_MESSAGE description: |- + Required when using `merge_commit_message`. + The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. @@ -19207,9 +19435,9 @@ paths: description: |- Store an artifact attestation and associate it with a repository. - The authenticated user must have write permission to the repository and, if using a fine-grained access token the `attestations:write` permission is required. + The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. - Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For amore information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). tags: - repos operationId: repos/create-attestation @@ -19739,7 +19967,7 @@ paths: 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.\n" + control." items: type: string checks: @@ -20446,7 +20674,7 @@ paths: 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.\n" + instead of `contexts` for more fine-grained control." items: type: string checks: @@ -23585,6 +23813,47 @@ paths: githubCloudOnly: false category: code-scanning subcategory: code-scanning + "/repos/{owner}/{repo}/code-security-configuration": + get: + summary: Get the code security configuration associated with a repository + description: |- + Get the code security configuration that manages a repository's code security settings. + + The authenticated user must be an administrator or security manager for the organization to use this endpoint. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + tags: + - code-security + operationId: code-security/get-configuration-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/code-security/configurations#get-the-code-security-configuration-associated-with-a-repository + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/code-security-configuration-for-repository" + examples: + default: + "$ref": "#/components/examples/code-security-configuration-for-repository" + '204': + "$ref": "#/components/responses/no_content" + '304': + "$ref": "#/components/responses/not_modified" + '403': + "$ref": "#/components/responses/forbidden" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: code-security + subcategory: configurations "/repos/{owner}/{repo}/codeowners/errors": get: summary: List CODEOWNERS errors @@ -25781,7 +26050,13 @@ paths: '422': "$ref": "#/components/responses/validation_failed" '409': - "$ref": "#/components/responses/conflict" + description: Conflict + content: + application/json: + schema: + oneOf: + - "$ref": "#/components/schemas/basic-error" + - "$ref": "#/components/schemas/repository-rule-violation-error" x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -28265,7 +28540,13 @@ paths: '403': "$ref": "#/components/responses/forbidden" '422': - "$ref": "#/components/responses/validation_failed" + description: Validation failed + content: + application/json: + schema: + oneOf: + - "$ref": "#/components/schemas/validation-error" + - "$ref": "#/components/schemas/repository-rule-violation-error" x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -35914,6 +36195,8 @@ paths: examples: default: "$ref": "#/components/examples/content-file" + '304': + "$ref": "#/components/responses/not_modified" '404': "$ref": "#/components/responses/not_found" '422': @@ -36896,15 +37179,12 @@ paths: description: The name of the ruleset. target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag - push + default: branch enforcement: "$ref": "#/components/schemas/repository-rule-enforcement" bypass_actors: @@ -37036,7 +37316,11 @@ paths: "/repos/{owner}/{repo}/rulesets/{ruleset_id}": get: summary: Get a repository ruleset - description: Get a ruleset for a repository. + description: |- + Get a ruleset for a repository. + + **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + making the API request has write access to the ruleset. tags: - repos operationId: repos/get-repo-ruleset @@ -37115,11 +37399,7 @@ paths: description: The name of the ruleset. target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag @@ -37405,6 +37685,67 @@ paths: enabledForGitHubApps: true category: secret-scanning subcategory: secret-scanning + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": + post: + summary: Create a push protection bypass + description: |- + Creates a bypass for a previously push protected secret. + + The authenticated user must be the original author of the committed secret. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + operationId: secret-scanning/create-push-protection-bypass + tags: + - secret-scanning + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/secret-scanning/secret-scanning#create-a-push-protection-bypass + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + reason: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass-reason" + placeholder_id: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass-placeholder-id" + required: + - reason + - placeholder_id + examples: + default: + value: + reason: will_fix_later + placeholder_id: 2k4dM4tseyC5lPIsjl5emX9sPNk + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass" + examples: + default: + "$ref": "#/components/examples/secret-scanning-push-protection-bypass" + '403': + description: User does not have enough permissions to perform this action. + '404': + description: Placeholder ID not found, or push protection is disabled on + this repository. + '422': + description: Bad request, input data missing or incorrect. + '503': + "$ref": "#/components/responses/service_unavailable" + x-github: + enabledForGitHubApps: true + githubCloudOnly: false + category: secret-scanning + subcategory: secret-scanning "/repos/{owner}/{repo}/security-advisories": get: summary: List repository security advisories @@ -42701,7 +43042,7 @@ paths: items: type: string example: username@example.com - minItems: 1 + minItems: 1 example: [] required: - emails @@ -42713,7 +43054,7 @@ paths: items: type: string example: username@example.com - minItems: 1 + minItems: 1 - type: string examples: default: @@ -42779,7 +43120,7 @@ paths: items: type: string example: username@example.com - minItems: 1 + minItems: 1 example: emails: - octocat@github.com @@ -42790,7 +43131,7 @@ paths: items: type: string example: username@example.com - minItems: 1 + minItems: 1 - type: string examples: default: @@ -44903,6 +45244,8 @@ paths: - PR_TITLE - COMMIT_OR_PR_TITLE description: |- + Required when using `squash_merge_commit_message`. + The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. @@ -44925,6 +45268,8 @@ paths: - PR_TITLE - MERGE_MESSAGE description: |- + Required when using `merge_commit_message`. + The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. @@ -49772,6 +50117,9 @@ x-webhooks: 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. + + > [!NOTE] + > A webhook event is not fired for deployment statuses with an `inactive` state. description: A new deployment status was created. operationId: deployment-status/created externalDocs: @@ -62481,18 +62829,18 @@ x-webhooks: - repository - organization - app - team-add: + sub-issues-parent-issue-added: post: summary: |- - 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)." + This event occurs when there is activity relating to sub-issues. - For activity relating to teams, see the `teams` event. + For activity relating to issues more generally, use the `issues` event instead. - To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - operationId: team-add + To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + description: A parent issue was added to an issue. + operationId: sub-issues/parent-issue-added externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#team_add + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sub-issues parameters: - name: User-Agent in: header @@ -62534,7 +62882,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-team-add" + "$ref": "#/components/schemas/webhook-sub-issues-parent-issue-added" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62542,22 +62890,23 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: team_add + subcategory: sub-issues supported-webhook-types: - repository - organization - app - team-added-to-repository: + sub-issues-parent-issue-removed: post: summary: |- - 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)." + This event occurs when there is activity relating to sub-issues. - 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. - operationId: team/added-to-repository + For activity relating to issues more generally, use the `issues` event instead. + + To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + description: A parent issue was removed from an issue. + operationId: sub-issues/parent-issue-removed externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#team + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sub-issues parameters: - name: User-Agent in: header @@ -62599,7 +62948,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-team-added-to-repository" + "$ref": "#/components/schemas/webhook-sub-issues-parent-issue-removed" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62607,22 +62956,23 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: team + subcategory: sub-issues supported-webhook-types: + - repository - organization - - business - app - team-created: + sub-issues-sub-issue-added: post: summary: |- - 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)." + This event occurs when there is activity relating to sub-issues. - 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. - operationId: team/created + For activity relating to issues more generally, use the `issues` event instead. + + To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + description: A sub-issue was added to an issue. + operationId: sub-issues/sub-issue-added externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#team + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sub-issues parameters: - name: User-Agent in: header @@ -62664,7 +63014,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-team-created" + "$ref": "#/components/schemas/webhook-sub-issues-sub-issue-added" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62672,22 +63022,89 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: team + subcategory: sub-issues supported-webhook-types: + - repository - organization - - business - app - team-deleted: + sub-issues-sub-issue-removed: post: summary: |- - 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)." + This event occurs when there is activity relating to sub-issues. + + For activity relating to issues more generally, use the `issues` event instead. + + To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permissions. + description: A sub-issue was removed from an issue. + operationId: sub-issues/sub-issue-removed + externalDocs: + url: https://docs.github.com/webhooks/webhook-events-and-payloads#sub-issues + parameters: + - name: User-Agent + in: header + example: GitHub-Hookshot/123abc + schema: + type: string + - name: X-Github-Hook-Id + in: header + example: 12312312 + schema: + type: string + - name: X-Github-Event + in: header + example: issues + schema: + type: string + - name: X-Github-Hook-Installation-Target-Id + in: header + example: 123123 + schema: + type: string + - name: X-Github-Hook-Installation-Target-Type + in: header + example: repository + schema: + type: string + - name: X-GitHub-Delivery + in: header + example: 0b989ba4-242f-11e5-81e1-c7b6966d2516 + schema: + type: string + - name: X-Hub-Signature-256 + in: header + example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/webhook-sub-issues-sub-issue-removed" + responses: + '200': + description: Return a 200 status to indicate that the data was received + successfully + x-github: + githubCloudOnly: false + category: webhooks + subcategory: sub-issues + supported-webhook-types: + - repository + - organization + - app + team-add: + post: + summary: |- + 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. - description: A team was deleted. - operationId: team/deleted + operationId: team-add externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#team + url: https://docs.github.com/webhooks/webhook-events-and-payloads#team_add parameters: - name: User-Agent in: header @@ -62729,7 +63146,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-team-deleted" + "$ref": "#/components/schemas/webhook-team-add" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62737,20 +63154,20 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: team + subcategory: team_add supported-webhook-types: + - repository - organization - - business - app - team-edited: + team-added-to-repository: post: summary: |- 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. - operationId: team/edited + description: A team was granted access to a repository. + operationId: team/added-to-repository externalDocs: url: https://docs.github.com/webhooks/webhook-events-and-payloads#team parameters: @@ -62794,7 +63211,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-team-edited" + "$ref": "#/components/schemas/webhook-team-added-to-repository" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62807,15 +63224,15 @@ x-webhooks: - organization - business - app - team-removed-from-repository: + team-created: post: summary: |- 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. - operationId: team/removed-from-repository + description: A team was created. + operationId: team/created externalDocs: url: https://docs.github.com/webhooks/webhook-events-and-payloads#team parameters: @@ -62859,7 +63276,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-team-removed-from-repository" + "$ref": "#/components/schemas/webhook-team-created" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62872,16 +63289,17 @@ x-webhooks: - organization - business - app - watch-started: + team-deleted: post: summary: |- - 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. + 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 "Metadata" repository permission. - description: Someone started watching the repository. - operationId: watch/started + 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. + operationId: team/deleted externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#watch + url: https://docs.github.com/webhooks/webhook-events-and-payloads#team parameters: - name: User-Agent in: header @@ -62923,7 +63341,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-watch-started" + "$ref": "#/components/schemas/webhook-team-deleted" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62931,22 +63349,22 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: watch + subcategory: team supported-webhook-types: - - repository - organization + - business - app - workflow-dispatch: + team-edited: post: summary: |- - 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. + 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 "Contents" repository permission. - operationId: workflow-dispatch + 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. + operationId: team/edited externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_dispatch + url: https://docs.github.com/webhooks/webhook-events-and-payloads#team parameters: - name: User-Agent in: header @@ -62988,7 +63406,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-workflow-dispatch" + "$ref": "#/components/schemas/webhook-team-edited" responses: '200': description: Return a 200 status to indicate that the data was received @@ -62996,23 +63414,22 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: workflow_dispatch + subcategory: team supported-webhook-types: + - organization + - business - app - workflow-job-completed: + team-removed-from-repository: post: summary: |- - 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. + 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 "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. - operationId: workflow-job/completed + 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. + operationId: team/removed-from-repository externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_job + url: https://docs.github.com/webhooks/webhook-events-and-payloads#team parameters: - name: User-Agent in: header @@ -63054,7 +63471,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-workflow-job-completed" + "$ref": "#/components/schemas/webhook-team-removed-from-repository" responses: '200': description: Return a 200 status to indicate that the data was received @@ -63062,24 +63479,21 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: workflow_job + subcategory: team supported-webhook-types: - - business - - repository - organization + - business - app - workflow-job-in-progress: + watch-started: post: summary: |- - 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. + 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 "Actions" repository permission. - description: A job in a workflow run started processing on a runner. - operationId: workflow-job/in-progress + 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. + operationId: watch/started externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_job + url: https://docs.github.com/webhooks/webhook-events-and-payloads#watch parameters: - name: User-Agent in: header @@ -63121,7 +63535,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-workflow-job-in-progress" + "$ref": "#/components/schemas/webhook-watch-started" responses: '200': description: Return a 200 status to indicate that the data was received @@ -63129,24 +63543,22 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: workflow_job + subcategory: watch supported-webhook-types: - - business - repository - organization - app - workflow-job-queued: + workflow-dispatch: post: summary: |- - 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. + 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 a workflow run instead of a job in a workflow run, use the `workflow_run` event. + 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 "Actions" repository permission. - description: A job in a workflow run was created. - operationId: workflow-job/queued + To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + operationId: workflow-dispatch externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_job + url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_dispatch parameters: - name: User-Agent in: header @@ -63188,7 +63600,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-workflow-job-queued" + "$ref": "#/components/schemas/webhook-workflow-dispatch" responses: '200': description: Return a 200 status to indicate that the data was received @@ -63196,13 +63608,10 @@ x-webhooks: x-github: githubCloudOnly: false category: webhooks - subcategory: workflow_job + subcategory: workflow_dispatch supported-webhook-types: - - business - - repository - - organization - app - workflow-job-waiting: + workflow-job-completed: post: summary: |- 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. @@ -63210,8 +63619,10 @@ x-webhooks: 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. - operationId: workflow-job/waiting + 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. + operationId: workflow-job/completed externalDocs: url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_job parameters: @@ -63255,7 +63666,7 @@ x-webhooks: content: application/json: schema: - "$ref": "#/components/schemas/webhook-workflow-job-waiting" + "$ref": "#/components/schemas/webhook-workflow-job-completed" responses: '200': description: Return a 200 status to indicate that the data was received @@ -63269,19 +63680,220 @@ x-webhooks: - repository - organization - app - workflow-run-completed: + workflow-job-in-progress: post: summary: |- - 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. + 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 job in a workflow run, use the `workflow_job` event. + 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 workflow run finished. This event occurs when a workflow run - is completed, regardless of whether the workflow was successful or unsuccessful. - operationId: workflow-run/completed + description: A job in a workflow run started processing on a runner. + operationId: workflow-job/in-progress externalDocs: - url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_run + url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_job + parameters: + - name: User-Agent + in: header + example: GitHub-Hookshot/123abc + schema: + type: string + - name: X-Github-Hook-Id + in: header + example: 12312312 + schema: + type: string + - name: X-Github-Event + in: header + example: issues + schema: + type: string + - name: X-Github-Hook-Installation-Target-Id + in: header + example: 123123 + schema: + type: string + - name: X-Github-Hook-Installation-Target-Type + in: header + example: repository + schema: + type: string + - name: X-GitHub-Delivery + in: header + example: 0b989ba4-242f-11e5-81e1-c7b6966d2516 + schema: + type: string + - name: X-Hub-Signature-256 + in: header + example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/webhook-workflow-job-in-progress" + responses: + '200': + description: Return a 200 status to indicate that the data was received + successfully + x-github: + githubCloudOnly: false + category: webhooks + subcategory: workflow_job + supported-webhook-types: + - business + - repository + - organization + - app + workflow-job-queued: + post: + summary: |- + 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. + operationId: workflow-job/queued + externalDocs: + url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_job + parameters: + - name: User-Agent + in: header + example: GitHub-Hookshot/123abc + schema: + type: string + - name: X-Github-Hook-Id + in: header + example: 12312312 + schema: + type: string + - name: X-Github-Event + in: header + example: issues + schema: + type: string + - name: X-Github-Hook-Installation-Target-Id + in: header + example: 123123 + schema: + type: string + - name: X-Github-Hook-Installation-Target-Type + in: header + example: repository + schema: + type: string + - name: X-GitHub-Delivery + in: header + example: 0b989ba4-242f-11e5-81e1-c7b6966d2516 + schema: + type: string + - name: X-Hub-Signature-256 + in: header + example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/webhook-workflow-job-queued" + responses: + '200': + description: Return a 200 status to indicate that the data was received + successfully + x-github: + githubCloudOnly: false + category: webhooks + subcategory: workflow_job + supported-webhook-types: + - business + - repository + - organization + - app + workflow-job-waiting: + post: + summary: |- + 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. + operationId: workflow-job/waiting + externalDocs: + url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_job + parameters: + - name: User-Agent + in: header + example: GitHub-Hookshot/123abc + schema: + type: string + - name: X-Github-Hook-Id + in: header + example: 12312312 + schema: + type: string + - name: X-Github-Event + in: header + example: issues + schema: + type: string + - name: X-Github-Hook-Installation-Target-Id + in: header + example: 123123 + schema: + type: string + - name: X-Github-Hook-Installation-Target-Type + in: header + example: repository + schema: + type: string + - name: X-GitHub-Delivery + in: header + example: 0b989ba4-242f-11e5-81e1-c7b6966d2516 + schema: + type: string + - name: X-Hub-Signature-256 + in: header + example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/webhook-workflow-job-waiting" + responses: + '200': + description: Return a 200 status to indicate that the data was received + successfully + x-github: + githubCloudOnly: false + category: webhooks + subcategory: workflow_job + supported-webhook-types: + - business + - repository + - organization + - app + workflow-run-completed: + post: + summary: |- + 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. + operationId: workflow-run/completed + externalDocs: + url: https://docs.github.com/webhooks/webhook-events-and-payloads#workflow_run parameters: - name: User-Agent in: header @@ -63664,6 +64276,46 @@ components: - vulnerable_version_range - first_patched_version - vulnerable_functions + cvss-severities: + type: object + nullable: true + properties: + cvss_v3: + type: object + nullable: true + properties: + vector_string: + type: string + description: The CVSS 3 vector string. + nullable: true + score: + type: number + description: The CVSS 3 score. + minimum: 0 + maximum: 10 + nullable: true + readOnly: true + required: + - vector_string + - score + cvss_v4: + type: object + nullable: true + properties: + vector_string: + type: string + description: The CVSS 4 vector string. + nullable: true + score: + type: number + description: The CVSS 4 score. + minimum: 0 + maximum: 10 + nullable: true + readOnly: true + required: + - vector_string + - score simple-user: title: Simple User description: A GitHub user. @@ -63917,6 +64569,8 @@ components: required: - vector_string - score + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: array nullable: true @@ -63933,6 +64587,14 @@ components: required: - cwe_id - name + epss: + type: object + nullable: true + properties: + percentage: + type: number + percentile: + type: number credits: type: array description: The users who contributed to the advisory. @@ -64117,6 +64779,9 @@ components: node_id: type: string example: MDExOkludGVncmF0aW9uMQ== + client_id: + type: string + example: '"Iv1.25b5d1e65ffc4022"' owner: "$ref": "#/components/schemas/nullable-simple-user" name: @@ -64174,9 +64839,6 @@ components: description: The number of installations associated with the GitHub app example: 5 type: integer - client_id: - type: string - example: '"Iv1.25b5d1e65ffc4022"' client_secret: type: string example: '"1d4b2097ac622ba702d19de498f005747a8b21d3"' @@ -66189,6 +66851,64 @@ components: - html_url - key - name + organization-simple: + title: Organization Simple + description: A GitHub organization. + type: object + properties: + login: + type: string + example: github + id: + type: integer + example: 1 + node_id: + type: string + example: MDEyOk9yZ2FuaXphdGlvbjE= + url: + type: string + format: uri + example: https://api.github.com/orgs/github + repos_url: + type: string + format: uri + example: https://api.github.com/orgs/github/repos + events_url: + type: string + format: uri + example: https://api.github.com/orgs/github/events + hooks_url: + type: string + example: https://api.github.com/orgs/github/hooks + issues_url: + type: string + example: https://api.github.com/orgs/github/issues + members_url: + type: string + example: https://api.github.com/orgs/github/members{/member} + public_members_url: + type: string + example: https://api.github.com/orgs/github/public_members{/member} + avatar_url: + type: string + example: https://github.com/images/error/octocat_happy.gif + description: + type: string + example: A great organization + nullable: true + required: + - login + - url + - id + - node_id + - repos_url + - events_url + - hooks_url + - issues_url + - members_url + - public_members_url + - avatar_url + - description nullable-team-simple: title: Team Simple description: Groups of organization members that gives permissions on specified @@ -66326,187 +67046,6 @@ components: - repositories_url - slug - parent - organization: - title: Organization - description: GitHub account for managing multiple users, teams, and repositories - type: object - properties: - login: - description: Unique login name of the organization - example: new-org - type: string - url: - description: URL for the organization - example: https://api.github.com/orgs/github - type: string - format: uri - id: - type: integer - node_id: - type: string - repos_url: - type: string - format: uri - events_url: - type: string - format: uri - hooks_url: - type: string - issues_url: - type: string - members_url: - type: string - public_members_url: - type: string - avatar_url: - type: string - description: - type: string - nullable: true - blog: - description: Display blog url for the organization - example: blog.example-org.com - type: string - format: uri - html_url: - type: string - format: uri - name: - description: Display name for the organization - example: New Org - type: string - company: - description: Display company name for the organization - example: Acme corporation - type: string - location: - description: Display location for the organization - example: Berlin, Germany - type: string - email: - description: Display email for the organization - example: org@example.com - type: string - format: email - has_organization_projects: - description: Specifies if organization projects are enabled for this org - type: boolean - has_repository_projects: - description: Specifies if repository projects are enabled for repositories - that belong to this org - type: boolean - is_verified: - type: boolean - public_repos: - type: integer - public_gists: - type: integer - followers: - type: integer - following: - type: integer - type: - type: string - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - plan: - type: object - properties: - name: - type: string - space: - type: integer - private_repos: - type: integer - filled_seats: - type: integer - seats: - type: integer - required: - - login - - url - - id - - node_id - - repos_url - - events_url - - hooks_url - - issues_url - - members_url - - public_members_url - - avatar_url - - description - - html_url - - has_organization_projects - - has_repository_projects - - public_repos - - public_gists - - followers - - following - - type - - created_at - - updated_at - organization-simple: - title: Organization Simple - description: A GitHub organization. - type: object - properties: - login: - type: string - example: github - id: - type: integer - example: 1 - node_id: - type: string - example: MDEyOk9yZ2FuaXphdGlvbjE= - url: - type: string - format: uri - example: https://api.github.com/orgs/github - repos_url: - type: string - format: uri - example: https://api.github.com/orgs/github/repos - events_url: - type: string - format: uri - example: https://api.github.com/orgs/github/events - hooks_url: - type: string - example: https://api.github.com/orgs/github/hooks - issues_url: - type: string - example: https://api.github.com/orgs/github/issues - members_url: - type: string - example: https://api.github.com/orgs/github/members{/member} - public_members_url: - type: string - example: https://api.github.com/orgs/github/public_members{/member} - avatar_url: - type: string - example: https://github.com/images/error/octocat_happy.gif - description: - type: string - example: A great organization - nullable: true - required: - - login - - url - - id - - node_id - - repos_url - - events_url - - hooks_url - - issues_url - - members_url - - public_members_url - - avatar_url - - description enterprise-team: title: Enterprise Team description: Group of enterprise owners and/or members @@ -66563,8 +67102,6 @@ components: additionalProperties: true oneOf: - "$ref": "#/components/schemas/simple-user" - - "$ref": "#/components/schemas/team" - - "$ref": "#/components/schemas/organization" organization: type: object description: The organization to which this seat belongs. @@ -66815,6 +67352,8 @@ components: - score - vector_string additionalProperties: false + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: array description: Details for the advisory pertaining to Common Weakness Enumeration. @@ -67371,7 +67910,7 @@ components: 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)." + For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." secret: type: string description: The secret that was detected. @@ -67533,6 +68072,9 @@ components: node_id: type: string example: MDExOkludGVncmF0aW9uMQ== + client_id: + type: string + example: '"Iv1.25b5d1e65ffc4022"' owner: "$ref": "#/components/schemas/nullable-simple-user" name: @@ -67590,9 +68132,6 @@ components: description: The number of installations associated with the GitHub app example: 5 type: integer - client_id: - type: string - example: '"Iv1.25b5d1e65ffc4022"' client_secret: type: string example: '"1d4b2097ac622ba702d19de498f005747a8b21d3"' @@ -68965,12 +69504,24 @@ components: type: string example: - 192.0.2.1 + codespaces: + type: array + items: + type: string + example: + - 192.0.2.1 dependabot: type: array items: type: string example: - 192.0.2.1 + copilot: + type: array + items: + type: string + example: + - 192.0.2.1 domains: type: object properties: @@ -69004,6 +69555,19 @@ components: type: string example: - example.com + artifact_attestations: + type: object + properties: + trust_domain: + type: string + example: + - example + services: + type: array + items: + type: string + example: + - example.com required: - verifiable_password_authentication security-and-analysis: @@ -70192,12 +70756,24 @@ components: description: type: string description: A short description of the rule used to detect the alert. + full_description: + type: string + description: A description of the rule used to detect the alert. tags: nullable: true type: array description: A set of tags applicable for the rule. items: type: string + help: + nullable: true + type: string + description: Detailed documentation for the rule as GitHub Flavored Markdown. + help_uri: + nullable: true + type: string + description: A link to the documentation for the rule used to detect the + alert. code-scanning-analysis-tool-version: nullable: true type: string @@ -70367,6 +70943,21 @@ components: - enabled - disabled - not_set + dependency_graph_autosubmit_action: + type: string + description: The enablement status of Automatic dependency submission + enum: + - enabled + - disabled + - not_set + dependency_graph_autosubmit_action_options: + type: object + description: Feature options for Automatic dependency submission + properties: + labeled_runners: + type: boolean + description: Whether to use runners labeled with 'dependency-submission' + or standard GitHub runners. dependabot_alerts: type: string description: The enablement status of Dependabot alerts @@ -70409,6 +71000,13 @@ components: - enabled - disabled - not_set + secret_scanning_non_provider_patterns: + type: string + description: The enablement status of secret scanning non-provider patterns + enum: + - enabled + - disabled + - not_set private_vulnerability_reporting: type: string description: The enablement status of private vulnerability reporting @@ -72191,7 +72789,7 @@ components: - columns_url - created_at - updated_at - org-custom-property: + custom-property: title: Organization Custom Property description: Custom property defined on an organization type: object @@ -72199,6 +72797,11 @@ components: property_name: type: string description: The name of the property + url: + type: string + format: uri + description: The URL that can be used to fetch, update, or delete info about + this property via the API. value_type: type: string example: single_select @@ -73266,12 +73869,10 @@ components: actor_id: type: integer nullable: true - description: 'The ID of the actor that can bypass a ruleset. If `actor_type` + description: The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - - ' actor_type: type: string enum: @@ -73280,16 +73881,12 @@ components: - RepositoryRole - Team - DeployKey - description: 'The type of actor that can bypass a ruleset. - - ' + description: The type of actor that can bypass a ruleset. bypass_mode: type: string - description: 'When the specified actor can bypass the ruleset. `pull_request` + description: When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. - - ' enum: - always - pull_request @@ -73404,11 +74001,9 @@ components: org-ruleset-conditions: title: Organization ruleset conditions type: object - description: 'Conditions for an organization ruleset. The conditions object - should contain both `repository_name` and `ref_name` properties or both `repository_id` + 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. - - ' oneOf: - type: object title: repository_name_and_ref_name @@ -73995,11 +74590,8 @@ components: - "$ref": "#/components/schemas/repository-rule-branch-name-pattern" - "$ref": "#/components/schemas/repository-rule-tag-name-pattern" - title: file_path_restriction - description: |- - > [!NOTE] - > `file_path_restriction` is in beta and subject to change. - - Prevent commits that include changes in specified file paths from being pushed to the commit graph. + description: Prevent commits that include changes in specified file paths + from being pushed to the commit graph. type: object required: - type @@ -74020,11 +74612,8 @@ components: required: - restricted_file_paths - title: max_file_path_length - description: |- - > [!NOTE] - > `max_file_path_length` is in beta and subject to change. - - Prevent commits that include file paths that exceed a specified character limit from being pushed to the commit graph. + description: Prevent commits that include file paths that exceed a specified + character limit from being pushed to the commit graph. type: object required: - type @@ -74044,11 +74633,8 @@ components: required: - max_file_path_length - title: file_extension_restriction - description: |- - > [!NOTE] - > `file_extension_restriction` is in beta and subject to change. - - Prevent commits that include files with specified file extensions from being pushed to the commit graph. + description: Prevent commits that include files with specified file extensions + from being pushed to the commit graph. type: object required: - type @@ -74069,11 +74655,8 @@ components: required: - restricted_file_extensions - title: max_file_size - description: |- - > [!NOTE] - > `max_file_size` is in beta and subject to change. - - Prevent commits that exceed a specified file size limit from being pushed to the commit. + description: Prevent commits that exceed a specified file size limit from + being pushed to the commit. type: object required: - type @@ -74113,11 +74696,7 @@ components: description: The name of the ruleset target: type: string - description: |- - The target of the ruleset - - > [!NOTE] - > The `push` target is in beta and is subject to change. + description: The target of the ruleset enum: - branch - tag @@ -74227,6 +74806,7 @@ components: enum: - pass - fail + - bypass 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`. @@ -74275,12 +74855,15 @@ components: enforcement status. evaluation_result: type: string + nullable: true enum: - pass - fail + - bypass 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`. + pass or fail if all rules in the rule suite were `active`. Null if no + rules with `evaluate` enforcement status were run. rule_evaluations: type: array description: Details on the evaluated rules. @@ -74319,7 +74902,9 @@ components: description: The type of rule. details: type: string - description: Any associated details with the rule evaluation. + nullable: true + description: The detailed failure message for the rule. Null if the + rule passed. repository-advisory-vulnerability: description: A product affected by the vulnerability detailed in a repository security advisory. @@ -74528,6 +75113,8 @@ components: required: - vector_string - score + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: array nullable: true @@ -77390,6 +77977,8 @@ components: example: false name: type: string + client_id: + type: string description: type: string external_url: @@ -78062,6 +78651,7 @@ components: description: The id of the check. example: 21 type: integer + format: int64 head_sha: description: The SHA of the commit that is being checked. example: '009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d' @@ -78341,7 +78931,7 @@ components: - action_required - startup_failure - stale - - + - null nullable: true url: type: string @@ -78504,7 +79094,7 @@ components: description: A short description of the rule used to detect the alert. full_description: type: string - description: description of the rule used to detect the alert. + description: A description of the rule used to detect the alert. tags: nullable: true type: array @@ -79088,6 +79678,26 @@ components: description: Any errors that ocurred during processing of the delivery. readOnly: true nullable: true + code-security-configuration-for-repository: + type: object + description: Code security configuration associated with a repository and attachment + status + properties: + status: + type: string + description: The attachment status of the code security configuration on + the repository. + enum: + - attached + - attaching + - detached + - removed + - enforced + - failed + - updating + - removed_by_enterprise + configuration: + "$ref": "#/components/schemas/code-security-configuration" codeowners-errors: title: CODEOWNERS errors description: A list of errors found in a repo's CODEOWNERS file @@ -80657,6 +81267,35 @@ components: payload: type: string nullable: true + secret-scanning-push-protection-bypass-placeholder-id: + description: The ID of the push protection bypass placeholder. This value is + returned on any push protected routes. + type: string + repository-rule-violation-error: + description: Repository rule violation was detected + type: object + properties: + message: + type: string + documentation_url: + type: string + status: + type: string + metadata: + type: object + properties: + secret_scanning: + type: object + properties: + bypass_placeholders: + type: array + items: + type: object + properties: + placeholder_id: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass-placeholder-id" + token_type: + type: string contributor: title: Contributor description: Contributor @@ -86164,7 +86803,7 @@ components: 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)." + For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." secret: type: string description: The secret that was detected. @@ -86468,6 +87107,26 @@ components: - "$ref": "#/components/schemas/secret-scanning-location-pull-request-comment" - "$ref": "#/components/schemas/secret-scanning-location-pull-request-review" - "$ref": "#/components/schemas/secret-scanning-location-pull-request-review-comment" + secret-scanning-push-protection-bypass-reason: + description: The reason for bypassing push protection. + type: string + enum: + - false_positive + - used_in_tests + - will_fix_later + secret-scanning-push-protection-bypass: + type: object + properties: + reason: + "$ref": "#/components/schemas/secret-scanning-push-protection-bypass-reason" + expire_at: + type: string + format: date-time + description: 'The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.' + nullable: true + token_type: + type: string + description: The token type this bypass is for. repository-advisory-create: type: object properties: @@ -91337,7 +91996,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -92366,7 +93025,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -93584,10 +94243,8 @@ components: merge-group: type: object title: Merge Group - description: 'A group of pull requests that the merge queue has grouped together + description: A group of pull requests that the merge queue has grouped together to be merged. - - ' properties: head_sha: description: The SHA of the merge group. @@ -95356,7 +96013,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -97656,7 +98313,7 @@ components: enum: - LEFT - RIGHT - - + - null default: RIGHT subject_type: description: The level at which the comment is targeted, can be a diff line @@ -98690,7 +99347,7 @@ components: 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)." + For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." validity: type: string description: The token status as of the latest validity check. @@ -98726,6 +99383,8 @@ components: required: - vector_string - score + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: array items: @@ -99668,6 +100327,10 @@ components: description: Unique identifier of the GitHub app type: integer nullable: true + client_id: + description: The client ID of the GitHub app + type: string + nullable: true name: description: The name of the GitHub app type: string @@ -99958,7 +100621,7 @@ components: - timed_out - action_required - stale - - + - null - skipped - startup_failure created_at: @@ -100126,7 +100789,7 @@ components: - in_progress - completed - queued - - + - null - pending updated_at: type: string @@ -100267,6 +100930,10 @@ components: description: Unique identifier of the GitHub app type: integer nullable: true + client_id: + description: Client ID of the GitHub app + type: string + nullable: true name: description: The name of the GitHub app type: string @@ -100557,7 +101224,7 @@ components: - timed_out - action_required - stale - - + - null - skipped created_at: type: string @@ -100724,7 +101391,7 @@ components: - in_progress - completed - queued - - + - null updated_at: type: string format: date-time @@ -100859,6 +101526,10 @@ components: description: Unique identifier of the GitHub app type: integer nullable: true + client_id: + description: The Client ID for the GitHub app + type: string + nullable: true name: description: The name of the GitHub app type: string @@ -101149,7 +101820,7 @@ components: - timed_out - action_required - stale - - + - null created_at: type: string format: date-time @@ -101315,7 +101986,7 @@ components: - in_progress - completed - queued - - + - null updated_at: type: string format: date-time @@ -101453,7 +102124,7 @@ components: - false positive - won't fix - used in tests - - + - null html_url: description: The GitHub URL of the alert resource. type: string @@ -101540,7 +102211,7 @@ components: - note - warning - error - - + - null required: - id - severity @@ -101698,7 +102369,7 @@ components: - false positive - won't fix - used in tests - - + - null html_url: description: The GitHub URL of the alert resource. type: string @@ -101797,7 +102468,7 @@ components: - note - warning - error - - + - null tags: type: array nullable: true @@ -101997,7 +102668,7 @@ components: - note - warning - error - - + - null tags: type: array nullable: true @@ -102167,7 +102838,7 @@ components: - false positive - won't fix - used in tests - - + - null html_url: description: The GitHub URL of the alert resource. type: string @@ -102269,7 +102940,7 @@ components: - note - warning - error - - + - null tags: type: array nullable: true @@ -102465,7 +103136,7 @@ components: - note - warning - error - - + - null tags: type: array nullable: true @@ -102655,7 +103326,7 @@ components: - note - warning - error - - + - null required: - id - severity @@ -102958,7 +103629,7 @@ components: enum: - created definition: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" enterprise: "$ref": "#/components/schemas/enterprise-webhooks" installation: @@ -103006,7 +103677,7 @@ components: enum: - updated definition: - "$ref": "#/components/schemas/org-custom-property" + "$ref": "#/components/schemas/custom-property" enterprise: "$ref": "#/components/schemas/enterprise-webhooks" installation: @@ -103897,7 +104568,7 @@ components: - timed_out - action_required - stale - - + - null created_at: type: string format: date-time @@ -104578,7 +105249,7 @@ components: - timed_out - action_required - stale - - + - null created_at: type: string format: date-time @@ -105232,7 +105903,7 @@ components: - timed_out - action_required - stale - - + - null created_at: type: string format: date-time @@ -105963,7 +106634,7 @@ components: - timed_out - action_required - stale - - + - null created_at: type: string format: date-time @@ -106508,7 +107179,7 @@ components: - action_required - stale - skipped - - + - null details_url: type: string format: uri @@ -107610,7 +108281,7 @@ components: - timed_out - action_required - stale - - + - null - startup_failure created_at: type: string @@ -109967,7 +110638,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -111121,7 +111792,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -112273,7 +112944,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -113454,7 +114125,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -114505,7 +115176,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -115437,7 +116108,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -116352,7 +117023,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -117272,7 +117943,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -118213,7 +118884,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -119127,7 +119798,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -120021,7 +120692,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -121375,7 +122046,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -122337,7 +123008,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -123231,7 +123902,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -124692,7 +125363,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -129706,7 +130377,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -131978,7 +132649,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -134247,7 +134918,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -136598,7 +137269,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -138928,7 +139599,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -141187,7 +141858,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -143459,7 +144130,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -145907,7 +146578,7 @@ components: enum: - LEFT - RIGHT - - + - null default: RIGHT subject_type: description: The level at which the comment is targeted, can be a diff @@ -146118,7 +146789,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -148282,7 +148953,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -150436,7 +151107,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -152589,7 +153260,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -154915,7 +155586,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -156970,7 +157641,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -159302,7 +159973,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -161687,7 +162358,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -164024,7 +164695,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -166382,7 +167053,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -168551,7 +169222,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -170677,7 +171348,7 @@ components: enum: - LEFT - RIGHT - - + - null default: RIGHT subject_type: description: The level at which the comment is targeted, can be @@ -170908,7 +171579,7 @@ components: - off-topic - too heated - spam - - + - null assignee: title: User type: object @@ -173019,7 +173690,7 @@ components: enum: - LEFT - RIGHT - - + - null default: RIGHT subject_type: description: The level at which the comment is targeted, can be @@ -173255,7 +173926,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -175519,7 +176190,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -177793,7 +178464,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -180055,7 +180726,7 @@ components: - off-topic - too heated - spam - - + - null additions: type: integer assignee: @@ -185521,6 +186192,8 @@ components: required: - vector_string - score + cvss_severities: + "$ref": "#/components/schemas/cvss-severities" cwes: type: array items: @@ -186255,6 +186928,146 @@ components: - updated_at - repository - sender + webhook-sub-issues-parent-issue-added: + title: parent issue added event + type: object + properties: + action: + type: string + enum: + - parent_issue_added + parent_issue_id: + description: The ID of the parent issue. + type: number + parent_issue: + "$ref": "#/components/schemas/issue" + parent_issue_repo: + "$ref": "#/components/schemas/repository" + sub_issue_id: + description: The ID of the sub-issue. + type: number + sub_issue: + "$ref": "#/components/schemas/issue" + installation: + "$ref": "#/components/schemas/simple-installation" + organization: + "$ref": "#/components/schemas/organization-simple-webhooks" + repository: + "$ref": "#/components/schemas/repository-webhooks" + sender: + "$ref": "#/components/schemas/simple-user-webhooks" + required: + - action + - parent_issue_id + - parent_issue + - parent_issue_repo + - sub_issue_id + - sub_issue + webhook-sub-issues-parent-issue-removed: + title: parent issue removed event + type: object + properties: + action: + type: string + enum: + - parent_issue_removed + parent_issue_id: + description: The ID of the parent issue. + type: number + parent_issue: + "$ref": "#/components/schemas/issue" + parent_issue_repo: + "$ref": "#/components/schemas/repository" + sub_issue_id: + description: The ID of the sub-issue. + type: number + sub_issue: + "$ref": "#/components/schemas/issue" + installation: + "$ref": "#/components/schemas/simple-installation" + organization: + "$ref": "#/components/schemas/organization-simple-webhooks" + repository: + "$ref": "#/components/schemas/repository-webhooks" + sender: + "$ref": "#/components/schemas/simple-user-webhooks" + required: + - action + - parent_issue_id + - parent_issue + - parent_issue_repo + - sub_issue_id + - sub_issue + webhook-sub-issues-sub-issue-added: + title: sub-issue added event + type: object + properties: + action: + type: string + enum: + - sub_issue_added + sub_issue_id: + description: The ID of the sub-issue. + type: number + sub_issue: + "$ref": "#/components/schemas/issue" + sub_issue_repo: + "$ref": "#/components/schemas/repository" + parent_issue_id: + description: The ID of the parent issue. + type: number + parent_issue: + "$ref": "#/components/schemas/issue" + installation: + "$ref": "#/components/schemas/simple-installation" + organization: + "$ref": "#/components/schemas/organization-simple-webhooks" + repository: + "$ref": "#/components/schemas/repository-webhooks" + sender: + "$ref": "#/components/schemas/simple-user-webhooks" + required: + - action + - sub_issue_id + - sub_issue + - sub_issue_repo + - parent_issue_id + - parent_issue + webhook-sub-issues-sub-issue-removed: + title: sub-issue removed event + type: object + properties: + action: + type: string + enum: + - sub_issue_removed + sub_issue_id: + description: The ID of the sub-issue. + type: number + sub_issue: + "$ref": "#/components/schemas/issue" + sub_issue_repo: + "$ref": "#/components/schemas/repository" + parent_issue_id: + description: The ID of the parent issue. + type: number + parent_issue: + "$ref": "#/components/schemas/issue" + installation: + "$ref": "#/components/schemas/simple-installation" + organization: + "$ref": "#/components/schemas/organization-simple-webhooks" + repository: + "$ref": "#/components/schemas/repository-webhooks" + sender: + "$ref": "#/components/schemas/simple-user-webhooks" + required: + - action + - sub_issue_id + - sub_issue + - sub_issue_repo + - parent_issue_id + - parent_issue webhook-team-add: title: team_add event type: object @@ -188812,7 +189625,7 @@ components: enum: - success - failure - - + - null - skipped - cancelled - action_required @@ -188902,7 +189715,7 @@ components: - skipped - success - cancelled - - + - null name: type: string number: @@ -189068,7 +189881,7 @@ components: enum: - success - failure - - + - null - cancelled - neutral created_at: @@ -189153,7 +189966,7 @@ components: - failure - skipped - success - - + - null - cancelled name: type: string @@ -189411,7 +190224,7 @@ components: - skipped - success - cancelled - - + - null name: type: string number: @@ -189569,7 +190382,7 @@ components: - skipped - success - cancelled - - + - null name: type: string number: @@ -189776,6 +190589,7 @@ components: - stale - success - timed_out + - startup_failure created_at: type: string format: date-time @@ -191606,7 +192420,7 @@ components: - timed_out - action_required - stale - - + - null - skipped - startup_failure created_at: @@ -192498,9 +193312,19 @@ components: cvss: vector_string: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H score: 7.6 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H + score: 7.6 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 9.3 cwes: - cwe_id: CWE-400 name: Uncontrolled Resource Consumption + epss: + - percentage: 0.00045 + percentile: 0.16001e0 credits: - user: login: octocat @@ -192557,6 +193381,13 @@ components: cvss: vector_string: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H score: 7.6 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H + score: 7.6 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 9.3 cwes: - cwe_id: CWE-400 name: Uncontrolled Resource Consumption @@ -192585,6 +193416,7 @@ components: value: id: 1 slug: octoapp + client_id: Iv1.ab1112223334445c node_id: MDExOkludGVncmF0aW9uMQ== owner: login: octocat @@ -195370,6 +196202,13 @@ components: cvss: vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N score: 7.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + score: 7.5 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N + score: 8.7 cwes: - cwe_id: CWE-200 name: Exposure of Sensitive Information to an Unauthorized Actor @@ -195530,6 +196369,13 @@ components: cvss: vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N score: 5.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N + score: 5.5 + cvss_v4: + vector_string: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 8.5 cwes: - cwe_id: CWE-532 name: Insertion of Sensitive Information into Log File @@ -195829,6 +196675,70 @@ components: push_protection_bypassed_at: resolution_comment: validity: unknown + copilot-usage-metrics-org: + value: + - day: '2023-10-15' + total_suggestions_count: 1000 + total_acceptances_count: 800 + total_lines_suggested: 1800 + total_lines_accepted: 1200 + total_active_users: 10 + total_chat_acceptances: 32 + total_chat_turns: 200 + total_active_chat_users: 4 + breakdown: + - language: python + editor: vscode + suggestions_count: 300 + acceptances_count: 250 + lines_suggested: 900 + lines_accepted: 700 + active_users: 5 + - language: python + editor: jetbrains + suggestions_count: 300 + acceptances_count: 200 + lines_suggested: 400 + lines_accepted: 300 + active_users: 2 + - language: ruby + editor: vscode + suggestions_count: 400 + acceptances_count: 350 + lines_suggested: 500 + lines_accepted: 200 + active_users: 3 + - day: '2023-10-16' + total_suggestions_count: 800 + total_acceptances_count: 600 + total_lines_suggested: 1100 + total_lines_accepted: 700 + total_active_users: 12 + total_chat_acceptances: 57 + total_chat_turns: 426 + total_active_chat_users: 8 + breakdown: + - language: python + editor: vscode + suggestions_count: 300 + acceptances_count: 200 + lines_suggested: 600 + lines_accepted: 300 + active_users: 2 + - language: python + editor: jetbrains + suggestions_count: 300 + acceptances_count: 150 + lines_suggested: 300 + lines_accepted: 250 + active_users: 6 + - language: ruby + editor: vscode + suggestions_count: 200 + acceptances_count: 150 + lines_suggested: 200 + lines_accepted: 150 + active_users: 3 public-events-items: value: - id: '22249084947' @@ -196963,6 +197873,8 @@ components: - 192.0.2.1 dependabot: - 192.0.2.1 + copilot: + - 192.0.2.1 domains: website: - "*.example.com" @@ -198064,13 +198976,18 @@ components: scanning. advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: not_set + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: enabled secret_scanning: enabled secret_scanning_push_protection: enabled secret_scanning_validity_checks: enabled + secret_scanning_non_provider_patterns: enabled private_vulnerability_reporting: enabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/17 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/view created_at: '2023-12-04T15:58:07Z' @@ -198082,13 +198999,18 @@ components: repositories advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: enabled + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: enabled code_scanning_default_setup: enabled secret_scanning: enabled secret_scanning_push_protection: enabled secret_scanning_validity_checks: disabled + secret_scanning_non_provider_patterns: disabled private_vulnerability_reporting: enabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/1326 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/edit/1326 created_at: '2024-05-10T00:00:00Z' @@ -198101,12 +199023,16 @@ components: description: This is a code security configuration for octo-org advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: enabled + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: disabled secret_scanning: enabled secret_scanning_push_protection: disabled secret_scanning_validity_checks: disabled + secret_scanning_non_provider_patterns: disabled private_vulnerability_reporting: disabled enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/1325 @@ -198123,13 +199049,18 @@ components: description: This is a code security configuration for octo-org advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: not_set + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: enabled secret_scanning: enabled secret_scanning_push_protection: enabled secret_scanning_validity_checks: enabled + secret_scanning_non_provider_patterns: enabled private_vulnerability_reporting: enabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/1325 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/edit/1325 created_at: '2024-05-01T00:00:00Z' @@ -198143,6 +199074,9 @@ components: scanning. advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: not_set + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: enabled @@ -198150,6 +199084,7 @@ components: secret_scanning_push_protection: enabled secret_scanning_validity_checks: disabled private_vulnerability_reporting: enabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/17 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/view created_at: '2023-12-04T15:58:07Z' @@ -198162,13 +199097,18 @@ components: description: This is a code security configuration for octo-org advanced_security: enabled dependency_graph: enabled + dependency_graph_autosubmit_action: enabled + dependency_graph_autosubmit_action_options: + labeled_runners: false dependabot_alerts: enabled dependabot_security_updates: not_set code_scanning_default_setup: enabled secret_scanning: disabled secret_scanning_push_protection: disabled secret_scanning_validity_checks: disabled + secret_scanning_non_provider_patterns: disabled private_vulnerability_reporting: disabled + enforcement: enforced url: https://api.github.com/orgs/octo-org/code-security/configurations/1325 html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/edit/1325 created_at: '2024-05-01T00:00:00Z' @@ -198683,70 +199623,6 @@ components: inactive_this_cycle: 11 seat_management_setting: assign_selected public_code_suggestions: block - copilot-usage-metrics-org: - value: - - day: '2023-10-15' - total_suggestions_count: 1000 - total_acceptances_count: 800 - total_lines_suggested: 1800 - total_lines_accepted: 1200 - total_active_users: 10 - total_chat_acceptances: 32 - total_chat_turns: 200 - total_active_chat_users: 4 - breakdown: - - language: python - editor: vscode - suggestions_count: 300 - acceptances_count: 250 - lines_suggested: 900 - lines_accepted: 700 - active_users: 5 - - language: python - editor: jetbrains - suggestions_count: 300 - acceptances_count: 200 - lines_suggested: 400 - lines_accepted: 300 - active_users: 2 - - language: ruby - editor: vscode - suggestions_count: 400 - acceptances_count: 350 - lines_suggested: 500 - lines_accepted: 200 - active_users: 3 - - day: '2023-10-16' - total_suggestions_count: 800 - total_acceptances_count: 600 - total_lines_suggested: 1100 - total_lines_accepted: 700 - total_active_users: 12 - total_chat_acceptances: 57 - total_chat_turns: 426 - total_active_chat_users: 8 - breakdown: - - language: python - editor: vscode - suggestions_count: 300 - acceptances_count: 200 - lines_suggested: 600 - lines_accepted: 300 - active_users: 2 - - language: python - editor: jetbrains - suggestions_count: 300 - acceptances_count: 150 - lines_suggested: 300 - lines_accepted: 250 - active_users: 6 - - language: ruby - editor: vscode - suggestions_count: 200 - acceptances_count: 150 - lines_suggested: 200 - lines_accepted: 150 - active_users: 3 organization-dependabot-secret-paginated: value: total_count: 3 @@ -198991,6 +199867,7 @@ components: repositories_url: https://api.github.com/installation/repositories html_url: https://github.com/organizations/github/settings/installations/1 app_id: 1 + client_id: Iv1.ab1112223334445c target_id: 1 target_type: Organization permissions: @@ -200172,9 +201049,10 @@ components: site_admin: false created_at: '2011-04-11T20:09:31Z' updated_at: '2014-03-04T18:58:10Z' - org-custom-properties: + custom-properties: value: - property_name: environment + url: https://api.github.com/orgs/github/properties/schema/environment value_type: single_select required: true default_value: production @@ -200184,13 +201062,16 @@ components: - development values_editable_by: org_actors - property_name: service + url: https://api.github.com/orgs/github/properties/schema/service value_type: string - property_name: team + url: https://api.github.com/orgs/github/properties/schema/team value_type: string description: Team owning the repository - org-custom-property: + custom-property: value: property_name: environment + url: https://api.github.com/orgs/github/properties/schema/environment value_type: single_select required: true default_value: production @@ -200913,6 +201794,13 @@ components: cvss: vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H score: 9.8 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H + score: 9.8 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 9.3 cwes: - cwe_id: CWE-123 name: A CWE @@ -201053,6 +201941,13 @@ components: cvss: vector_string: AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N score: 1.6 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N + score: 1.6 + cvss_v4: + vector_string: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 7.1 cwes: - cwe_id: CWE-456 name: A CWE 2.0 @@ -205651,6 +206546,32 @@ components: value: processing_status: complete analyses_url: https://api.github.com/repos/octocat/hello-world/code-scanning/analyses?sarif_id=47177e22-5596-11eb-80a1-c1e54ef945c6 + code-security-configuration-for-repository: + value: + state: attached + configuration: + id: 1325 + target_type: organization + name: octo-org recommended settings + description: This is a code security configuration for octo-org + advanced_security: enabled + dependency_graph: enabled + dependency_graph_autosubmit_action: enabled + dependency_graph_autosubmit_action_options: + labeled_runners: false + dependabot_alerts: enabled + dependabot_security_updates: not_set + code_scanning_default_setup: disabled + secret_scanning: enabled + secret_scanning_push_protection: disabled + secret_scanning_validity_checks: disabled + secret_scanning_non_provider_patterns: disabled + private_vulnerability_reporting: disabled + enforcement: enforced + url: https://api.github.com/orgs/octo-org/code-security/configurations/1325 + html_url: https://github.com/organizations/octo-org/settings/security_products/configurations/edit/1325 + created_at: '2024-05-01T00:00:00Z' + updated_at: '2024-05-01T00:00:00Z' codeowners-errors: value: errors: @@ -207761,6 +208682,13 @@ components: cvss: vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N score: 7.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + score: 7.5 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N + score: 8.7 cwes: - cwe_id: CWE-200 name: Exposure of Sensitive Information to an Unauthorized Actor @@ -207856,6 +208784,13 @@ components: cvss: vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N score: 5.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N + score: 5.5 + cvss_v4: + vector_string: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 8.5 cwes: - cwe_id: CWE-532 name: Insertion of Sensitive Information into Log File @@ -207933,6 +208868,13 @@ components: cvss: vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N score: 5.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N + score: 5.5 + cvss_v4: + vector_string: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 8.5 cwes: - cwe_id: CWE-532 name: Insertion of Sensitive Information into Log File @@ -208005,6 +208947,13 @@ components: cvss: vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N score: 7.5 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + score: 7.5 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N + score: 8.7 cwes: - cwe_id: CWE-200 name: Exposure of Sensitive Information to an Unauthorized Actor @@ -212970,6 +213919,11 @@ components: - type: pull_request_review_comment details: pull_request_review_comment_url: https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 + secret-scanning-push-protection-bypass: + value: + reason: will_fix_later + expire_at: '2020-11-06T18:18:30Z' + token_type: mailchimp_api_key repository-advisory: value: ghsa_id: GHSA-abcd-1234-efgh @@ -213047,6 +214001,13 @@ components: cvss: vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H score: 9.8 + cvss_severities: + cvss_v3: + vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H + score: 9.8 + cvss_v4: + vector_string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N + score: 9.3 cwes: - cwe_id: CWE-123 name: A CWE @@ -213226,6 +214187,9 @@ components: vulnerable_functions: - important_function cvss: + cvss_severities: + cvss_v3: + cvss_v4: cwes: - cwe_id: CWE-123 name: A CWE @@ -219099,7 +220063,7 @@ components: in: query 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)" + See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. required: false schema: @@ -219134,6 +220098,13 @@ components: required: false schema: type: string + team-slug: + name: team_slug + description: The slug of the team name. + in: path + required: true + schema: + type: string gist-id: name: gist_id description: The unique identifier of the gist. @@ -219148,6 +220119,7 @@ components: required: true schema: type: integer + format: int64 labels: name: labels description: 'A list of comma separated label names. Example: `bug,ui,@high`' @@ -219358,13 +220330,6 @@ components: required: true schema: type: string - team-slug: - name: team_slug - description: The slug of the team name. - in: path - required: true - schema: - type: string role-id: name: role_id description: The unique identifier of the role. @@ -219492,12 +220457,10 @@ components: type: string ref-in-query: name: ref - description: 'The name of the ref. Cannot contain wildcard characters. Optionally + description: The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. - - ' in: query schema: type: string diff --git a/packages/openapi-typescript/examples/stripe-api.ts b/packages/openapi-typescript/examples/stripe-api.ts index e1f03ff19..8fd2077d5 100644 --- a/packages/openapi-typescript/examples/stripe-api.ts +++ b/packages/openapi-typescript/examples/stripe-api.ts @@ -106,7 +106,7 @@ export interface paths { * *

Test-mode accounts can be deleted at any time.

* - *

Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all balances are zero.

+ *

Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when 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"]; @@ -627,6 +627,92 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/billing/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists billing active and inactive alerts

*/ + get: operations["GetBillingAlerts"]; + put?: never; + /** @description

Creates a billing alert

*/ + post: operations["PostBillingAlerts"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/alerts/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a billing alert given an ID

*/ + get: operations["GetBillingAlertsId"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/alerts/{id}/activate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Reactivates this alert, allowing it to trigger again.

*/ + post: operations["PostBillingAlertsIdActivate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/alerts/{id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Archives this alert, removing it from the list view and APIs. This is non-reversible.

*/ + post: operations["PostBillingAlertsIdArchive"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/billing/alerts/{id}/deactivate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Deactivates this alert, preventing it from triggering.

*/ + post: operations["PostBillingAlertsIdDeactivate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/billing/meter_event_adjustments": { parameters: { query?: never; @@ -2549,6 +2635,74 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/invoice_rendering_templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List all templates, ordered by creation date, with the most recently created template appearing first.

*/ + get: operations["GetInvoiceRenderingTemplates"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/invoice_rendering_templates/{template}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions.

*/ + get: operations["GetInvoiceRenderingTemplatesTemplate"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/invoice_rendering_templates/{template}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Updates the status of an invoice rendering template to ‘archived’ so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it.

*/ + post: operations["PostInvoiceRenderingTemplatesTemplateArchive"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/invoice_rendering_templates/{template}/unarchive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Unarchive an invoice rendering template so it can be used on new Stripe objects again.

*/ + post: operations["PostInvoiceRenderingTemplatesTemplateUnarchive"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/invoiceitems": { parameters: { query?: never; @@ -3548,7 +3702,10 @@ export interface paths { * 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.

*/ + * attempt. + * There is a variable upper limit on how many times a PaymentIntent can be confirmed. + * After this limit is reached, any further calls to this endpoint will + * transition the PaymentIntent to the canceled state.

*/ post: operations["PostPaymentIntentsIntentConfirm"]; delete?: never; options?: never; @@ -4270,7 +4427,7 @@ export interface paths { path?: never; cookie?: never; }; - /** @description

Download the PDF for a finalized quote. Explanation for special handling can be found here

*/ + /** @description

Download the PDF for a finalized quote. Explanation for special handling can be found here

*/ get: operations["GetQuotesQuotePdf"]; put?: never; post?: never; @@ -5164,6 +5321,23 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/tax/calculations/{calculation}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Tax Calculation object, if the calculation hasn’t expired.

*/ + get: operations["GetTaxCalculationsCalculation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/tax/calculations/{calculation}/line_items": { parameters: { query?: never; @@ -5880,6 +6054,23 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/test_helpers/issuing/settlements": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Allows the user to create an Issuing settlement.

*/ + post: operations["PostTestHelpersIssuingSettlements"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/test_helpers/issuing/transactions/create_force_capture": { parameters: { query?: never; @@ -7378,13 +7569,13 @@ export interface components { 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) */ + /** @description The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). */ 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) */ + /** @description The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). */ 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. */ + /** @description The Kana variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). */ 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. */ + /** @description The Kanji variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). */ statement_descriptor_prefix_kanji?: string | null; }; /** AccountPayoutSettings */ @@ -7430,7 +7621,7 @@ export interface components { * @description The code for the type of error. * @enum {string} */ - code: "invalid_address_city_state_postal_code" | "invalid_address_highway_contract_box" | "invalid_address_private_mailbox" | "invalid_business_profile_name" | "invalid_business_profile_name_denylisted" | "invalid_company_name_denylisted" | "invalid_dob_age_over_maximum" | "invalid_dob_age_under_18" | "invalid_dob_age_under_minimum" | "invalid_product_description_length" | "invalid_product_description_url_match" | "invalid_representative_country" | "invalid_statement_descriptor_business_mismatch" | "invalid_statement_descriptor_denylisted" | "invalid_statement_descriptor_length" | "invalid_statement_descriptor_prefix_denylisted" | "invalid_statement_descriptor_prefix_mismatch" | "invalid_street_address" | "invalid_tax_id" | "invalid_tax_id_format" | "invalid_tos_acceptance" | "invalid_url_denylisted" | "invalid_url_format" | "invalid_url_web_presence_detected" | "invalid_url_website_business_information_mismatch" | "invalid_url_website_empty" | "invalid_url_website_inaccessible" | "invalid_url_website_inaccessible_geoblocked" | "invalid_url_website_inaccessible_password_protected" | "invalid_url_website_incomplete" | "invalid_url_website_incomplete_cancellation_policy" | "invalid_url_website_incomplete_customer_service_details" | "invalid_url_website_incomplete_legal_restrictions" | "invalid_url_website_incomplete_refund_policy" | "invalid_url_website_incomplete_return_policy" | "invalid_url_website_incomplete_terms_and_conditions" | "invalid_url_website_incomplete_under_construction" | "invalid_url_website_other" | "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_representative_authority" | "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" | "verification_requires_additional_proof_of_registration"; + code: "invalid_address_city_state_postal_code" | "invalid_address_highway_contract_box" | "invalid_address_private_mailbox" | "invalid_business_profile_name" | "invalid_business_profile_name_denylisted" | "invalid_company_name_denylisted" | "invalid_dob_age_over_maximum" | "invalid_dob_age_under_18" | "invalid_dob_age_under_minimum" | "invalid_product_description_length" | "invalid_product_description_url_match" | "invalid_representative_country" | "invalid_statement_descriptor_business_mismatch" | "invalid_statement_descriptor_denylisted" | "invalid_statement_descriptor_length" | "invalid_statement_descriptor_prefix_denylisted" | "invalid_statement_descriptor_prefix_mismatch" | "invalid_street_address" | "invalid_tax_id" | "invalid_tax_id_format" | "invalid_tos_acceptance" | "invalid_url_denylisted" | "invalid_url_format" | "invalid_url_web_presence_detected" | "invalid_url_website_business_information_mismatch" | "invalid_url_website_empty" | "invalid_url_website_inaccessible" | "invalid_url_website_inaccessible_geoblocked" | "invalid_url_website_inaccessible_password_protected" | "invalid_url_website_incomplete" | "invalid_url_website_incomplete_cancellation_policy" | "invalid_url_website_incomplete_customer_service_details" | "invalid_url_website_incomplete_legal_restrictions" | "invalid_url_website_incomplete_refund_policy" | "invalid_url_website_incomplete_return_policy" | "invalid_url_website_incomplete_terms_and_conditions" | "invalid_url_website_incomplete_under_construction" | "invalid_url_website_other" | "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_representative_authority" | "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" | "verification_requires_additional_proof_of_registration" | "verification_supportability"; /** @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. */ @@ -8049,6 +8240,37 @@ export interface components { */ void_at?: number | null; }; + /** + * ThresholdsResourceAlert + * @description A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests. + */ + "billing.alert": { + /** + * @description Defines the type of the alert. + * @enum {string} + */ + alert_type: "usage_threshold"; + /** @description Limits the scope of the alert to a specific [customer](https://stripe.com/docs/api/customers). */ + filter?: components["schemas"]["thresholds_resource_alert_filter"] | 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: "billing.alert"; + /** + * @description Status of the alert. This can be active, inactive or archived. + * @enum {string|null} + */ + status?: "active" | "archived" | "inactive" | null; + /** @description Title of the alert. */ + title: string; + /** @description Encapsulates configuration of the alert to monitor usage on a specific [Billing Meter](https://stripe.com/docs/api/billing/meter). */ + usage_threshold_config?: components["schemas"]["thresholds_resource_usage_threshold_config"] | null; + }; /** * BillingMeter * @description A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then attach the billing meter to a price and attach the price to a subscription to charge the user for the number of API calls they make. @@ -8181,6 +8403,18 @@ export interface components { */ start_time: number; }; + /** BillingClocksResourceStatusDetailsAdvancingStatusDetails */ + billing_clocks_resource_status_details_advancing_status_details: { + /** + * Format: unix-time + * @description The `frozen_time` that the Test Clock is advancing towards. + */ + target_frozen_time: number; + }; + /** BillingClocksResourceStatusDetailsStatusDetails */ + billing_clocks_resource_status_details_status_details: { + advancing?: components["schemas"]["billing_clocks_resource_status_details_advancing_status_details"]; + }; /** billing_details */ billing_details: { /** @description Billing address. */ @@ -8393,11 +8627,11 @@ export interface components { 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`. */ + /** @description Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `Girocard`, `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. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ + /** @description Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. */ 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; @@ -8498,7 +8732,7 @@ export interface components { /** @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. This only works for card payments. */ + /** @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. This value only exists for card payments. */ 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; @@ -8580,11 +8814,13 @@ export interface components { 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. */ + /** @description The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://docs.stripe.com/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. */ + /** @description For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. */ statement_descriptor_suffix?: string | null; /** * @description The status of the payment is either `succeeded`, `pending`, or `failed`. @@ -8779,7 +9015,7 @@ export interface components { /** @description The ID of the original expired Checkout Session that triggered the recovery flow. */ recovered_from?: string | null; /** - * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) of embedded sessions. Defaults to `always`. + * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. * @enum {string} */ redirect_on_completion?: "always" | "if_required" | "never"; @@ -8856,11 +9092,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -8875,11 +9111,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8889,11 +9125,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8903,11 +9139,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8917,11 +9153,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -8931,11 +9167,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8945,11 +9181,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -8959,11 +9195,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -8975,11 +9211,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -9000,11 +9236,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -9018,11 +9254,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9051,11 +9287,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9065,11 +9301,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9079,11 +9315,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9093,11 +9329,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9107,11 +9343,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9121,11 +9357,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9135,11 +9371,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -9151,11 +9387,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9165,11 +9401,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -9179,11 +9415,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9193,11 +9429,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9209,11 +9445,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9223,11 +9459,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9237,11 +9473,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9260,11 +9496,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -9279,11 +9515,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -9293,11 +9529,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -9342,11 +9578,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -9362,11 +9598,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -10462,6 +10698,10 @@ export interface components { * CustomerSessionResourceCustomerSession * @description A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access * control over a Customer. + * + * Related guides: [Customer Session with the Payment Element](/payments/accept-a-payment-deferred?platform=web&type=payment#save-payment-methods), + * [Customer Session with the Pricing Table](/payments/checkout/pricing-table#customer-session), + * [Customer Session with the Buy Button](/payment-links/buy-button#pass-an-existing-customer). */ customer_session: { /** @description The client secret of this Customer Session. Used on the client to set up secure access to the given `customer`. @@ -10530,7 +10770,7 @@ export interface components { * @enum {string} */ payment_method_redisplay: "disabled" | "enabled"; - /** @description Determines the max number of saved payment methods for the Payment Element to display. This parameter defaults to `10`. */ + /** @description Determines the max number of saved payment methods for the Payment Element to display. This parameter defaults to `3`. */ payment_method_redisplay_limit?: number | null; /** * @description Controls whether the Payment Element displays the option to remove a saved payment method. This parameter defaults to `disabled`. @@ -11158,6 +11398,7 @@ export interface components { }; /** DisputePaymentMethodDetails */ dispute_payment_method_details: { + amazon_pay?: components["schemas"]["dispute_payment_method_details_amazon_pay"]; card?: components["schemas"]["dispute_payment_method_details_card"]; klarna?: components["schemas"]["dispute_payment_method_details_klarna"]; paypal?: components["schemas"]["dispute_payment_method_details_paypal"]; @@ -11165,7 +11406,15 @@ export interface components { * @description Payment method type. * @enum {string} */ - type: "card" | "klarna" | "paypal"; + type: "amazon_pay" | "card" | "klarna" | "paypal"; + }; + /** DisputePaymentMethodDetailsAmazonPay */ + dispute_payment_method_details_amazon_pay: { + /** + * @description The AmazonPay dispute type, chargeback or claim + * @enum {string|null} + */ + dispute_type?: "chargeback" | "claim" | null; }; /** DisputePaymentMethodDetailsCard */ dispute_payment_method_details_card: { @@ -11487,7 +11736,7 @@ export interface components { * @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"; + 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" | "issuing_regulatory_reporting" | "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. */ @@ -12413,6 +12662,8 @@ export interface components { provided_details?: components["schemas"]["gelato_provided_details"] | 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 Token referencing a Customer resource. */ + related_customer?: string | null; /** * @description Status of this VerificationSession. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). * @enum {string} @@ -12542,6 +12793,11 @@ export interface components { /** @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"]; + /** + * Format: unix-time + * @description The time when this invoice is currently scheduled to be automatically finalized. The field will be `null` if the invoice is not scheduled to finalize in the future. If the invoice is not in the draft state, this field will always be `null` - see `finalized_at` for the time when an already-finalized invoice was finalized. + */ + automatically_finalizes_at?: number | null; /** * @description Indicates the reason why the invoice was created. * @@ -12866,6 +13122,40 @@ export interface components { */ page_size?: "a4" | "auto" | "letter" | null; }; + /** + * InvoiceRenderingTemplate + * @description Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates + * can be created from within the Dashboard, and they can be used over the API when creating invoices. + */ + invoice_rendering_template: { + /** + * 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 Set of [key-value pairs](https://stripe.com/docs/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 template, 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: "invoice_rendering_template"; + /** + * @description The status of the template, one of `active` or `archived`. + * @enum {string} + */ + status: "active" | "archived"; + /** @description Version of this template; version increases by one when an update on the template changes any field that controls invoice rendering */ + version: number; + }; /** InvoiceSettingCustomField */ invoice_setting_custom_field: { /** @description The name of the custom field. */ @@ -12877,6 +13167,8 @@ export interface components { invoice_setting_customer_rendering_options: { /** @description How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. */ amount_tax_display?: string | null; + /** @description ID of the invoice rendering template to be used for this customer's invoices. If set, the template will be used on all invoices for this customer unless a template is set directly on the invoice. */ + template?: string | null; }; /** InvoiceSettingCustomerSetting */ invoice_setting_customer_setting: { @@ -13056,14 +13348,18 @@ export interface components { amount_tax_display?: string | null; /** @description Invoice pdf rendering options */ pdf?: components["schemas"]["invoice_rendering_pdf"] | null; + /** @description ID of the rendering template that the invoice is formatted by. */ + template?: string | null; + /** @description Version of the rendering template that the invoice is using. */ + template_version?: number | 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @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`, `hr_oib`, `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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` * @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -13438,7 +13734,10 @@ export interface components { "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. */ + /** + * Format: unix-time + * @description The date that the transactions are cleared and posted to user's accounts. + */ clearing_date: number; /** * Format: unix-time @@ -13460,10 +13759,10 @@ export interface components { /** @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"] + * @description The card network for this settlement report. One of ["visa", "maestro"] * @enum {string} */ - network: "visa"; + network: "maestro" | "visa"; /** @description The total amount of fees owed to the network. */ network_fees: number; /** @description The Settlement Identification Number assigned by the network. */ @@ -13475,6 +13774,11 @@ export interface components { object: "issuing.settlement"; /** @description One of `international` or `uk_national_net`. */ settlement_service: string; + /** + * @description The current processing status of this settlement. + * @enum {string} + */ + status: "complete" | "pending"; /** @description The total number of transactions reflected in this settlement. */ transaction_count: number; /** @description The total transaction amount reflected in this settlement. */ @@ -13907,7 +14211,7 @@ export interface components { * @description The delivery status of the card. * @enum {string|null} */ - status?: "canceled" | "delivered" | "failure" | "pending" | "returned" | "shipped" | null; + status?: "canceled" | "delivered" | "failure" | "pending" | "returned" | "shipped" | "submitted" | 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. */ @@ -14531,7 +14835,7 @@ export interface components { /** @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?: string; /** @description The discounts applied to the line item. */ discounts?: components["schemas"]["line_items_discount_amount"][]; /** @description Unique identifier for the object. */ @@ -14548,6 +14852,16 @@ export interface components { /** @description The taxes applied to the line item. */ taxes?: components["schemas"]["line_items_tax_amount"][]; }; + /** klarna_address */ + klarna_address: { + /** @description The payer address country */ + country?: string | null; + }; + /** klarna_payer_details */ + klarna_payer_details: { + /** @description The payer's address */ + address?: components["schemas"]["klarna_address"] | null; + }; /** LegalEntityCompany */ legal_entity_company: { address?: components["schemas"]["address"]; @@ -14665,7 +14979,12 @@ export interface components { /** @description The user-agent string from the browser where the beneficial owner attestation was made. */ user_agent?: string | null; }; - /** InvoiceLineItem */ + /** + * InvoiceLineItem + * @description Invoice Line Items represent the individual lines within an [invoice](https://stripe.com/docs/api/invoices) and only exist within the context of an invoice. + * + * Each line item is backed by either an [invoice item](https://stripe.com/docs/api/invoiceitems) or a [subscription item](https://stripe.com/docs/api/subscription_items). + */ line_item: { /** @description The amount, in cents (or local equivalent). */ amount: number; @@ -14712,9 +15031,9 @@ export interface components { /** @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"][]; + tax_amounts: components["schemas"]["invoice_tax_amount"][]; /** @description The tax rates which apply to the line item. */ - tax_rates?: components["schemas"]["tax_rate"][]; + 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} @@ -15111,6 +15430,14 @@ export interface components { */ status: "available" | "unavailable"; }; + /** PaymentFlowsPrivatePaymentMethodsCardPresentCommonWallet */ + payment_flows_private_payment_methods_card_present_common_wallet: { + /** + * @description The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. + * @enum {string} + */ + type: "apple_pay" | "google_pay" | "samsung_pay" | "unknown"; + }; /** PaymentFlowsPrivatePaymentMethodsKlarnaDOB */ payment_flows_private_payment_methods_klarna_dob: { /** @description The day of birth, between 1 and 31. */ @@ -15190,7 +15517,7 @@ export interface components { * * Payment methods attached to other Customers cannot be used with this PaymentIntent. * - * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ 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; @@ -15234,19 +15561,21 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/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 card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. */ 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). @@ -15550,7 +15879,7 @@ export interface components { alipay?: components["schemas"]["payment_method_options_alipay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; amazon_pay?: components["schemas"]["payment_method_options_amazon_pay"] | 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"]; + bacs_debit?: components["schemas"]["payment_intent_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"]; @@ -15590,11 +15919,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15609,11 +15938,26 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. + * + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. + * + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_intent_payment_method_options_bacs_debit */ + payment_intent_payment_method_options_bacs_debit: { + mandate_options?: components["schemas"]["payment_intent_payment_method_options_mandate_options_bacs_debit"]; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15623,11 +15967,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -15649,7 +15993,7 @@ export interface components { * @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; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null; /** * @description Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent. * @enum {string} @@ -15680,11 +16024,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15698,11 +16042,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -15717,11 +16061,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -15743,6 +16087,8 @@ export interface components { */ transaction_type?: "business" | "personal" | null; }; + /** payment_intent_payment_method_options_mandate_options_bacs_debit */ + payment_intent_payment_method_options_mandate_options_bacs_debit: Record; /** payment_intent_payment_method_options_mandate_options_sepa_debit */ payment_intent_payment_method_options_mandate_options_sepa_debit: Record; /** payment_intent_payment_method_options_mobilepay */ @@ -15755,11 +16101,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -15770,11 +16116,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15786,11 +16132,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -15807,11 +16153,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -15856,11 +16202,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -16134,9 +16480,9 @@ export interface components { * @enum {string|null} */ setup_future_usage?: "off_session" | "on_session" | null; - /** @description Extra information about the payment. This will appear on your customer's statement when this payment succeeds in creating a charge. */ + /** @description For a non-card payment, information about the charge that appears on the customer's statement when this payment succeeds in creating a charge. */ 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. */ + /** @description For a card payment, information about the charge that appears on the customer's statement when this payment succeeds in creating a charge. Concatenated with the account's statement descriptor prefix to form the complete statement descriptor. */ statement_descriptor_suffix?: string | 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; @@ -16194,6 +16540,8 @@ export interface components { payment_links_resource_tax_id_collection: { /** @description Indicates whether tax ID collection is enabled for the session. */ enabled: boolean; + /** @enum {string} */ + required: "if_supported" | "never"; }; /** PaymentLinksResourceTransferData */ payment_links_resource_transfer_data: { @@ -16406,6 +16754,8 @@ export interface components { 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 Details about payment methods collected offline. */ + offline?: components["schemas"]["payment_method_details_card_present_offline"] | null; /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */ preferred_locales?: string[] | null; /** @@ -16413,6 +16763,7 @@ export interface components { * @enum {string|null} */ read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2" | null; + wallet?: components["schemas"]["payment_flows_private_payment_methods_card_present_common_wallet"]; }; /** payment_method_card_present_networks */ payment_method_card_present_networks: { @@ -16753,6 +17104,8 @@ export interface components { payment_method_details_card: { /** @description The authorized amount. */ amount_authorized?: number | null; + /** @description Authorization code on the charge. */ + authorization_code?: string | null; /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ brand?: string | null; /** @@ -16871,10 +17224,7 @@ export interface components { 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 This is used by the financial networks to identify a transaction. - * Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. - * The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). - * This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ + /** @description This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ network_transaction_id?: string | null; /** @description Details about payments collected offline. */ offline?: components["schemas"]["payment_method_details_card_present_offline"] | null; @@ -16889,6 +17239,7 @@ export interface components { 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; + wallet?: components["schemas"]["payment_flows_private_payment_methods_card_present_common_wallet"]; }; /** payment_method_details_card_present_offline */ payment_method_details_card_present_offline: { @@ -16897,6 +17248,11 @@ export interface components { * @description Time at which the payment was collected while offline */ stored_at?: number | null; + /** + * @description The method used to process this payment method offline. Only deferred is allowed. + * @enum {string|null} + */ + type?: "deferred" | null; }; /** payment_method_details_card_present_receipt */ payment_method_details_card_present_receipt: { @@ -17072,10 +17428,7 @@ export interface components { 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 This is used by the financial networks to identify a transaction. - * Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. - * The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). - * This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ + /** @description This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. The first three digits of the Trace ID is the Financial Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent the date (MM/DD). This field will be available for successful Visa, Mastercard, or American Express transactions and always null for other card brands. */ network_transaction_id?: string | null; /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */ preferred_locales?: string[] | null; @@ -17113,6 +17466,8 @@ export interface components { }; /** payment_method_details_klarna */ payment_method_details_klarna: { + /** @description The payer details for this transaction. */ + payer_details?: components["schemas"]["klarna_payer_details"] | null; /** @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; @@ -17438,11 +17793,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17460,11 +17815,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17474,11 +17829,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17493,29 +17848,15 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/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. - * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. - * - * 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: { /** @@ -17526,11 +17867,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17542,11 +17883,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -17619,11 +17960,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session" | "on_session"; @@ -17639,11 +17980,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17674,11 +18015,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17688,11 +18029,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17702,11 +18043,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17716,11 +18057,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17739,11 +18080,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17764,11 +18105,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17778,11 +18119,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17794,11 +18135,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17808,11 +18149,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17822,11 +18163,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17845,11 +18186,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17863,11 +18204,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17877,11 +18218,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17896,11 +18237,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17915,11 +18256,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none" | "off_session"; @@ -17929,11 +18270,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17958,11 +18299,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -17972,11 +18313,11 @@ export interface components { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "none"; @@ -18340,10 +18681,10 @@ export interface components { /** 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @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`, `hr_oib`, `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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` * @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -18351,6 +18692,11 @@ export interface components { payment_pages_checkout_session_tax_id_collection: { /** @description Indicates whether tax ID collection is enabled for the session */ enabled: boolean; + /** + * @description Indicates whether a tax ID is required on the payment page + * @enum {string} + */ + required: "if_supported" | "never"; }; /** PaymentPagesCheckoutSessionTotalDetails */ payment_pages_checkout_session_total_details: { @@ -18561,7 +18907,8 @@ export interface components { }; /** PersonAdditionalTOSAcceptances */ person_additional_tos_acceptances: { - account: components["schemas"]["person_additional_tos_acceptance"]; + /** @description Details on the legal guardian's acceptance of the main Stripe service agreement. */ + account?: components["schemas"]["person_additional_tos_acceptance"] | null; }; /** PersonFutureRequirements */ person_future_requirements: { @@ -20198,7 +20545,7 @@ export interface components { 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. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.corp.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead. */ + /** @description ID of the payment method used with this SetupIntent. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead. */ 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; @@ -20254,6 +20601,7 @@ export interface components { 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"]; amazon_pay?: components["schemas"]["setup_intent_payment_method_options_amazon_pay"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + bacs_debit?: components["schemas"]["setup_intent_payment_method_options_bacs_debit"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; card?: components["schemas"]["setup_intent_payment_method_options_card"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; card_present?: components["schemas"]["setup_intent_payment_method_options_card_present"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; link?: components["schemas"]["setup_intent_payment_method_options_link"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; @@ -20277,6 +20625,10 @@ export interface components { }; /** setup_intent_payment_method_options_amazon_pay */ setup_intent_payment_method_options_amazon_pay: Record; + /** setup_intent_payment_method_options_bacs_debit */ + setup_intent_payment_method_options_bacs_debit: { + mandate_options?: components["schemas"]["setup_intent_payment_method_options_mandate_options_bacs_debit"]; + }; /** 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. */ @@ -20285,7 +20637,7 @@ export interface components { * @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; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "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. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. * @enum {string|null} @@ -20350,6 +20702,8 @@ export interface components { */ transaction_type?: "business" | "personal" | null; }; + /** setup_intent_payment_method_options_mandate_options_bacs_debit */ + setup_intent_payment_method_options_mandate_options_bacs_debit: Record; /** 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 */ @@ -21208,7 +21562,7 @@ export interface components { * @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; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "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/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. * @enum {string|null} @@ -21906,10 +22260,10 @@ export interface components { /** @description The account or customer the tax ID belongs to. */ owner?: components["schemas"]["tax_i_ds_owner"] | null; /** - * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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` + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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. */ @@ -22039,6 +22393,7 @@ export interface components { local_lease_tax?: components["schemas"]["tax_product_registrations_resource_country_options_us_local_lease_tax"]; /** @description Two-letter US state code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). */ state: string; + state_sales_tax?: components["schemas"]["tax_product_registrations_resource_country_options_us_state_sales_tax"]; /** * @description Type of registration in the US. * @enum {string} @@ -22055,6 +22410,21 @@ export interface components { /** @description A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. */ jurisdiction: string; }; + /** TaxProductRegistrationsResourceCountryOptionsUsStateSalesTax */ + tax_product_registrations_resource_country_options_us_state_sales_tax: { + /** @description Elections for the state sales tax registration. */ + elections?: components["schemas"]["tax_product_registrations_resource_country_options_us_state_sales_tax_election"][]; + }; + /** TaxProductRegistrationsResourceCountryOptionsUsStateSalesTaxElection */ + tax_product_registrations_resource_country_options_us_state_sales_tax_election: { + /** @description A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. */ + jurisdiction?: string; + /** + * @description The type of the election for the state sales tax registration. + * @enum {string} + */ + type: "local_use_tax" | "simplified_sellers_use_tax" | "single_local_use_tax"; + }; /** TaxProductResourceCustomerDetails */ tax_product_resource_customer_details: { /** @description The customer's postal address (for example, home or business location). */ @@ -22077,10 +22447,10 @@ export interface components { /** 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` + * @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`, `hr_oib`, `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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, or `unknown` * @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -22410,7 +22780,7 @@ export interface components { /** @description Serial number of the reader. */ serial_number: string; /** - * @description The networking status of the reader. + * @description The networking status of the reader. We do not recommend using this field in flows that may block taking payments. * @enum {string|null} */ status?: "offline" | "online" | null; @@ -22642,6 +23012,7 @@ export interface components { * @enum {string} */ status: "advancing" | "internal_failure" | "ready"; + status_details: components["schemas"]["billing_clocks_resource_status_details_status_details"]; }; /** three_d_secure_details */ three_d_secure_details: { @@ -22724,6 +23095,26 @@ export interface components { /** @description Whether 3D Secure is supported on this card. */ supported: boolean; }; + /** ThresholdsResourceAlertFilter */ + thresholds_resource_alert_filter: { + /** @description Limit the scope of the alert to this customer ID */ + customer?: (string | components["schemas"]["customer"]) | null; + }; + /** + * ThresholdsResourceUsageThresholdConfig + * @description The usage threshold alert configuration enables setting up alerts for when a certain usage threshold on a specific meter is crossed. + */ + thresholds_resource_usage_threshold_config: { + /** @description The value at which this alert will trigger. */ + gte: number; + /** @description The [Billing Meter](/api/billing/meter) ID whose usage is monitored. */ + meter: string | components["schemas"]["billing.meter"]; + /** + * @description Defines how the alert will behave. + * @enum {string} + */ + recurrence: "one_time"; + }; /** * Token * @description Tokenization is the process Stripe uses to collect sensitive card or bank @@ -22894,7 +23285,7 @@ export interface components { }; /** @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. */ + /** @description ID of the charge 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; @@ -23090,7 +23481,7 @@ export interface components { */ "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")[]; + active_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "financial_addresses.aba.forwarding" | "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; @@ -23116,11 +23507,11 @@ export interface components { */ 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")[]; + pending_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "financial_addresses.aba.forwarding" | "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")[]; + restricted_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "financial_addresses.aba.forwarding" | "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} @@ -23151,7 +23542,9 @@ export interface components { }; /** * 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. + * @description Use [InboundTransfers](https://docs.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. + * + * Related guide: [Moving money with Treasury using InboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) */ "treasury.inbound_transfer": { /** @description Amount (in cents) transferred. */ @@ -23206,9 +23599,11 @@ export interface components { }; /** * 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). + * @description Use [OutboundPayments](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) 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. + * + * Related guide: [Moving money with Treasury using OutboundPayment objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) */ "treasury.outbound_payment": { /** @description Amount (in cents) transferred. */ @@ -23271,9 +23666,11 @@ export interface components { }; /** * 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. + * @description Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) 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. + * + * Related guide: [Moving money with Treasury using OutboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) */ "treasury.outbound_transfer": { /** @description Amount (in cents) transferred. */ @@ -23400,7 +23797,7 @@ export interface components { * @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; + failure_code?: "account_closed" | "account_frozen" | "insufficient_funds" | "international_transaction" | "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. */ @@ -23796,8 +24193,10 @@ export interface components { }; /** TreasuryOutboundPaymentsResourceUSDomesticWireTrackingDetails */ treasury_outbound_payments_resource_us_domestic_wire_tracking_details: { + /** @description CHIPS System Sequence Number (SSN) of the OutboundPayment for payments sent over the `us_domestic_wire` network. */ + chips?: string | null; /** @description IMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. */ - imad: string; + imad?: string | null; /** @description OMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. */ omad?: string | null; }; @@ -23851,8 +24250,10 @@ export interface components { }; /** TreasuryOutboundTransfersResourceUSDomesticWireTrackingDetails */ treasury_outbound_transfers_resource_us_domestic_wire_tracking_details: { + /** @description CHIPS System Sequence Number (SSN) of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. */ + chips?: string | null; /** @description IMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. */ - imad: string; + imad?: string | null; /** @description OMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. */ omad?: string | null; }; @@ -24193,7 +24594,7 @@ export interface operations { */ collection_options?: { /** @enum {string} */ - fields: "currently_due" | "eventually_due"; + fields?: "currently_due" | "eventually_due"; /** @enum {string} */ future_requirements?: "include" | "omit"; }; @@ -26426,7 +26827,7 @@ export interface operations { "application/x-www-form-urlencoded": { /** * person_additional_tos_acceptances_specs - * @description Details on the legal guardian's acceptance of the required Stripe agreements. + * @description Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. */ additional_tos_acceptances?: { /** settings_terms_of_service_specs */ @@ -26658,7 +27059,7 @@ export interface operations { "application/x-www-form-urlencoded": { /** * person_additional_tos_acceptances_specs - * @description Details on the legal guardian's acceptance of the required Stripe agreements. + * @description Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. */ additional_tos_acceptances?: { /** settings_terms_of_service_specs */ @@ -26949,7 +27350,7 @@ export interface operations { "application/x-www-form-urlencoded": { /** * person_additional_tos_acceptances_specs - * @description Details on the legal guardian's acceptance of the required Stripe agreements. + * @description Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. */ additional_tos_acceptances?: { /** settings_terms_of_service_specs */ @@ -27181,7 +27582,7 @@ export interface operations { "application/x-www-form-urlencoded": { /** * person_additional_tos_acceptances_specs - * @description Details on the legal guardian's acceptance of the required Stripe agreements. + * @description Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. */ additional_tos_acceptances?: { /** settings_terms_of_service_specs */ @@ -28373,6 +28774,277 @@ export interface operations { }; }; }; + GetBillingAlerts: { + parameters: { + query?: { + /** @description Filter results to only include this type of alert. */ + alert_type?: "usage_threshold"; + /** @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 results to only include alerts with the given meter. */ + meter?: 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"]["billing.alert"][]; + /** @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"]; + }; + }; + }; + }; + PostBillingAlerts: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description The type of alert to create. + * @enum {string} + */ + alert_type: "usage_threshold"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * alert_filter + * @description Filters to limit the scope of an alert. + */ + filter?: { + customer?: string; + subscription?: string; + subscription_item?: string; + }; + /** @description The title of the alert. */ + title: string; + /** + * usage_threshold_config + * @description The configuration of the usage threshold. + */ + usage_threshold_config?: { + gte: number; + meter?: string; + /** @enum {string} */ + recurrence: "one_time"; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBillingAlertsId: { + 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"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingAlertsIdActivate: { + 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"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingAlertsIdArchive: { + 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"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingAlertsIdDeactivate: { + 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"]["billing.alert"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; PostBillingMeterEventAdjustments: { parameters: { query?: never; @@ -29241,7 +29913,7 @@ export interface operations { 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. */ + /** @description Only return charges for this transfer group, limited to 100. */ transfer_group?: string; }; header?: never; @@ -29369,9 +30041,11 @@ export interface operations { }; /** @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. */ + /** @description For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. */ statement_descriptor_suffix?: string; /** * transfer_data_specs @@ -29598,9 +30272,11 @@ export interface operations { 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. */ + /** @description For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. */ statement_descriptor_suffix?: string; /** * transfer_data_specs @@ -30164,7 +30840,7 @@ export interface operations { * @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. */ + /** @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. This parameter is not allowed if ui_mode is `embedded`. */ 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 @@ -30687,7 +31363,7 @@ export interface operations { enabled: boolean; }; /** - * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) of embedded sessions. Defaults to `always`. + * @description This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. * @enum {string} */ redirect_on_completion?: "always" | "if_required" | "never"; @@ -30826,6 +31502,8 @@ export interface operations { */ tax_id_collection?: { enabled: boolean; + /** @enum {string} */ + required?: "if_supported" | "never"; }; /** * @description The UI mode of the Session. Defaults to `hosted`. @@ -32541,6 +33219,7 @@ export interface operations { rendering_options?: { /** @enum {string} */ amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + template?: string; } | ""; }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ @@ -32590,7 +33269,7 @@ export interface operations { /** @description The customer's tax IDs. */ tax_id_data?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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. */ @@ -32811,6 +33490,7 @@ export interface operations { rendering_options?: { /** @enum {string} */ amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + template?: string; } | ""; }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ @@ -34723,7 +35403,7 @@ export interface operations { description?: string; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; } | ""; @@ -34764,7 +35444,7 @@ export interface operations { interval: "day" | "month" | "week" | "year"; interval_count?: number; } | ""; - /** @description The 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + /** @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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ promotion_code?: string; /** * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. @@ -35056,7 +35736,7 @@ export interface operations { description?: string; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; } | ""; @@ -35097,7 +35777,7 @@ export interface operations { 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. */ + /** @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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ promotion_code?: string; /** * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/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`. @@ -35342,10 +36022,10 @@ export interface operations { /** @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`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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` + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -36303,7 +36983,7 @@ export interface operations { * @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`. */ + /** @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`, `issuing_regulatory_reporting`, `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?: { @@ -36432,7 +37112,7 @@ export interface operations { /** @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"; + 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" | "issuing_regulatory_reporting" | "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; }; @@ -36510,7 +37190,7 @@ export interface operations { * @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"; + purpose: "account_requirement" | "additional_verification" | "business_icon" | "business_logo" | "customer_signature" | "dispute_evidence" | "identity_document" | "issuing_regulatory_reporting" | "pci_document" | "tax_document_user_upload" | "terminal_reader_splashscreen"; }; }; }; @@ -37366,6 +38046,7 @@ export interface operations { 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; + related_customer?: 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 VerificationSessions with this status. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). */ @@ -37450,6 +38131,8 @@ export interface operations { email?: string; phone?: string; }; + /** @description Token referencing a Customer resource. */ + related_customer?: string; /** @description The URL that the user will be redirected to upon completing the verification flow. */ return_url?: string; /** @@ -37664,6 +38347,176 @@ export interface operations { }; }; }; + GetInvoiceRenderingTemplates: { + 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; + status?: "active" | "archived"; + }; + 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"]["invoice_rendering_template"][]; + /** @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"]; + }; + }; + }; + }; + GetInvoiceRenderingTemplatesTemplate: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + version?: number; + }; + header?: never; + path: { + template: 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_rendering_template"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoiceRenderingTemplatesTemplateArchive: { + parameters: { + query?: never; + header?: never; + path: { + template: 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_rendering_template"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoiceRenderingTemplatesTemplateUnarchive: { + parameters: { + query?: never; + header?: never; + path: { + template: 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_rendering_template"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; GetInvoiceitems: { parameters: { query?: { @@ -38202,9 +39055,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -38258,6 +39111,8 @@ export interface operations { /** @enum {string} */ page_size?: "a4" | "auto" | "letter"; }; + template?: string; + template_version?: number | ""; }; /** * shipping_cost @@ -38421,7 +39276,7 @@ export interface operations { tax_exempt?: "" | "exempt" | "none" | "reverse"; tax_ids?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }[]; }; @@ -38433,7 +39288,7 @@ export interface operations { }[] | ""; /** @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. */ + /** @description List of invoice items to add or update in the upcoming invoice preview (up to 250). */ invoice_items?: { amount?: number; currency?: string; @@ -38797,7 +39652,7 @@ export interface operations { tax_exempt?: "" | "exempt" | "none" | "reverse"; tax_ids?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }[]; }; @@ -38809,7 +39664,7 @@ export interface operations { }[] | ""; /** @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. */ + /** @description List of invoice items to add or update in the upcoming invoice preview (up to 250). */ invoice_items?: { amount?: number; currency?: string; @@ -39170,7 +40025,7 @@ export interface operations { tax_exempt?: "" | "exempt" | "none" | "reverse"; tax_ids?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }[]; }; @@ -39184,7 +40039,7 @@ export interface operations { 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. */ + /** @description List of invoice items to add or update in the upcoming invoice preview (up to 250). */ invoice_items?: { amount?: number; currency?: string; @@ -39660,9 +40515,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -39711,6 +40566,8 @@ export interface operations { /** @enum {string} */ page_size?: "a4" | "auto" | "letter"; }; + template?: string; + template_version?: number | ""; }; /** @description Settings for the cost of shipping for this invoice. */ shipping_cost?: { @@ -42951,7 +43808,7 @@ export interface operations { * * Payment methods attached to other Customers cannot be used with this PaymentIntent. * - * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ customer?: string; /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ description?: string; @@ -43192,6 +44049,8 @@ export interface operations { setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; /** @enum {string} */ setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; @@ -43219,9 +44078,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -43243,7 +44102,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_extended_authorization?: "if_available" | "never"; /** @enum {string} */ @@ -43485,11 +44344,11 @@ export interface operations { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * @enum {string} */ setup_future_usage?: "off_session" | "on_session"; @@ -43512,9 +44371,11 @@ export interface operations { phone?: string; tracking_number?: string; }; - /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. */ statement_descriptor_suffix?: string; /** * transfer_data_creation_params @@ -43674,7 +44535,7 @@ export interface operations { * * Payment methods attached to other Customers cannot be used with this PaymentIntent. * - * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ + * If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. */ customer?: string; /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ description?: string; @@ -43888,6 +44749,8 @@ export interface operations { setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; /** @enum {string} */ setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; @@ -43915,9 +44778,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -43939,7 +44802,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_extended_authorization?: "if_available" | "never"; /** @enum {string} */ @@ -44172,13 +45035,13 @@ export interface operations { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * - * If `setup_future_usage` is already set and you are performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. + * If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. * @enum {string} */ setup_future_usage?: "" | "off_session" | "on_session"; @@ -44198,9 +45061,11 @@ export interface operations { phone?: string; tracking_number?: string; } | ""; - /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. */ statement_descriptor_suffix?: string; /** * transfer_data_update_params @@ -44350,9 +45215,11 @@ export interface operations { metadata?: { [key: string]: string; } | ""; - /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). + * + * Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. */ 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. */ + /** @description Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. */ statement_descriptor_suffix?: string; /** * transfer_data_update_params @@ -44646,6 +45513,8 @@ export interface operations { setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; /** @enum {string} */ setup_future_usage?: "" | "none" | "off_session" | "on_session"; } | ""; @@ -44673,9 +45542,9 @@ export interface operations { installments?: { enabled?: boolean; plan?: { - count: number; + count?: number; /** @enum {string} */ - interval: "month"; + interval?: "month"; /** @enum {string} */ type: "fixed_count"; } | ""; @@ -44697,7 +45566,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_extended_authorization?: "if_available" | "never"; /** @enum {string} */ @@ -44941,13 +45810,13 @@ export interface operations { /** * @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. + * If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. * - * If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. + * If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. * - * 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). + * When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). * - * If `setup_future_usage` is already set and you are performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. + * If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. * @enum {string} */ setup_future_usage?: "" | "off_session" | "on_session"; @@ -45017,7 +45886,7 @@ export interface operations { metadata?: { [key: string]: string; }; - /** @description For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. */ + /** @description Text that appears on the customer's statement as the statement descriptor for a non-card or card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). */ statement_descriptor?: string; /** * transfer_data_update_params @@ -45418,6 +46287,8 @@ export interface operations { */ tax_id_collection?: { enabled: boolean; + /** @enum {string} */ + required?: "if_supported" | "never"; }; /** * transfer_data_params @@ -45707,6 +46578,8 @@ export interface operations { */ tax_id_collection?: { enabled: boolean; + /** @enum {string} */ + required?: "if_supported" | "never"; }; }; }; @@ -49562,7 +50435,7 @@ export interface operations { 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. */ + /** @description The discounts applied to the quote. */ discounts?: { coupon?: string; discount?: string; @@ -49755,7 +50628,7 @@ export interface operations { 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. */ + /** @description The discounts applied to the quote. */ discounts?: { coupon?: string; discount?: string; @@ -51638,6 +52511,11 @@ export interface operations { }; /** setup_intent_payment_method_options_param */ amazon_pay?: Record; + /** setup_intent_payment_method_options_param */ + bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; /** setup_intent_param */ card?: { /** setup_intent_mandate_options_param */ @@ -51658,7 +52536,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; /** setup_intent_payment_method_options_param */ @@ -52015,6 +52893,11 @@ export interface operations { }; /** setup_intent_payment_method_options_param */ amazon_pay?: Record; + /** setup_intent_payment_method_options_param */ + bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; /** setup_intent_param */ card?: { /** setup_intent_mandate_options_param */ @@ -52035,7 +52918,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; /** setup_intent_payment_method_options_param */ @@ -52391,6 +53274,11 @@ export interface operations { }; /** setup_intent_payment_method_options_param */ amazon_pay?: Record; + /** setup_intent_payment_method_options_param */ + bacs_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; /** setup_intent_param */ card?: { /** setup_intent_mandate_options_param */ @@ -52411,7 +53299,7 @@ export interface operations { supported_types?: "india"[]; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; /** setup_intent_payment_method_options_param */ @@ -54462,12 +55350,14 @@ export interface operations { lt?: number; lte?: number; } | number; + /** @description Only return subscriptions whose current_period_end falls within the given date interval. */ current_period_end?: { gt?: number; gte?: number; lt?: number; lte?: number; } | number; + /** @description Only return subscriptions whose current_period_start falls within the given date interval. */ current_period_start?: { gt?: number; gte?: number; @@ -54738,7 +55628,7 @@ export interface operations { description?: string; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; } | ""; @@ -54779,7 +55669,7 @@ export interface operations { interval: "day" | "month" | "week" | "year"; interval_count?: number; } | ""; - /** @description The 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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ + /** @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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ promotion_code?: string; /** * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. @@ -55127,7 +56017,7 @@ export interface operations { description?: string; }; /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "girocard" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; /** @enum {string} */ request_three_d_secure?: "any" | "automatic" | "challenge"; } | ""; @@ -55168,7 +56058,7 @@ export interface operations { 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. */ + /** @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. This field has been deprecated and will be removed in a future API version. Use `discounts` instead. */ promotion_code?: string; /** * @description Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/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`. @@ -55396,7 +56286,7 @@ export interface operations { ip_address?: string; tax_ids?: { /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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} */ @@ -55466,6 +56356,44 @@ export interface operations { }; }; }; + GetTaxCalculationsCalculation: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: 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": components["schemas"]["tax.calculation"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; GetTaxCalculationsCalculationLineItems: { parameters: { query?: { @@ -56011,6 +56939,14 @@ export interface operations { jurisdiction: string; }; state: string; + /** state_sales_tax */ + state_sales_tax?: { + elections: { + jurisdiction?: string; + /** @enum {string} */ + type: "local_use_tax" | "simplified_sellers_use_tax" | "single_local_use_tax"; + }[]; + }; /** @enum {string} */ type: "local_amusement_tax" | "local_lease_tax" | "state_communications_tax" | "state_sales_tax"; }; @@ -56620,10 +57556,10 @@ export interface operations { type: "account" | "application" | "customer" | "self"; }; /** - * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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` + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "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" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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"; + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bh_vat" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_uid" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "de_stn" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hr_oib" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "kz_bin" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "ng_tin" | "no_vat" | "no_voec" | "nz_gst" | "om_vat" | "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; }; @@ -57494,7 +58430,7 @@ export interface operations { }; /** @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. */ + /** @description A name for the location. Maximum length is 1000 characters. */ display_name: string; /** @description Specifies which fields in the response should be expanded. */ expand?: string[]; @@ -57985,7 +58921,7 @@ export interface operations { content: { "application/x-www-form-urlencoded": { /** @description Customer Consent Collected */ - customer_consent_collected: boolean; + customer_consent_collected?: boolean; /** @description Specifies which fields in the response should be expanded. */ expand?: string[]; /** @@ -59170,6 +60106,58 @@ export interface operations { }; }; }; + PostTestHelpersIssuingSettlements: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @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; + /** @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 total interchange received as reimbursement for the transactions. */ + interchange_fees?: number; + /** @description The total net amount required to settle with the network. */ + net_total: number; + /** @description The Settlement Identification Number assigned by the network. */ + network_settlement_identifier?: 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; + }; + }; + }; + 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"]; + }; + }; + }; + }; PostTestHelpersIssuingTransactionsCreateForceCapture: { parameters: { query?: never; @@ -59950,6 +60938,7 @@ export interface operations { type: "ach" | "us_domestic_wire"; /** us_domestic_wire_tracking_details_params */ us_domestic_wire?: { + chips?: string; imad?: string; omad?: string; }; @@ -60127,6 +61116,7 @@ export interface operations { type: "ach" | "us_domestic_wire"; /** us_domestic_wire_tracking_details_params */ us_domestic_wire?: { + chips?: string; imad?: string; omad?: string; }; @@ -61121,7 +62111,7 @@ export interface operations { "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). */ + /** @description Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). */ currency: string; /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ description?: string; diff --git a/packages/openapi-typescript/examples/stripe-api.yaml b/packages/openapi-typescript/examples/stripe-api.yaml index 801777c8a..870997aa0 100644 --- a/packages/openapi-typescript/examples/stripe-api.yaml +++ b/packages/openapi-typescript/examples/stripe-api.yaml @@ -1281,35 +1281,33 @@ components: type: string statement_descriptor_kana: description: >- - The Kana variation of the default text that appears on credit card - statements when a charge is made (Japan only) + The Kana variation of `statement_descriptor` used for charges in + Japan. Japanese statement descriptors have [special + requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). maxLength: 5000 nullable: true type: string statement_descriptor_kanji: description: >- - The Kanji variation of the default text that appears on credit card - statements when a charge is made (Japan only) + The Kanji variation of `statement_descriptor` used for charges in + Japan. Japanese statement descriptors have [special + requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). maxLength: 5000 nullable: true type: string statement_descriptor_prefix_kana: 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. + The Kana variation of `statement_descriptor_prefix` used for card + charges in Japan. Japanese statement descriptors have [special + requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). maxLength: 5000 nullable: true type: string statement_descriptor_prefix_kanji: 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. + The Kanji variation of `statement_descriptor_prefix` used for card + charges in Japan. Japanese statement descriptors have [special + requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). maxLength: 5000 nullable: true type: string @@ -1553,6 +1551,7 @@ components: - verification_missing_owners - verification_requires_additional_memorandum_of_associations - verification_requires_additional_proof_of_registration + - verification_supportability type: string x-stripeBypassValidation: true reason: @@ -3196,6 +3195,72 @@ components: title: BankConnectionsResourceTransactionResourceStatusTransitions type: object x-expandableFields: [] + billing.alert: + description: >- + A billing alert is a resource that notifies you when a certain usage + threshold on a meter is crossed. For example, you might create a billing + alert to notify you when a certain user made 100 API requests. + properties: + alert_type: + description: Defines the type of the alert. + enum: + - usage_threshold + type: string + x-stripeBypassValidation: true + filter: + anyOf: + - $ref: '#/components/schemas/thresholds_resource_alert_filter' + description: >- + Limits the scope of the alert to a specific + [customer](https://stripe.com/docs/api/customers). + nullable: true + id: + description: Unique identifier for the object. + maxLength: 5000 + type: string + livemode: + description: >- + Has the value `true` if the object exists in live mode or the value + `false` if the object exists in test mode. + type: boolean + object: + description: >- + String representing the object's type. Objects of the same type + share the same value. + enum: + - billing.alert + type: string + status: + description: 'Status of the alert. This can be active, inactive or archived.' + enum: + - active + - archived + - inactive + nullable: true + type: string + title: + description: Title of the alert. + maxLength: 5000 + type: string + usage_threshold_config: + anyOf: + - $ref: '#/components/schemas/thresholds_resource_usage_threshold_config' + description: >- + Encapsulates configuration of the alert to monitor usage on a + specific [Billing Meter](https://stripe.com/docs/api/billing/meter). + nullable: true + required: + - alert_type + - id + - livemode + - object + - title + title: ThresholdsResourceAlert + type: object + x-expandableFields: + - filter + - usage_threshold_config + x-resourceId: billing.alert billing.meter: description: >- A billing meter is a resource that allows you to track usage of a @@ -3464,6 +3529,28 @@ components: type: object x-expandableFields: [] x-resourceId: billing.meter_event_summary + billing_clocks_resource_status_details_advancing_status_details: + description: '' + properties: + target_frozen_time: + description: The `frozen_time` that the Test Clock is advancing towards. + format: unix-time + type: integer + required: + - target_frozen_time + title: BillingClocksResourceStatusDetailsAdvancingStatusDetails + type: object + x-expandableFields: [] + billing_clocks_resource_status_details_status_details: + description: '' + properties: + advancing: + $ref: >- + #/components/schemas/billing_clocks_resource_status_details_advancing_status_details + title: BillingClocksResourceStatusDetailsStatusDetails + type: object + x-expandableFields: + - advancing billing_details: description: '' properties: @@ -4024,8 +4111,8 @@ components: brand: description: >- Card brand. Can be `American Express`, `Diners Club`, `Discover`, - `Eftpos Australia`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or - `Unknown`. + `Eftpos Australia`, `Girocard`, `JCB`, `MasterCard`, `UnionPay`, + `Visa`, or `Unknown`. maxLength: 5000 type: string country: @@ -4039,7 +4126,9 @@ components: currency: description: >- Three-letter [ISO code for - currency](https://stripe.com/docs/payouts). Only applicable on + currency](https://www.iso.org/iso-4217-currency-codes.html) in + lowercase. Must be a [supported + currency](https://docs.stripe.com/currencies). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available for accounts where @@ -4359,8 +4448,8 @@ components: 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. This only - works for card payments. + like after the static and dynamic portions are combined. This value + only exists for card payments. maxLength: 5000 nullable: true type: string @@ -4606,7 +4695,7 @@ components: 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) + documentation](https://docs.stripe.com/connect/destination-charges) for details. nullable: true x-expansionResources: @@ -4614,20 +4703,27 @@ components: - $ref: '#/components/schemas/transfer' statement_descriptor: 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. + For a non-card charge, text that appears on the customer's statement + as the statement descriptor. This value overrides the account's + default statement descriptor. For information about requirements, + including the 22-character limit, see [the Statement Descriptor + docs](https://docs.stripe.com/get-started/account/statement-descriptors). + + + For a card charge, this value is ignored unless you don't specify a + `statement_descriptor_suffix`, in which case this value is used as + the suffix. maxLength: 5000 nullable: true type: string statement_descriptor_suffix: 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. + Provides information about a card charge. Concatenated to the + account's [statement descriptor + prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) + to form the complete statement descriptor that appears on the + customer's statement. If the account has no prefix value, the suffix + is concatenated to the account's statement descriptor. maxLength: 5000 nullable: true type: string @@ -5236,7 +5332,7 @@ components: description: >- This parameter applies to `ui_mode: embedded`. Learn more about the [redirect - behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) + behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. enum: - always @@ -5479,26 +5575,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -5525,26 +5619,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -5560,26 +5652,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -5595,26 +5685,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -5630,26 +5718,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -5666,26 +5752,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -5701,26 +5785,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -5738,26 +5820,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -5780,26 +5860,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -5848,26 +5926,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -5909,26 +5985,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6000,26 +6074,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6036,26 +6108,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6071,26 +6141,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6106,26 +6174,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6141,26 +6207,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6176,26 +6240,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6211,26 +6273,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -6256,26 +6316,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6291,26 +6349,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -6327,26 +6383,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6362,26 +6416,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6404,26 +6456,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6441,26 +6491,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6476,26 +6524,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6534,26 +6580,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -6580,26 +6624,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -6616,26 +6658,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -6757,26 +6797,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -6807,26 +6845,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -9652,6 +9688,16 @@ components: Stripe.js) client-side access control over a Customer. + + + Related guides: [Customer Session with the Payment + Element](/payments/accept-a-payment-deferred?platform=web&type=payment#save-payment-methods), + + [Customer Session with the Pricing + Table](/payments/checkout/pricing-table#customer-session), + + [Customer Session with the Buy + Button](/payment-links/buy-button#pass-an-existing-customer). properties: client_secret: description: >- @@ -9799,7 +9845,7 @@ components: payment_method_redisplay_limit: description: >- Determines the max number of saved payment methods for the Payment - Element to display. This parameter defaults to `10`. + Element to display. This parameter defaults to `3`. nullable: true type: integer payment_method_remove: @@ -11301,6 +11347,8 @@ components: dispute_payment_method_details: description: '' properties: + amazon_pay: + $ref: '#/components/schemas/dispute_payment_method_details_amazon_pay' card: $ref: '#/components/schemas/dispute_payment_method_details_card' klarna: @@ -11310,6 +11358,7 @@ components: type: description: Payment method type. enum: + - amazon_pay - card - klarna - paypal @@ -11319,9 +11368,23 @@ components: title: DisputePaymentMethodDetails type: object x-expandableFields: + - amazon_pay - card - klarna - paypal + dispute_payment_method_details_amazon_pay: + description: '' + properties: + dispute_type: + description: 'The AmazonPay dispute type, chargeback or claim' + enum: + - chargeback + - claim + nullable: true + type: string + title: DisputePaymentMethodDetailsAmazonPay + type: object + x-expandableFields: [] dispute_payment_method_details_card: description: '' properties: @@ -12062,6 +12125,7 @@ components: - finance_report_run - identity_document - identity_document_downloadable + - issuing_regulatory_reporting - pci_document - selfie - sigma_scheduled_query @@ -14115,6 +14179,11 @@ components: Redaction status of this VerificationSession. If the VerificationSession is not redacted, this field will be null. nullable: true + related_customer: + description: Token referencing a Customer resource. + maxLength: 5000 + nullable: true + type: string status: description: >- Status of this VerificationSession. [Learn more about the lifecycle @@ -14454,6 +14523,17 @@ components: type: boolean automatic_tax: $ref: '#/components/schemas/automatic_tax' + automatically_finalizes_at: + description: >- + The time when this invoice is currently scheduled to be + automatically finalized. The field will be `null` if the invoice is + not scheduled to finalize in the future. If the invoice is not in + the draft state, this field will always be `null` - see + `finalized_at` for the time when an already-finalized invoice was + finalized. + format: unix-time + nullable: true + type: integer billing_reason: description: >- Indicates the reason why the invoice was created. @@ -15427,6 +15507,73 @@ components: title: InvoiceRenderingPdf type: object x-expandableFields: [] + invoice_rendering_template: + description: >- + Invoice Rendering Templates are used to configure how invoices are + rendered on surfaces like the PDF. Invoice Rendering Templates + + can be created from within the Dashboard, and they can be used over the + API when creating invoices. + properties: + created: + description: >- + Time at which the object was created. Measured in seconds since the + Unix epoch. + format: unix-time + type: integer + id: + description: Unique identifier for the object. + maxLength: 5000 + type: string + livemode: + description: >- + Has the value `true` if the object exists in live mode or the value + `false` if the object exists in test mode. + type: boolean + metadata: + additionalProperties: + maxLength: 500 + type: string + description: >- + Set of [key-value pairs](https://stripe.com/docs/api/metadata) that + you can attach to an object. This can be useful for storing + additional information about the object in a structured format. + nullable: true + type: object + nickname: + description: 'A brief description of the template, hidden from customers' + maxLength: 5000 + nullable: true + type: string + object: + description: >- + String representing the object's type. Objects of the same type + share the same value. + enum: + - invoice_rendering_template + type: string + status: + description: 'The status of the template, one of `active` or `archived`.' + enum: + - active + - archived + type: string + version: + description: >- + Version of this template; version increases by one when an update on + the template changes any field that controls invoice rendering + type: integer + required: + - created + - id + - livemode + - object + - status + - version + title: InvoiceRenderingTemplate + type: object + x-expandableFields: [] + x-resourceId: invoice_rendering_template invoice_setting_custom_field: description: '' properties: @@ -15454,6 +15601,14 @@ components: maxLength: 5000 nullable: true type: string + template: + description: >- + ID of the invoice rendering template to be used for this customer's + invoices. If set, the template will be used on all invoices for this + customer unless a template is set directly on the invoice. + maxLength: 5000 + nullable: true + type: string title: InvoiceSettingCustomerRenderingOptions type: object x-expandableFields: [] @@ -16094,6 +16249,15 @@ components: - $ref: '#/components/schemas/invoice_rendering_pdf' description: Invoice pdf rendering options nullable: true + template: + description: ID of the rendering template that the invoice is formatted by. + maxLength: 5000 + nullable: true + type: string + template_version: + description: Version of the rendering template that the invoice is using. + nullable: true + type: integer title: InvoicesResourceInvoiceRendering type: object x-expandableFields: @@ -16105,17 +16269,17 @@ components: 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, - `de_stn`, `ch_uid`, or `unknown` + `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `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`, `no_voec`, + `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`, `bh_vat`, `kz_bin`, `ng_tin`, + `om_vat`, `de_stn`, `ch_uid`, or `unknown` enum: - ad_nrt - ae_trn @@ -16149,6 +16313,7 @@ components: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -17179,6 +17344,7 @@ components: description: >- The date that the transactions are cleared and posted to user's accounts. + format: unix-time type: integer created: description: >- @@ -17220,8 +17386,11 @@ components: description: The total net amount required to settle with the network. type: integer network: - description: 'The card network for this settlement report. One of ["visa"]' + description: >- + The card network for this settlement report. One of ["visa", + "maestro"] enum: + - maestro - visa type: string network_fees: @@ -17242,6 +17411,12 @@ components: description: One of `international` or `uk_national_net`. maxLength: 5000 type: string + status: + description: The current processing status of this settlement. + enum: + - complete + - pending + type: string transaction_count: description: The total number of transactions reflected in this settlement. type: integer @@ -17263,6 +17438,7 @@ components: - network_settlement_identifier - object - settlement_service + - status - transaction_count - transaction_volume title: IssuingSettlement @@ -18982,6 +19158,7 @@ components: - pending - returned - shipped + - submitted nullable: true type: string tracking_number: @@ -21854,7 +22031,6 @@ components: - amount_tax - amount_total - currency - - description - id - object title: LineItem @@ -21864,6 +22040,29 @@ components: - price - taxes x-resourceId: item + klarna_address: + description: '' + properties: + country: + description: The payer address country + maxLength: 5000 + nullable: true + type: string + title: klarna_address + type: object + x-expandableFields: [] + klarna_payer_details: + description: '' + properties: + address: + anyOf: + - $ref: '#/components/schemas/klarna_address' + description: The payer's address + nullable: true + title: klarna_payer_details + type: object + x-expandableFields: + - address legal_entity_company: description: '' properties: @@ -22251,7 +22450,15 @@ components: type: object x-expandableFields: [] line_item: - description: '' + description: >- + Invoice Line Items represent the individual lines within an + [invoice](https://stripe.com/docs/api/invoices) and only exist within + the context of an invoice. + + + Each line item is backed by either an [invoice + item](https://stripe.com/docs/api/invoiceitems) or a [subscription + item](https://stripe.com/docs/api/subscription_items). properties: amount: description: 'The amount, in cents (or local equivalent).' @@ -22426,6 +22633,8 @@ components: - object - period - proration + - tax_amounts + - tax_rates - type title: InvoiceLineItem type: object @@ -23381,6 +23590,24 @@ components: title: PaymentFlowsPrivatePaymentMethodsCardDetailsAPIResourceMulticapture type: object x-expandableFields: [] + payment_flows_private_payment_methods_card_present_common_wallet: + description: '' + properties: + type: + description: >- + The type of mobile wallet, one of `apple_pay`, `google_pay`, + `samsung_pay`, or `unknown`. + enum: + - apple_pay + - google_pay + - samsung_pay + - unknown + type: string + required: + - type + title: PaymentFlowsPrivatePaymentMethodsCardPresentCommonWallet + type: object + x-expandableFields: [] payment_flows_private_payment_methods_klarna_dob: description: '' properties: @@ -23583,7 +23810,7 @@ components: after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. nullable: true @@ -23742,26 +23969,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - off_session - on_session @@ -23774,21 +23999,27 @@ components: nullable: true statement_descriptor: description: >- - For card charges, use - [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). - Otherwise, you can use this value as the complete description of a - charge on your customers' statements. It must contain at least one - letter and be 1–22 characters long. + Text that appears on the customer's statement as the statement + descriptor for a non-card charge. This value overrides the account's + default statement descriptor. For information about requirements, + including the 22-character limit, see [the Statement Descriptor + docs](https://docs.stripe.com/get-started/account/statement-descriptors). + + + Setting this value for a card charge returns an error. For card + charges, set the + [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) + instead. maxLength: 5000 nullable: true type: string statement_descriptor_suffix: 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. + Provides information about a card charge. Concatenated to the + account's [statement descriptor + prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) + to form the complete statement descriptor that appears on the + customer's statement. maxLength: 5000 nullable: true type: string @@ -24612,7 +24843,8 @@ components: #/components/schemas/payment_intent_type_specific_payment_method_options_client bacs_debit: anyOf: - - $ref: '#/components/schemas/payment_method_options_bacs_debit' + - $ref: >- + #/components/schemas/payment_intent_payment_method_options_bacs_debit - $ref: >- #/components/schemas/payment_intent_type_specific_payment_method_options_client bancontact: @@ -24832,26 +25064,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -24878,26 +25108,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -24906,6 +25134,45 @@ components: title: payment_intent_payment_method_options_au_becs_debit type: object x-expandableFields: [] + payment_intent_payment_method_options_bacs_debit: + description: '' + properties: + mandate_options: + $ref: >- + #/components/schemas/payment_intent_payment_method_options_mandate_options_bacs_debit + setup_future_usage: + description: >- + Indicates that you intend to make future payments with this + PaymentIntent's payment method. + + + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a + Customer after the transaction completes. + + + If the payment method is `card_present` and isn't a digital wallet, + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. + + + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). + enum: + - none + - off_session + - on_session + type: string + title: payment_intent_payment_method_options_bacs_debit + type: object + x-expandableFields: + - mandate_options payment_intent_payment_method_options_blik: description: '' properties: @@ -24915,26 +25182,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -24980,6 +25245,7 @@ components: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -25056,26 +25322,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -25116,26 +25380,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -25158,26 +25420,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -25217,6 +25477,12 @@ components: title: payment_intent_payment_method_options_mandate_options_acss_debit type: object x-expandableFields: [] + payment_intent_payment_method_options_mandate_options_bacs_debit: + description: '' + properties: {} + title: payment_intent_payment_method_options_mandate_options_bacs_debit + type: object + x-expandableFields: [] payment_intent_payment_method_options_mandate_options_sepa_debit: description: '' properties: {} @@ -25239,26 +25505,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -25277,26 +25541,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -25322,26 +25584,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -25368,26 +25628,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -25482,26 +25740,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -26276,19 +26532,18 @@ components: type: string statement_descriptor: description: >- - Extra information about the payment. This will appear on your - customer's statement when this payment succeeds in creating a + For a non-card payment, information about the charge that appears on + the customer's statement when this payment succeeds in creating a charge. maxLength: 5000 nullable: true type: string statement_descriptor_suffix: 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. + For a card payment, information about the charge that appears on the + customer's statement when this payment succeeds in creating a + charge. Concatenated with the account's statement descriptor prefix + to form the complete statement descriptor. maxLength: 5000 nullable: true type: string @@ -26688,8 +26943,14 @@ components: enabled: description: Indicates whether tax ID collection is enabled for the session. type: boolean + required: + enum: + - if_supported + - never + type: string required: - enabled + - required title: PaymentLinksResourceTaxIdCollection type: object x-expandableFields: [] @@ -27347,6 +27608,11 @@ components: Contains information about card networks that can be used to process the payment. nullable: true + offline: + anyOf: + - $ref: '#/components/schemas/payment_method_details_card_present_offline' + description: Details about payment methods collected offline. + nullable: true preferred_locales: description: >- EMV tag 5F2D. Preferred languages specified by the integrated @@ -27366,6 +27632,9 @@ components: - magnetic_stripe_track2 nullable: true type: string + wallet: + $ref: >- + #/components/schemas/payment_flows_private_payment_methods_card_present_common_wallet required: - exp_month - exp_year @@ -27373,6 +27642,8 @@ components: type: object x-expandableFields: - networks + - offline + - wallet payment_method_card_present_networks: description: '' properties: @@ -28350,6 +28621,11 @@ components: description: The authorized amount. nullable: true type: integer + authorization_code: + description: Authorization code on the charge. + maxLength: 5000 + nullable: true + type: string brand: description: >- Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, @@ -28687,16 +28963,13 @@ components: network_transaction_id: description: >- This is used by the financial networks to identify a transaction. - Visa calls this the Transaction ID, Mastercard calls this the Trace - ID, and American Express calls this the Acquirer Reference Data. - - The first three digits of the Trace ID is the Financial Network - Code, the next 6 digits is the Banknet Reference Number, and the - last 4 digits represent the date (MM/DD). - - This field will be available for successful Visa, Mastercard, or - American Express transactions and always null for other card brands. + ID, and American Express calls this the Acquirer Reference Data. The + first three digits of the Trace ID is the Financial Network Code, + the next 6 digits is the Banknet Reference Number, and the last 4 + digits represent the date (MM/DD). This field will be available for + successful Visa, Mastercard, or American Express transactions and + always null for other card brands. maxLength: 5000 nullable: true type: string @@ -28734,6 +29007,9 @@ components: A collection of fields required to be displayed on receipts. Only required for EMV transactions. nullable: true + wallet: + $ref: >- + #/components/schemas/payment_flows_private_payment_methods_card_present_common_wallet required: - exp_month - exp_year @@ -28744,6 +29020,7 @@ components: x-expandableFields: - offline - receipt + - wallet payment_method_details_card_present_offline: description: '' properties: @@ -28752,6 +29029,14 @@ components: format: unix-time nullable: true type: integer + type: + description: >- + The method used to process this payment method offline. Only + deferred is allowed. + enum: + - deferred + nullable: true + type: string title: payment_method_details_card_present_offline type: object x-expandableFields: [] @@ -29357,16 +29642,13 @@ components: network_transaction_id: description: >- This is used by the financial networks to identify a transaction. - Visa calls this the Transaction ID, Mastercard calls this the Trace - ID, and American Express calls this the Acquirer Reference Data. - - The first three digits of the Trace ID is the Financial Network - Code, the next 6 digits is the Banknet Reference Number, and the - last 4 digits represent the date (MM/DD). - - This field will be available for successful Visa, Mastercard, or - American Express transactions and always null for other card brands. + ID, and American Express calls this the Acquirer Reference Data. The + first three digits of the Trace ID is the Financial Network Code, + the next 6 digits is the Banknet Reference Number, and the last 4 + digits represent the date (MM/DD). This field will be available for + successful Visa, Mastercard, or American Express transactions and + always null for other card brands. maxLength: 5000 nullable: true type: string @@ -29471,6 +29753,11 @@ components: payment_method_details_klarna: description: '' properties: + payer_details: + anyOf: + - $ref: '#/components/schemas/klarna_payer_details' + description: The payer details for this transaction. + nullable: true payment_method_category: description: >- The Klarna payment method used for this transaction. @@ -29497,7 +29784,8 @@ components: type: string title: payment_method_details_klarna type: object - x-expandableFields: [] + x-expandableFields: + - payer_details payment_method_details_konbini: description: '' properties: @@ -30421,26 +30709,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -30473,26 +30759,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -30509,26 +30793,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -30552,26 +30834,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -30579,43 +30859,6 @@ components: title: payment_method_options_amazon_pay type: object x-expandableFields: [] - payment_method_options_bacs_debit: - description: '' - properties: - setup_future_usage: - 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. - - - If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. - - - 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: - - none - - off_session - - on_session - type: string - title: payment_method_options_bacs_debit - type: object - x-expandableFields: [] payment_method_options_bancontact: description: '' properties: @@ -30635,26 +30878,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -30680,26 +30921,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -30872,26 +31111,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -30920,26 +31157,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31021,26 +31256,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31056,26 +31289,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31091,26 +31322,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31126,26 +31355,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -31182,26 +31409,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31247,26 +31472,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31282,26 +31505,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31324,26 +31545,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31361,26 +31580,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31396,26 +31613,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31454,26 +31669,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -31500,26 +31713,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31535,26 +31746,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31577,26 +31786,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -31627,26 +31834,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none - off_session @@ -31663,26 +31868,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31726,26 +31929,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -31761,26 +31962,24 @@ components: 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 + If you provide a Customer with the PaymentIntent, you can use this + parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after the + PaymentIntent is confirmed and the customer completes any required + actions. If you don't provide a Customer, you can still + [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, - then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached to the - Customer instead. + Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer instead. - 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). + When processing card payments, Stripe uses `setup_future_usage` to + help you comply with regional legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - none type: string @@ -32991,17 +33190,17 @@ components: 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, - `de_stn`, `ch_uid`, or `unknown` + `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `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`, `no_voec`, + `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`, `bh_vat`, `kz_bin`, `ng_tin`, + `om_vat`, `de_stn`, `ch_uid`, or `unknown` enum: - ad_nrt - ae_trn @@ -33035,6 +33234,7 @@ components: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -33094,8 +33294,15 @@ components: enabled: description: Indicates whether tax ID collection is enabled for the session type: boolean + required: + description: Indicates whether a tax ID is required on the payment page + enum: + - if_supported + - never + type: string required: - enabled + - required title: PaymentPagesCheckoutSessionTaxIDCollection type: object x-expandableFields: [] @@ -33671,9 +33878,12 @@ components: description: '' properties: account: - $ref: '#/components/schemas/person_additional_tos_acceptance' - required: - - account + anyOf: + - $ref: '#/components/schemas/person_additional_tos_acceptance' + description: >- + Details on the legal guardian's acceptance of the main Stripe + service agreement. + nullable: true title: PersonAdditionalTOSAcceptances type: object x-expandableFields: @@ -38119,7 +38329,7 @@ components: description: >- ID of the payment method used with this SetupIntent. If the payment method is `card_present` and isn't a digital wallet, then the - [generated_card](https://docs.corp.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) + [generated_card](https://docs.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead. nullable: true @@ -38301,6 +38511,12 @@ components: #/components/schemas/setup_intent_payment_method_options_amazon_pay - $ref: >- #/components/schemas/setup_intent_type_specific_payment_method_options_client + bacs_debit: + anyOf: + - $ref: >- + #/components/schemas/setup_intent_payment_method_options_bacs_debit + - $ref: >- + #/components/schemas/setup_intent_type_specific_payment_method_options_client card: anyOf: - $ref: '#/components/schemas/setup_intent_payment_method_options_card' @@ -38339,6 +38555,7 @@ components: x-expandableFields: - acss_debit - amazon_pay + - bacs_debit - card - card_present - link @@ -38376,6 +38593,16 @@ components: title: setup_intent_payment_method_options_amazon_pay type: object x-expandableFields: [] + setup_intent_payment_method_options_bacs_debit: + description: '' + properties: + mandate_options: + $ref: >- + #/components/schemas/setup_intent_payment_method_options_mandate_options_bacs_debit + title: setup_intent_payment_method_options_bacs_debit + type: object + x-expandableFields: + - mandate_options setup_intent_payment_method_options_card: description: '' properties: @@ -38398,6 +38625,7 @@ components: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -38571,6 +38799,12 @@ components: title: setup_intent_payment_method_options_mandate_options_acss_debit type: object x-expandableFields: [] + setup_intent_payment_method_options_mandate_options_bacs_debit: + description: '' + properties: {} + title: setup_intent_payment_method_options_mandate_options_bacs_debit + type: object + x-expandableFields: [] setup_intent_payment_method_options_mandate_options_sepa_debit: description: '' properties: {} @@ -40850,6 +41084,7 @@ components: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -42648,15 +42883,15 @@ components: `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, - `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, - `om_vat`, `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` + `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hr_oib`, + `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, + `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, + `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, + `nz_gst`, `om_vat`, `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: - ad_nrt - ae_trn @@ -42690,6 +42925,7 @@ components: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -43122,6 +43358,9 @@ components: 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). maxLength: 5000 type: string + state_sales_tax: + $ref: >- + #/components/schemas/tax_product_registrations_resource_country_options_us_state_sales_tax type: description: Type of registration in the US. enum: @@ -43139,6 +43378,7 @@ components: x-expandableFields: - local_amusement_tax - local_lease_tax + - state_sales_tax tax_product_registrations_resource_country_options_us_local_amusement_tax: description: '' properties: @@ -43169,6 +43409,41 @@ components: title: TaxProductRegistrationsResourceCountryOptionsUsLocalLeaseTax type: object x-expandableFields: [] + tax_product_registrations_resource_country_options_us_state_sales_tax: + description: '' + properties: + elections: + description: Elections for the state sales tax registration. + items: + $ref: >- + #/components/schemas/tax_product_registrations_resource_country_options_us_state_sales_tax_election + type: array + title: TaxProductRegistrationsResourceCountryOptionsUsStateSalesTax + type: object + x-expandableFields: + - elections + tax_product_registrations_resource_country_options_us_state_sales_tax_election: + description: '' + properties: + jurisdiction: + description: >- + A [FIPS + code](https://www.census.gov/library/reference/code-lists/ansi.html) + representing the local jurisdiction. + maxLength: 5000 + type: string + type: + description: The type of the election for the state sales tax registration. + enum: + - local_use_tax + - simplified_sellers_use_tax + - single_local_use_tax + type: string + required: + - type + title: TaxProductRegistrationsResourceCountryOptionsUsStateSalesTaxElection + type: object + x-expandableFields: [] tax_product_resource_customer_details: description: '' properties: @@ -43219,17 +43494,17 @@ components: 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`, `no_voec`, `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`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, - `de_stn`, `ch_uid`, or `unknown` + `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `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`, `no_voec`, + `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`, `bh_vat`, `kz_bin`, `ng_tin`, + `om_vat`, `de_stn`, `ch_uid`, or `unknown` enum: - ad_nrt - ae_trn @@ -43263,6 +43538,7 @@ components: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -44187,7 +44463,9 @@ components: maxLength: 5000 type: string status: - description: The networking status of the reader. + description: >- + The networking status of the reader. We do not recommend using this + field in flows that may block taking payments. enum: - offline - online @@ -44698,6 +44976,9 @@ components: - internal_failure - ready type: string + status_details: + $ref: >- + #/components/schemas/billing_clocks_resource_status_details_status_details required: - created - deletes_after @@ -44706,9 +44987,11 @@ components: - livemode - object - status + - status_details title: TestClock type: object - x-expandableFields: [] + x-expandableFields: + - status_details x-resourceId: test_helpers.test_clock three_d_secure_details: description: '' @@ -44879,6 +45162,54 @@ components: title: three_d_secure_usage type: object x-expandableFields: [] + thresholds_resource_alert_filter: + description: '' + properties: + customer: + anyOf: + - maxLength: 5000 + type: string + - $ref: '#/components/schemas/customer' + description: Limit the scope of the alert to this customer ID + nullable: true + x-expansionResources: + oneOf: + - $ref: '#/components/schemas/customer' + title: ThresholdsResourceAlertFilter + type: object + x-expandableFields: + - customer + thresholds_resource_usage_threshold_config: + description: >- + The usage threshold alert configuration enables setting up alerts for + when a certain usage threshold on a specific meter is crossed. + properties: + gte: + description: The value at which this alert will trigger. + type: integer + meter: + anyOf: + - maxLength: 5000 + type: string + - $ref: '#/components/schemas/billing.meter' + description: 'The [Billing Meter](/api/billing/meter) ID whose usage is monitored.' + x-expansionResources: + oneOf: + - $ref: '#/components/schemas/billing.meter' + recurrence: + description: Defines how the alert will behave. + enum: + - one_time + type: string + x-stripeBypassValidation: true + required: + - gte + - meter + - recurrence + title: ThresholdsResourceUsageThresholdConfig + type: object + x-expandableFields: + - meter token: description: >- Tokenization is the process Stripe uses to collect sensitive card or @@ -45294,8 +45625,8 @@ components: type: string - $ref: '#/components/schemas/charge' description: >- - ID of the charge or payment that was used to fund the transfer. If - null, the transfer was funded from the available balance. + ID of the charge that was used to fund the transfer. If null, the + transfer was funded from the available balance. nullable: true x-expansionResources: oneOf: @@ -45800,6 +46131,7 @@ components: - card_issuing - deposit_insurance - financial_addresses.aba + - financial_addresses.aba.forwarding - inbound_transfers.ach - intra_stripe_flows - outbound_payments.ach @@ -45865,6 +46197,7 @@ components: - card_issuing - deposit_insurance - financial_addresses.aba + - financial_addresses.aba.forwarding - inbound_transfers.ach - intra_stripe_flows - outbound_payments.ach @@ -45890,6 +46223,7 @@ components: - card_issuing - deposit_insurance - financial_addresses.aba + - financial_addresses.aba.forwarding - inbound_transfers.ach - intra_stripe_flows - outbound_payments.ach @@ -45990,11 +46324,15 @@ components: treasury.inbound_transfer: description: >- Use - [InboundTransfers](https://stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) + [InboundTransfers](https://docs.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. + + + Related guide: [Moving money with Treasury using InboundTransfer + objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) properties: amount: description: Amount (in cents) transferred. @@ -46144,8 +46482,9 @@ components: x-resourceId: treasury.inbound_transfer treasury.outbound_payment: description: >- - Use OutboundPayments to send funds to another party's external bank - account or + Use + [OutboundPayments](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) + 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). @@ -46154,6 +46493,10 @@ components: Simulate OutboundPayment state changes with the `/v1/test_helpers/treasury/outbound_payments` endpoints. These methods can only be called on test mode objects. + + + Related guide: [Moving money with Treasury using OutboundPayment + objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) properties: amount: description: Amount (in cents) transferred. @@ -46327,7 +46670,9 @@ components: x-resourceId: treasury.outbound_payment treasury.outbound_transfer: description: >- - Use OutboundTransfers to transfer funds from a + Use + [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) + 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 @@ -46339,6 +46684,10 @@ components: Simulate OutboundTransfer state changes with the `/v1/test_helpers/treasury/outbound_transfers` endpoints. These methods can only be called on test mode objects. + + + Related guide: [Moving money with Treasury using OutboundTransfer + objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) properties: amount: description: Amount (in cents) transferred. @@ -46660,6 +47009,7 @@ components: - account_closed - account_frozen - insufficient_funds + - international_transaction - other nullable: true type: string @@ -47525,11 +47875,19 @@ components: treasury_outbound_payments_resource_us_domestic_wire_tracking_details: description: '' properties: + chips: + description: >- + CHIPS System Sequence Number (SSN) of the OutboundPayment for + payments sent over the `us_domestic_wire` network. + maxLength: 5000 + nullable: true + type: string imad: description: >- IMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. maxLength: 5000 + nullable: true type: string omad: description: >- @@ -47538,8 +47896,6 @@ components: maxLength: 5000 nullable: true type: string - required: - - imad title: TreasuryOutboundPaymentsResourceUSDomesticWireTrackingDetails type: object x-expandableFields: [] @@ -47649,11 +48005,19 @@ components: treasury_outbound_transfers_resource_us_domestic_wire_tracking_details: description: '' properties: + chips: + description: >- + CHIPS System Sequence Number (SSN) of the OutboundTransfer for + transfers sent over the `us_domestic_wire` network. + maxLength: 5000 + nullable: true + type: string imad: description: >- IMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. maxLength: 5000 + nullable: true type: string omad: description: >- @@ -47662,8 +48026,6 @@ components: maxLength: 5000 nullable: true type: string - required: - - imad title: TreasuryOutboundTransfersResourceUSDomesticWireTrackingDetails type: object x-expandableFields: [] @@ -48392,8 +48754,6 @@ paths: - include - omit type: string - required: - - fields title: collection_options_params type: object expand: @@ -50123,7 +50483,7 @@ paths: balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all balances are zero.

+ href="/api/balance/balance_object">balances are zero.

If you want to delete your own account, use the - - Details on the legal guardian's acceptance of the required - Stripe agreements. + Details on the legal guardian's or authorizer's acceptance + of the required Stripe agreements. properties: account: properties: @@ -53308,8 +53668,8 @@ paths: properties: additional_tos_acceptances: description: >- - Details on the legal guardian's acceptance of the required - Stripe agreements. + Details on the legal guardian's or authorizer's acceptance + of the required Stripe agreements. properties: account: properties: @@ -53869,8 +54229,8 @@ paths: properties: additional_tos_acceptances: description: >- - Details on the legal guardian's acceptance of the required - Stripe agreements. + Details on the legal guardian's or authorizer's acceptance + of the required Stripe agreements. properties: account: properties: @@ -54400,8 +54760,8 @@ paths: properties: additional_tos_acceptances: description: >- - Details on the legal guardian's acceptance of the required - Stripe agreements. + Details on the legal guardian's or authorizer's acceptance + of the required Stripe agreements. properties: account: properties: @@ -56465,147 +56825,530 @@ paths: schema: $ref: '#/components/schemas/error' description: Error response. - /v1/billing/meter_event_adjustments: - post: - description:

Creates a billing meter event adjustment

- operationId: PostBillingMeterEventAdjustments - requestBody: - content: - application/x-www-form-urlencoded: - encoding: - cancel: - explode: true - style: deepObject - expand: - explode: true - style: deepObject - schema: - additionalProperties: false - properties: - cancel: - description: Specifies which event to cancel. - properties: - identifier: - maxLength: 100 - type: string - title: event_adjustment_cancel_settings_param - type: object - event_name: - description: >- - The name of the meter event. Corresponds with the - `event_name` field on a meter. - maxLength: 100 - type: string - expand: - description: Specifies which fields in the response should be expanded. - items: - maxLength: 5000 - type: string - type: array - type: - description: >- - Specifies whether to cancel a single event or a range of - events for a time period. Time period cancellation is not - supported yet. - enum: - - cancel - type: string - required: - - event_name - - type - type: object - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/billing.meter_event_adjustment' - description: Successful response. - default: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: Error response. - /v1/billing/meter_events: - post: - description:

Creates a billing meter event

- operationId: PostBillingMeterEvents - requestBody: - content: - application/x-www-form-urlencoded: - encoding: - expand: - explode: true - style: deepObject - payload: - explode: true - style: deepObject - schema: - additionalProperties: false - properties: - event_name: - description: >- - The name of the meter event. Corresponds with the - `event_name` field on a meter. - maxLength: 100 - type: string - expand: - description: Specifies which fields in the response should be expanded. - items: - maxLength: 5000 - type: string - type: array - identifier: - description: >- - A unique identifier for the event. If not provided, one will - be generated. We recommend using a globally unique - identifier for this. We'll enforce uniqueness within a - rolling 24 hour period. - maxLength: 100 - type: string - payload: - additionalProperties: - type: string - description: >- - The payload of the event. This must contain the fields - corresponding to a meter's - `customer_mapping.event_payload_key` (default is - `stripe_customer_id`) and `value_settings.event_payload_key` - (default is `value`). Read more about the - [payload](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides). - type: object - timestamp: - description: >- - The time of the event. Measured in seconds since the Unix - epoch. Must be within the past 35 calendar days or up to 5 - minutes in the future. Defaults to current timestamp if not - specified. - format: unix-time - type: integer - required: - - event_name - - payload - type: object - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/billing.meter_event' - description: Successful response. - default: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: Error response. - /v1/billing/meters: + /v1/billing/alerts: get: - description:

Retrieve a list of billing meters.

- operationId: GetBillingMeters + description:

Lists billing active and inactive alerts

+ operationId: GetBillingAlerts + parameters: + - description: Filter results to only include this type of alert. + in: query + name: alert_type + required: false + schema: + enum: + - usage_threshold + type: string + x-stripeBypassValidation: true + style: form + - 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. + in: query + name: ending_before + required: false + schema: + maxLength: 5000 + type: string + style: form + - description: Specifies which fields in the response should be expanded. + explode: true + in: query + name: expand + required: false + schema: + items: + maxLength: 5000 + type: string + type: array + style: deepObject + - description: >- + A limit on the number of objects to be returned. Limit can range + between 1 and 100, and the default is 10. + in: query + name: limit + required: false + schema: + type: integer + style: form + - description: Filter results to only include alerts with the given meter. + in: query + name: meter + required: false + schema: + maxLength: 5000 + type: string + 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 + 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. + in: query + name: starting_after + required: false + schema: + maxLength: 5000 + type: string + style: form + requestBody: + content: + application/x-www-form-urlencoded: + encoding: {} + schema: + additionalProperties: false + properties: {} + type: object + required: false + responses: + '200': + content: + application/json: + schema: + description: '' + properties: + data: + items: + $ref: '#/components/schemas/billing.alert' + type: array + has_more: + description: >- + True if this list has another page of items after this one + that can be fetched. + type: boolean + object: + description: >- + String representing the object's type. Objects of the same + type share the same value. Always has the value `list`. + enum: + - list + type: string + url: + description: The URL where this list can be accessed. + maxLength: 5000 + pattern: ^/v1/billing/alerts + type: string + required: + - data + - has_more + - object + - url + title: ThresholdsResourceAlertList + type: object + x-expandableFields: + - data + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + post: + description:

Creates a billing alert

+ operationId: PostBillingAlerts + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + expand: + explode: true + style: deepObject + filter: + explode: true + style: deepObject + usage_threshold_config: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + alert_type: + description: The type of alert to create. + enum: + - usage_threshold + type: string + x-stripeBypassValidation: true + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + filter: + description: Filters to limit the scope of an alert. + properties: + customer: + maxLength: 5000 + type: string + subscription: + maxLength: 5000 + type: string + subscription_item: + maxLength: 5000 + type: string + title: alert_filter + type: object + title: + description: The title of the alert. + maxLength: 256 + type: string + usage_threshold_config: + description: The configuration of the usage threshold. + properties: + gte: + type: integer + meter: + maxLength: 5000 + type: string + recurrence: + enum: + - one_time + type: string + x-stripeBypassValidation: true + required: + - gte + - recurrence + title: usage_threshold_config + type: object + required: + - alert_type + - title + type: object + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/billing.alert' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + '/v1/billing/alerts/{id}': + get: + description:

Retrieves a billing alert given an ID

+ operationId: GetBillingAlertsId + parameters: + - description: Specifies which fields in the response should be expanded. + explode: true + in: query + name: expand + required: false + schema: + items: + maxLength: 5000 + type: string + type: array + style: deepObject + - in: path + name: id + required: true + schema: + maxLength: 5000 + type: string + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + encoding: {} + schema: + additionalProperties: false + properties: {} + type: object + required: false + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/billing.alert' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + '/v1/billing/alerts/{id}/activate': + post: + description: '

Reactivates this alert, allowing it to trigger again.

' + operationId: PostBillingAlertsIdActivate + parameters: + - in: path + name: id + required: true + schema: + maxLength: 5000 + type: string + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + expand: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + type: object + required: false + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/billing.alert' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + '/v1/billing/alerts/{id}/archive': + post: + description: >- +

Archives this alert, removing it from the list view and APIs. This is + non-reversible.

+ operationId: PostBillingAlertsIdArchive + parameters: + - in: path + name: id + required: true + schema: + maxLength: 5000 + type: string + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + expand: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + type: object + required: false + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/billing.alert' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + '/v1/billing/alerts/{id}/deactivate': + post: + description: '

Deactivates this alert, preventing it from triggering.

' + operationId: PostBillingAlertsIdDeactivate + parameters: + - in: path + name: id + required: true + schema: + maxLength: 5000 + type: string + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + expand: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + type: object + required: false + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/billing.alert' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + /v1/billing/meter_event_adjustments: + post: + description:

Creates a billing meter event adjustment

+ operationId: PostBillingMeterEventAdjustments + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + cancel: + explode: true + style: deepObject + expand: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + cancel: + description: Specifies which event to cancel. + properties: + identifier: + maxLength: 100 + type: string + title: event_adjustment_cancel_settings_param + type: object + event_name: + description: >- + The name of the meter event. Corresponds with the + `event_name` field on a meter. + maxLength: 100 + type: string + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + type: + description: >- + Specifies whether to cancel a single event or a range of + events for a time period. Time period cancellation is not + supported yet. + enum: + - cancel + type: string + required: + - event_name + - type + type: object + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/billing.meter_event_adjustment' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + /v1/billing/meter_events: + post: + description:

Creates a billing meter event

+ operationId: PostBillingMeterEvents + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + expand: + explode: true + style: deepObject + payload: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + event_name: + description: >- + The name of the meter event. Corresponds with the + `event_name` field on a meter. + maxLength: 100 + type: string + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + identifier: + description: >- + A unique identifier for the event. If not provided, one will + be generated. We recommend using a globally unique + identifier for this. We'll enforce uniqueness within a + rolling 24 hour period. + maxLength: 100 + type: string + payload: + additionalProperties: + type: string + description: >- + The payload of the event. This must contain the fields + corresponding to a meter's + `customer_mapping.event_payload_key` (default is + `stripe_customer_id`) and `value_settings.event_payload_key` + (default is `value`). Read more about the + [payload](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides). + type: object + timestamp: + description: >- + The time of the event. Measured in seconds since the Unix + epoch. Must be within the past 35 calendar days or up to 5 + minutes in the future. Defaults to current timestamp if not + specified. + format: unix-time + type: integer + required: + - event_name + - payload + type: object + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/billing.meter_event' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + /v1/billing/meters: + get: + description:

Retrieve a list of billing meters.

+ operationId: GetBillingMeters parameters: - description: >- A cursor for use in pagination. `ending_before` is an object ID that @@ -58161,7 +58904,7 @@ paths: schema: type: string style: form - - description: Only return charges for this transfer group. + - description: 'Only return charges for this transfer group, limited to 100.' in: query name: transfer_group required: false @@ -58506,19 +59249,28 @@ paths: x-stripeBypassValidation: true statement_descriptor: 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. + For a non-card charge, text that appears on the customer's + statement as the statement descriptor. This value overrides + the account's default statement descriptor. For information + about requirements, including the 22-character limit, see + [the Statement Descriptor + docs](https://docs.stripe.com/get-started/account/statement-descriptors). + + + For a card charge, this value is ignored unless you don't + specify a `statement_descriptor_suffix`, in which case this + value is used as the suffix. maxLength: 22 type: string statement_descriptor_suffix: 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. + Provides information about a card charge. Concatenated to + the account's [statement descriptor + prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) + to form the complete statement descriptor that appears on + the customer's statement. If the account has no prefix + value, the suffix is concatenated to the account's statement + descriptor. maxLength: 22 type: string transfer_data: @@ -58956,19 +59708,28 @@ paths: type: string statement_descriptor: 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. + For a non-card charge, text that appears on the customer's + statement as the statement descriptor. This value overrides + the account's default statement descriptor. For information + about requirements, including the 22-character limit, see + [the Statement Descriptor + docs](https://docs.stripe.com/get-started/account/statement-descriptors). + + + For a card charge, this value is ignored unless you don't + specify a `statement_descriptor_suffix`, in which case this + value is used as the suffix. maxLength: 22 type: string statement_descriptor_suffix: 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. + Provides information about a card charge. Concatenated to + the account's [statement descriptor + prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) + to form the complete statement descriptor that appears on + the customer's statement. If the account has no prefix + value, the suffix is concatenated to the account's statement + descriptor. maxLength: 22 type: string transfer_data: @@ -60063,7 +60824,8 @@ paths: 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. + return to your website. This parameter is not allowed if + ui_mode is `embedded`. maxLength: 5000 type: string client_reference_id: @@ -61347,7 +62109,7 @@ paths: description: >- This parameter applies to `ui_mode: embedded`. Learn more about the [redirect - behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) + behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. enum: - always @@ -61874,6 +62636,11 @@ paths: properties: enabled: type: boolean + required: + enum: + - if_supported + - never + type: string required: - enabled title: tax_id_collection_params @@ -65099,6 +65866,9 @@ paths: - exclude_tax - include_inclusive_tax type: string + template: + maxLength: 5000 + type: string title: customer_rendering_options_param type: object - enum: @@ -65262,6 +66032,7 @@ paths: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -65844,6 +66615,9 @@ paths: - exclude_tax - include_inclusive_tax type: string + template: + maxLength: 5000 + type: string title: customer_rendering_options_param type: object - enum: @@ -69514,6 +70288,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -69700,7 +70475,7 @@ paths: given subscription at the specified interval. promotion_code: description: >- - The ID of a promotion code to apply to this subscription. A + The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future @@ -70597,6 +71372,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -70785,7 +71561,9 @@ paths: 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. + invoices created for that particular subscription. This + field has been deprecated and will be removed in a future + API version. Use `discounts` instead. maxLength: 5000 type: string proration_behavior: @@ -71132,14 +71910,14 @@ paths: `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, - `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, - `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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` + `ge_vat`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, + `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, + `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, + `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, + `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: - ad_nrt - ae_trn @@ -71173,6 +71951,7 @@ paths: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -72832,8 +73611,8 @@ paths: 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 + `issuing_regulatory_reporting`, `pci_document`, `selfie`, + `sigma_scheduled_query`, `tax_document_user_upload`, or `terminal_reader_splashscreen`. maxLength: 5000 type: string @@ -73072,6 +73851,7 @@ paths: - finance_report_run - identity_document - identity_document_downloadable + - issuing_regulatory_reporting - pci_document - selfie - sigma_scheduled_query @@ -73219,6 +73999,7 @@ paths: - customer_signature - dispute_evidence - identity_document + - issuing_regulatory_reporting - pci_document - tax_document_user_upload - terminal_reader_splashscreen @@ -74725,6 +75506,13 @@ paths: schema: type: integer style: form + - in: query + name: related_customer + required: false + schema: + maxLength: 5000 + type: string + 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 @@ -74906,6 +75694,10 @@ paths: type: string title: provided_details_param type: object + related_customer: + description: Token referencing a Customer resource. + maxLength: 5000 + type: string return_url: description: >- The URL that the user will be redirected to upon completing @@ -75158,7 +75950,311 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/identity.verification_session' + $ref: '#/components/schemas/identity.verification_session' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + '/v1/identity/verification_sessions/{session}/redact': + post: + 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.

+ operationId: PostIdentityVerificationSessionsSessionRedact + parameters: + - in: path + name: session + required: true + schema: + maxLength: 5000 + type: string + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + expand: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + type: object + required: false + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/identity.verification_session' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + /v1/invoice_rendering_templates: + get: + description: >- +

List all templates, ordered by creation date, with the most recently + created template appearing first.

+ operationId: GetInvoiceRenderingTemplates + parameters: + - 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. + in: query + name: ending_before + required: false + schema: + maxLength: 5000 + type: string + style: form + - description: Specifies which fields in the response should be expanded. + explode: true + in: query + name: expand + required: false + schema: + items: + maxLength: 5000 + type: string + type: array + style: deepObject + - description: >- + A limit on the number of objects to be returned. Limit can range + between 1 and 100, and the default is 10. + in: query + name: limit + required: false + schema: + type: integer + 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 + 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. + in: query + name: starting_after + required: false + schema: + maxLength: 5000 + type: string + style: form + - in: query + name: status + required: false + schema: + enum: + - active + - archived + type: string + style: form + requestBody: + content: + application/x-www-form-urlencoded: + encoding: {} + schema: + additionalProperties: false + properties: {} + type: object + required: false + responses: + '200': + content: + application/json: + schema: + description: '' + properties: + data: + description: Details about each object. + items: + $ref: '#/components/schemas/invoice_rendering_template' + type: array + has_more: + description: >- + True if this list has another page of items after this one + that can be fetched. + type: boolean + object: + description: >- + String representing the object's type. Objects of the same + type share the same value. Always has the value `list`. + enum: + - list + type: string + url: + description: The URL where this list can be accessed. + maxLength: 5000 + type: string + required: + - data + - has_more + - object + - url + title: InvoiceRenderingTemplatesList + type: object + x-expandableFields: + - data + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + '/v1/invoice_rendering_templates/{template}': + get: + description: >- +

Retrieves an invoice rendering template with the given ID. It by + default returns the latest version of the template. Optionally, specify + a version to see previous versions.

+ operationId: GetInvoiceRenderingTemplatesTemplate + parameters: + - description: Specifies which fields in the response should be expanded. + explode: true + in: query + name: expand + required: false + schema: + items: + maxLength: 5000 + type: string + type: array + style: deepObject + - in: path + name: template + required: true + schema: + maxLength: 5000 + type: string + style: simple + - in: query + name: version + required: false + schema: + type: integer + style: form + requestBody: + content: + application/x-www-form-urlencoded: + encoding: {} + schema: + additionalProperties: false + properties: {} + type: object + required: false + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/invoice_rendering_template' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. + '/v1/invoice_rendering_templates/{template}/archive': + post: + description: >- +

Updates the status of an invoice rendering template to ‘archived’ so + no new Stripe objects (customers, invoices, etc.) can reference it. The + template can also no longer be updated. However, if the template is + already set on a Stripe object, it will continue to be applied on + invoices generated by it.

+ operationId: PostInvoiceRenderingTemplatesTemplateArchive + parameters: + - in: path + name: template + required: true + schema: + maxLength: 5000 + type: string + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + expand: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + type: object + required: false + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/invoice_rendering_template' description: Successful response. default: content: @@ -75166,57 +76262,15 @@ paths: schema: $ref: '#/components/schemas/error' description: Error response. - '/v1/identity/verification_sessions/{session}/redact': + '/v1/invoice_rendering_templates/{template}/unarchive': post: 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.

- operationId: PostIdentityVerificationSessionsSessionRedact +

Unarchive an invoice rendering template so it can be used on new + Stripe objects again.

+ operationId: PostInvoiceRenderingTemplatesTemplateUnarchive parameters: - in: path - name: session + name: template required: true schema: maxLength: 5000 @@ -75245,7 +76299,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/identity.verification_session' + $ref: '#/components/schemas/invoice_rendering_template' description: Successful response. default: content: @@ -76563,8 +77617,6 @@ paths: type: string x-stripeBypassValidation: true required: - - count - - interval - type title: installment_plan type: object @@ -76750,6 +77802,15 @@ paths: type: string title: rendering_pdf_param type: object + template: + maxLength: 5000 + type: string + template_version: + anyOf: + - type: integer + - enum: + - '' + type: string title: rendering_param type: object shipping_cost: @@ -77175,6 +78236,7 @@ paths: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -77264,7 +78326,7 @@ paths: invoice_items: description: >- List of invoice items to add or update in the upcoming - invoice preview. + invoice preview (up to 250). items: properties: amount: @@ -78295,6 +79357,7 @@ paths: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -78393,7 +79456,7 @@ paths: style: deepObject - description: >- List of invoice items to add or update in the upcoming invoice - preview. + preview (up to 250). explode: true in: query name: invoice_items @@ -79603,6 +80666,7 @@ paths: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -79714,7 +80778,7 @@ paths: style: deepObject - description: >- List of invoice items to add or update in the upcoming invoice - preview. + preview (up to 250). explode: true in: query name: invoice_items @@ -81265,8 +82329,6 @@ paths: type: string x-stripeBypassValidation: true required: - - count - - interval - type title: installment_plan type: object @@ -81443,6 +82505,15 @@ paths: type: string title: rendering_pdf_param type: object + template: + maxLength: 5000 + type: string + template_version: + anyOf: + - type: integer + - enum: + - '' + type: string title: rendering_param type: object shipping_cost: @@ -90746,6 +91817,7 @@ paths: - capture - refund type: string + x-stripeBypassValidation: true style: form requestBody: content: @@ -91842,7 +92914,7 @@ paths: Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. maxLength: 5000 @@ -92582,6 +93654,10 @@ paths: bacs_debit: anyOf: - properties: + mandate_options: + properties: {} + title: payment_method_options_mandate_options_param + type: object setup_future_usage: enum: - '' @@ -92589,7 +93665,7 @@ paths: - off_session - on_session type: string - title: payment_method_options_param + title: payment_intent_payment_method_options_param type: object - enum: - '' @@ -92679,8 +93755,6 @@ paths: type: string x-stripeBypassValidation: true required: - - count - - interval - type title: installment_plan type: object @@ -92741,6 +93815,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -93578,28 +94653,26 @@ paths: 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. + If you provide a Customer with the PaymentIntent, you can + use this parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after + the PaymentIntent is confirmed and the customer completes + any required actions. If you don't provide a Customer, you + can still [attach](/api/payment_methods/attach) the payment + method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital - wallet, then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached - to the Customer instead. + wallet, Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer + instead. - 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). + When processing card payments, Stripe uses + `setup_future_usage` to help you comply with regional + legislation and network rules, such as + [SCA](/strong-customer-authentication). enum: - off_session - on_session @@ -93648,21 +94721,27 @@ paths: type: object statement_descriptor: description: >- - For card charges, use - [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). - Otherwise, you can use this value as the complete - description of a charge on your customers' statements. It - must contain at least one letter and be 1–22 characters - long. + Text that appears on the customer's statement as the + statement descriptor for a non-card charge. This value + overrides the account's default statement descriptor. For + information about requirements, including the 22-character + limit, see [the Statement Descriptor + docs](https://docs.stripe.com/get-started/account/statement-descriptors). + + + Setting this value for a card charge returns an error. For + card charges, set the + [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) + instead. maxLength: 22 type: string statement_descriptor_suffix: 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. + Provides information about a card charge. Concatenated to + the account's [statement descriptor + prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) + to form the complete statement descriptor that appears on + the customer's statement. maxLength: 22 type: string transfer_data: @@ -94015,7 +95094,7 @@ paths: Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. maxLength: 5000 @@ -94669,6 +95748,10 @@ paths: bacs_debit: anyOf: - properties: + mandate_options: + properties: {} + title: payment_method_options_mandate_options_param + type: object setup_future_usage: enum: - '' @@ -94676,7 +95759,7 @@ paths: - off_session - on_session type: string - title: payment_method_options_param + title: payment_intent_payment_method_options_param type: object - enum: - '' @@ -94766,8 +95849,6 @@ paths: type: string x-stripeBypassValidation: true required: - - count - - interval - type title: installment_plan type: object @@ -94828,6 +95909,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -95650,31 +96732,29 @@ paths: 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. + If you provide a Customer with the PaymentIntent, you can + use this parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after + the PaymentIntent is confirmed and the customer completes + any required actions. If you don't provide a Customer, you + can still [attach](/api/payment_methods/attach) the payment + method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital - wallet, then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached - to the Customer instead. + wallet, Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer + instead. - 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). + When processing card payments, Stripe uses + `setup_future_usage` to help you comply with regional + legislation and network rules, such as + [SCA](/strong-customer-authentication). - If `setup_future_usage` is already set and you are + If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. enum: @@ -95730,21 +96810,27 @@ paths: description: Shipping information for this PaymentIntent. statement_descriptor: description: >- - For card charges, use - [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). - Otherwise, you can use this value as the complete - description of a charge on your customers' statements. It - must contain at least one letter and be 1–22 characters - long. + Text that appears on the customer's statement as the + statement descriptor for a non-card charge. This value + overrides the account's default statement descriptor. For + information about requirements, including the 22-character + limit, see [the Statement Descriptor + docs](https://docs.stripe.com/get-started/account/statement-descriptors). + + + Setting this value for a card charge returns an error. For + card charges, set the + [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) + instead. maxLength: 22 type: string statement_descriptor_suffix: 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. + Provides information about a card charge. Concatenated to + the account's [statement descriptor + prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) + to form the complete statement descriptor that appears on + the customer's statement. maxLength: 22 type: string transfer_data: @@ -96013,21 +97099,27 @@ paths: value to `metadata`. statement_descriptor: description: >- - For card charges, use - [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). - Otherwise, you can use this value as the complete - description of a charge on your customers' statements. It - must contain at least one letter and be 1–22 characters - long. + Text that appears on the customer's statement as the + statement descriptor for a non-card charge. This value + overrides the account's default statement descriptor. For + information about requirements, including the 22-character + limit, see [the Statement Descriptor + docs](https://docs.stripe.com/get-started/account/statement-descriptors). + + + Setting this value for a card charge returns an error. For + card charges, set the + [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) + instead. maxLength: 22 type: string statement_descriptor_suffix: 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. + Provides information about a card charge. Concatenated to + the account's [statement descriptor + prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) + to form the complete statement descriptor that appears on + the customer's statement. maxLength: 22 type: string transfer_data: @@ -96114,7 +97206,14 @@ paths: explicitly re-confirm the PaymentIntent to initiate the next payment - attempt.

+ attempt. + + There is a variable upper limit on how many times a PaymentIntent can be + confirmed. + + After this limit is reached, any further calls to this endpoint will + + transition the PaymentIntent to the canceled state.

operationId: PostPaymentIntentsIntentConfirm parameters: - in: path @@ -96897,6 +97996,10 @@ paths: bacs_debit: anyOf: - properties: + mandate_options: + properties: {} + title: payment_method_options_mandate_options_param + type: object setup_future_usage: enum: - '' @@ -96904,7 +98007,7 @@ paths: - off_session - on_session type: string - title: payment_method_options_param + title: payment_intent_payment_method_options_param type: object - enum: - '' @@ -96994,8 +98097,6 @@ paths: type: string x-stripeBypassValidation: true required: - - count - - interval - type title: installment_plan type: object @@ -97056,6 +98157,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -97900,31 +99002,29 @@ paths: 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. + If you provide a Customer with the PaymentIntent, you can + use this parameter to [attach the payment + method](/payments/save-during-payment) to the Customer after + the PaymentIntent is confirmed and the customer completes + any required actions. If you don't provide a Customer, you + can still [attach](/api/payment_methods/attach) the payment + method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital - wallet, then a - [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) - payment method representing the card is created and attached - to the Customer instead. + wallet, Stripe creates and attaches a + [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) + payment method representing the card to the Customer + instead. - 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). + When processing card payments, Stripe uses + `setup_future_usage` to help you comply with regional + legislation and network rules, such as + [SCA](/strong-customer-authentication). - If `setup_future_usage` is already set and you are + If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. enum: @@ -98121,12 +99221,12 @@ paths: type: object statement_descriptor: description: >- - For card charges, use - [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). - Otherwise, you can use this value as the complete - description of a charge on your customers' statements. It - must contain at least one letter and be 1–22 characters - long. + Text that appears on the customer's statement as the + statement descriptor for a non-card or card charge. This + value overrides the account's default statement descriptor. + For information about requirements, including the + 22-character limit, see [the Statement Descriptor + docs](https://docs.stripe.com/get-started/account/statement-descriptors). maxLength: 22 type: string transfer_data: @@ -99259,6 +100359,11 @@ paths: properties: enabled: type: boolean + required: + enum: + - if_supported + - never + type: string required: - enabled title: tax_id_collection_params @@ -100205,6 +101310,11 @@ paths: properties: enabled: type: boolean + required: + enum: + - if_supported + - never + type: string required: - enabled title: tax_id_collection_params @@ -108011,9 +109121,7 @@ paths: - enum: - '' type: string - description: >- - The discounts applied to the quote. You can only set up to - one discount. + description: The discounts applied to the quote. expand: description: Specifies which fields in the response should be expanded. items: @@ -108480,9 +109588,7 @@ paths: - enum: - '' type: string - description: >- - The discounts applied to the quote. You can only set up to - one discount. + description: The discounts applied to the quote. expand: description: Specifies which fields in the response should be expanded. items: @@ -109081,7 +110187,7 @@ paths: description: >-

Download the PDF for a finalized quote. Explanation for special handling can be found here

+ href="https://docs.stripe.com/quotes/overview#quote_pdf">here

operationId: GetQuotesQuotePdf parameters: - description: Specifies which fields in the response should be expanded. @@ -112668,6 +113774,14 @@ paths: properties: {} title: setup_intent_payment_method_options_param type: object + bacs_debit: + properties: + mandate_options: + properties: {} + title: payment_method_options_mandate_options_param + type: object + title: setup_intent_payment_method_options_param + type: object card: properties: mandate_options: @@ -112725,6 +113839,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -113664,6 +114779,14 @@ paths: properties: {} title: setup_intent_payment_method_options_param type: object + bacs_debit: + properties: + mandate_options: + properties: {} + title: payment_method_options_mandate_options_param + type: object + title: setup_intent_payment_method_options_param + type: object card: properties: mandate_options: @@ -113721,6 +114844,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -114654,6 +115778,14 @@ paths: properties: {} title: setup_intent_payment_method_options_param type: object + bacs_debit: + properties: + mandate_options: + properties: {} + title: payment_method_options_mandate_options_param + type: object + title: setup_intent_payment_method_options_param + type: object card: properties: mandate_options: @@ -114711,6 +115843,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -118960,7 +120093,10 @@ paths: type: object - type: integer style: deepObject - - explode: true + - description: >- + Only return subscriptions whose current_period_end falls within the + given date interval. + explode: true in: query name: current_period_end required: false @@ -118979,7 +120115,10 @@ paths: type: object - type: integer style: deepObject - - explode: true + - description: >- + Only return subscriptions whose current_period_start falls within + the given date interval. + explode: true in: query name: current_period_start required: false @@ -119799,6 +120938,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -119985,7 +121125,7 @@ paths: given subscription at the specified interval. promotion_code: description: >- - The ID of a promotion code to apply to this subscription. A + The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future @@ -121092,6 +122232,7 @@ paths: - diners - discover - eftpos_au + - girocard - interac - jcb - mastercard @@ -121280,7 +122421,9 @@ paths: 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. + invoices created for that particular subscription. This + field has been deprecated and will be removed in a future + API version. Use `discounts` instead. maxLength: 5000 type: string proration_behavior: @@ -121643,6 +122786,7 @@ paths: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -121830,6 +122974,53 @@ paths: schema: $ref: '#/components/schemas/error' description: Error response. + '/v1/tax/calculations/{calculation}': + get: + description: >- +

Retrieves a Tax Calculation object, if the calculation + hasn’t expired.

+ operationId: GetTaxCalculationsCalculation + parameters: + - in: path + name: calculation + required: true + schema: + maxLength: 5000 + type: string + style: simple + - description: Specifies which fields in the response should be expanded. + explode: true + in: query + name: expand + required: false + schema: + items: + maxLength: 5000 + type: string + type: array + style: deepObject + requestBody: + content: + application/x-www-form-urlencoded: + encoding: {} + schema: + additionalProperties: false + properties: {} + type: object + required: false + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/tax.calculation' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. '/v1/tax/calculations/{calculation}/line_items': get: description: >- @@ -123044,6 +124235,29 @@ paths: state: maxLength: 5000 type: string + state_sales_tax: + properties: + elections: + items: + properties: + jurisdiction: + maxLength: 5000 + type: string + type: + enum: + - local_use_tax + - simplified_sellers_use_tax + - single_local_use_tax + type: string + required: + - type + title: state_sales_tax_election + type: object + type: array + required: + - elections + title: state_sales_tax + type: object type: enum: - local_amusement_tax @@ -124063,14 +125277,14 @@ paths: `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `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`, - `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, - `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `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` + `ge_vat`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, + `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, + `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, + `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, + `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: - ad_nrt - ae_trn @@ -124104,6 +125318,7 @@ paths: - gb_vat - ge_vat - hk_br + - hr_oib - hu_tin - id_npwp - il_vat @@ -125753,10 +126968,10 @@ paths: description: >- The ID of a configuration that will be used to customize all readers in this location. - maxLength: 1000 + maxLength: 500 type: string display_name: - description: A name for the location. + description: A name for the location. Maximum length is 1000 characters. maxLength: 1000 type: string expand: @@ -126527,7 +127742,6 @@ paths: maxLength: 5000 type: string required: - - customer_consent_collected - setup_intent type: object required: true @@ -128885,6 +130099,86 @@ paths: schema: $ref: '#/components/schemas/error' description: Error response. + /v1/test_helpers/issuing/settlements: + post: + description:

Allows the user to create an Issuing settlement.

+ operationId: PostTestHelpersIssuingSettlements + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + expand: + explode: true + style: deepObject + schema: + additionalProperties: false + properties: + bin: + description: >- + The Bank Identification Number reflecting this settlement + record. + maxLength: 5000 + type: string + clearing_date: + description: >- + The date that the transactions are cleared and posted to + user's accounts. + type: integer + currency: + 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). + type: string + expand: + description: Specifies which fields in the response should be expanded. + items: + maxLength: 5000 + type: string + type: array + interchange_fees: + description: >- + The total interchange received as reimbursement for the + transactions. + type: integer + net_total: + description: The total net amount required to settle with the network. + type: integer + network_settlement_identifier: + description: >- + The Settlement Identification Number assigned by the + network. + maxLength: 5000 + type: string + transaction_count: + description: >- + The total number of transactions reflected in this + settlement. + type: integer + transaction_volume: + description: The total transaction amount reflected in this settlement. + type: integer + required: + - bin + - clearing_date + - currency + - net_total + type: object + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/issuing.settlement' + description: Successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/error' + description: Error response. /v1/test_helpers/issuing/transactions/create_force_capture: post: description: >- @@ -130699,6 +131993,9 @@ paths: type: string us_domestic_wire: properties: + chips: + maxLength: 5000 + type: string imad: maxLength: 5000 type: string @@ -130940,6 +132237,9 @@ paths: type: string us_domestic_wire: properties: + chips: + maxLength: 5000 + type: string imad: maxLength: 5000 type: string @@ -132840,8 +134140,10 @@ paths: type: integer currency: description: >- - 3-letter [ISO code for - currency](https://stripe.com/docs/payouts). + Three-letter [ISO code for + currency](https://www.iso.org/iso-4217-currency-codes.html) + in lowercase. Must be a [supported + currency](https://docs.stripe.com/currencies). type: string description: description: >- diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index f5d54845f..73cafa4c7 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -60,7 +60,7 @@ "typescript": "^5.x" }, "dependencies": { - "@redocly/openapi-core": "^1.16.0", + "@redocly/openapi-core": "^1.25.3", "ansi-colors": "^4.1.3", "change-case": "^5.4.4", "parse-json": "^8.1.0", @@ -75,7 +75,7 @@ "esbuild": "^0.20.2", "execa": "^8.0.1", "strip-ansi": "^7.1.0", - "typescript": "^5.5.4", - "vite-node": "^2.0.5" + "typescript": "^5.6.2", + "vite-node": "^2.1.1" } } diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts index e476552a6..b0ff0c8f3 100644 --- a/packages/openapi-typescript/test/node-api.test.ts +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -902,7 +902,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: { timeout: 3_000 }, + ci: { timeout: 30_000 }, }, ], [ diff --git a/packages/openapi-typescript/vitest.config.ts b/packages/openapi-typescript/vitest.config.ts index 7c558a030..2e20c2d14 100644 --- a/packages/openapi-typescript/vitest.config.ts +++ b/packages/openapi-typescript/vitest.config.ts @@ -2,6 +2,7 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { + environment: "node", clearMocks: true, globals: true, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e24438cdc..89f197c5e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,23 +9,23 @@ importers: .: devDependencies: '@biomejs/biome': - specifier: ^1.8.3 - version: 1.8.3 + specifier: ^1.9.2 + version: 1.9.2 '@changesets/changelog-github': specifier: ^0.5.0 version: 0.5.0 '@changesets/cli': - specifier: ^2.27.7 - version: 2.27.7 + specifier: ^2.27.8 + version: 2.27.8 '@playwright/test': - specifier: ^1.46.1 - version: 1.46.1 + specifier: ^1.47.1 + version: 1.47.1 '@size-limit/preset-small-lib': - specifier: ^11.1.4 - version: 11.1.4(size-limit@11.1.4) + specifier: ^11.1.5 + version: 11.1.5(size-limit@11.1.5) '@types/node': - specifier: ^22.5.2 - version: 22.5.2 + specifier: ^22.5.5 + version: 22.5.5 del-cli: specifier: ^5.1.0 version: 5.1.0 @@ -33,20 +33,20 @@ importers: specifier: ^3.3.3 version: 3.3.3 size-limit: - specifier: ^11.1.4 - version: 11.1.4 + specifier: ^11.1.5 + version: 11.1.5 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 vitest: - specifier: ^2.0.5 - version: 2.0.5(@types/node@22.5.2)(jsdom@20.0.3) + specifier: ^2.1.1 + version: 2.1.1(@types/node@22.5.5)(jsdom@20.0.3)(msw@2.4.1(graphql@16.8.2)(typescript@5.6.2)) docs: devDependencies: vitepress: specifier: 1.3.2 - version: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.5.2)(@types/react@18.3.3)(axios@1.7.7)(postcss@8.4.44)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)(typescript@5.5.4) + version: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.5.5)(@types/react@18.3.8)(axios@1.7.7)(postcss@8.4.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)(typescript@5.6.2) packages/openapi-fetch: dependencies: @@ -82,17 +82,17 @@ importers: specifier: ^10.1.0 version: 10.1.0 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 vite: - specifier: ^5.4.2 - version: 5.4.2(@types/node@22.5.2) + specifier: ^5.4.6 + version: 5.4.6(@types/node@22.5.5) packages/openapi-fetch/examples/nextjs: dependencies: next: specifier: 14.2.3 - version: 14.2.3(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.3(@playwright/test@1.47.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) openapi-fetch: specifier: workspace:^ version: link:../.. @@ -104,8 +104,8 @@ importers: version: 18.3.1(react@18.3.1) devDependencies: '@types/react': - specifier: ^18.3.3 - version: 18.3.3 + specifier: ^18.3.8 + version: 18.3.8 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -119,8 +119,8 @@ importers: packages/openapi-fetch/examples/react-query: dependencies: '@tanstack/react-query': - specifier: ^5.53.3 - version: 5.53.3(react@18.3.1) + specifier: ^5.56.2 + version: 5.56.2(react@18.3.1) openapi-fetch: specifier: workspace:^ version: link:../.. @@ -142,13 +142,13 @@ importers: version: 18.3.0 '@vitejs/plugin-react-swc': specifier: ^3.7.0 - version: 3.7.0(@swc/helpers@0.5.5)(vite@5.4.3(@types/node@22.5.2)) + version: 3.7.0(@swc/helpers@0.5.5)(vite@5.4.6(@types/node@22.5.5)) typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 vite: - specifier: ^5.4.3 - version: 5.4.3(@types/node@22.5.2) + specifier: ^5.4.6 + version: 5.4.6(@types/node@22.5.5) packages/openapi-fetch/examples/sveltekit: dependencies: @@ -157,14 +157,14 @@ importers: version: link:../.. devDependencies: '@sveltejs/adapter-auto': - specifier: ^3.2.4 - version: 3.2.4(@sveltejs/kit@2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2))) + specifier: ^3.2.5 + version: 3.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)))(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5))) '@sveltejs/kit': - specifier: ^2.5.25 - version: 2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) + specifier: ^2.5.28 + version: 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)))(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)) '@sveltejs/vite-plugin-svelte': specifier: ^3.1.2 - version: 3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) + version: 3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)) openapi-typescript: specifier: workspace:^ version: link:../../../openapi-typescript @@ -173,16 +173,16 @@ importers: version: 4.2.19 svelte-check: specifier: ^3.8.6 - version: 3.8.6(@babel/core@7.25.2)(postcss@8.4.44)(svelte@4.2.19) + version: 3.8.6(@babel/core@7.25.2)(postcss@8.4.47)(svelte@4.2.19) tslib: specifier: ^2.7.0 version: 2.7.0 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 vite: - specifier: ^5.4.3 - version: 5.4.3(@types/node@22.5.2) + specifier: ^5.4.6 + version: 5.4.6(@types/node@22.5.5) packages/openapi-fetch/examples/vue-3: dependencies: @@ -190,15 +190,15 @@ importers: specifier: workspace:^ version: link:../.. vue: - specifier: ^3.5.0 - version: 3.5.0(typescript@5.5.4) + specifier: ^3.5.6 + version: 3.5.6(typescript@5.6.2) devDependencies: '@tsconfig/node20': specifier: ^20.1.4 version: 20.1.4 '@vitejs/plugin-vue': - specifier: ^5.1.3 - version: 5.1.3(vite@5.4.3(@types/node@22.5.2))(vue@3.5.0(typescript@5.5.4)) + specifier: ^5.1.4 + version: 5.1.4(vite@5.4.6(@types/node@22.5.5))(vue@3.5.6(typescript@5.6.2)) '@vue/tsconfig': specifier: ^0.5.1 version: 0.5.1 @@ -206,23 +206,20 @@ importers: specifier: workspace:^ version: link:../../../openapi-typescript typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 vite: - specifier: ^5.4.3 - version: 5.4.3(@types/node@22.5.2) + specifier: ^5.4.6 + version: 5.4.6(@types/node@22.5.5) vue-tsc: - specifier: ^2.1.4 - version: 2.1.4(typescript@5.5.4) + specifier: ^2.1.6 + version: 2.1.6(typescript@5.6.2) packages/openapi-react-query: dependencies: '@tanstack/react-query': specifier: ^5.0.0 version: 5.53.3(react@18.3.1) - openapi-fetch: - specifier: workspace:^ - version: link:../openapi-fetch openapi-typescript-helpers: specifier: workspace:^ version: link:../openapi-typescript-helpers @@ -235,7 +232,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.1(vite@5.4.3(@types/node@22.5.2)) + version: 4.3.1(vite@5.4.6(@types/node@22.5.5)) del-cli: specifier: ^5.1.0 version: 5.1.0 @@ -247,7 +244,10 @@ importers: version: 8.0.1 msw: specifier: ^2.4.1 - version: 2.4.1(graphql@16.8.2)(typescript@5.5.4) + version: 2.4.1(graphql@16.8.2)(typescript@5.6.2) + openapi-fetch: + specifier: workspace:^ + version: link:../openapi-fetch openapi-typescript: specifier: workspace:^ version: link:../openapi-typescript @@ -261,8 +261,8 @@ importers: packages/openapi-typescript: dependencies: '@redocly/openapi-core': - specifier: ^1.16.0 - version: 1.16.0(supports-color@9.4.0) + specifier: ^1.25.3 + version: 1.25.3(supports-color@9.4.0) ansi-colors: specifier: ^4.1.3 version: 4.1.3 @@ -301,11 +301,11 @@ importers: specifier: ^7.1.0 version: 7.1.0 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 vite-node: - specifier: ^2.0.5 - version: 2.0.5(@types/node@22.5.2)(supports-color@9.4.0) + specifier: ^2.1.1 + version: 2.1.1(@types/node@22.5.5)(supports-color@9.4.0) packages/openapi-typescript-helpers: devDependencies: @@ -478,55 +478,55 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@biomejs/biome@1.8.3': - resolution: {integrity: sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==} + '@biomejs/biome@1.9.2': + resolution: {integrity: sha512-4j2Gfwft8Jqp1X0qLYvK4TEy4xhTo4o6rlvJPsjPeEame8gsmbGQfOPBkw7ur+7/Z/f0HZmCZKqbMvR7vTXQYQ==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.8.3': - resolution: {integrity: sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==} + '@biomejs/cli-darwin-arm64@1.9.2': + resolution: {integrity: sha512-rbs9uJHFmhqB3Td0Ro+1wmeZOHhAPTL3WHr8NtaVczUmDhXkRDWScaxicG9+vhSLj1iLrW47itiK6xiIJy6vaA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.8.3': - resolution: {integrity: sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==} + '@biomejs/cli-darwin-x64@1.9.2': + resolution: {integrity: sha512-BlfULKijNaMigQ9GH9fqJVt+3JTDOSiZeWOQtG/1S1sa8Lp046JHG3wRJVOvekTPL9q/CNFW1NVG8J0JN+L1OA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.8.3': - resolution: {integrity: sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==} + '@biomejs/cli-linux-arm64-musl@1.9.2': + resolution: {integrity: sha512-ZATvbUWhNxegSALUnCKWqetTZqrK72r2RsFD19OK5jXDj/7o1hzI1KzDNG78LloZxftrwr3uI9SqCLh06shSZw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.8.3': - resolution: {integrity: sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==} + '@biomejs/cli-linux-arm64@1.9.2': + resolution: {integrity: sha512-T8TJuSxuBDeQCQzxZu2o3OU4eyLumTofhCxxFd3+aH2AEWVMnH7Z/c3QP1lHI5RRMBP9xIJeMORqDQ5j+gVZzw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.8.3': - resolution: {integrity: sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==} + '@biomejs/cli-linux-x64-musl@1.9.2': + resolution: {integrity: sha512-CjPM6jT1miV5pry9C7qv8YJk0FIZvZd86QRD3atvDgfgeh9WQU0k2Aoo0xUcPdTnoz0WNwRtDicHxwik63MmSg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.8.3': - resolution: {integrity: sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==} + '@biomejs/cli-linux-x64@1.9.2': + resolution: {integrity: sha512-T0cPk3C3Jr2pVlsuQVTBqk2qPjTm8cYcTD9p/wmR9MeVqui1C/xTVfOIwd3miRODFMrJaVQ8MYSXnVIhV9jTjg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.8.3': - resolution: {integrity: sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==} + '@biomejs/cli-win32-arm64@1.9.2': + resolution: {integrity: sha512-2x7gSty75bNIeD23ZRPXyox6Z/V0M71ObeJtvQBhi1fgrvPdtkEuw7/0wEHg6buNCubzOFuN9WYJm6FKoUHfhg==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.8.3': - resolution: {integrity: sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==} + '@biomejs/cli-win32-x64@1.9.2': + resolution: {integrity: sha512-JC3XvdYcjmu1FmAehVwVV0SebLpeNTnO2ZaMdGCSOdS7f8O9Fq14T2P1gTG1Q29Q8Dt1S03hh0IdVpIZykOL8g==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -546,11 +546,11 @@ packages: '@bundled-es-modules/tough-cookie@0.1.6': resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} - '@changesets/apply-release-plan@7.0.4': - resolution: {integrity: sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==} + '@changesets/apply-release-plan@7.0.5': + resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} - '@changesets/assemble-release-plan@6.0.3': - resolution: {integrity: sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==} + '@changesets/assemble-release-plan@6.0.4': + resolution: {integrity: sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} @@ -558,45 +558,45 @@ packages: '@changesets/changelog-github@0.5.0': resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} - '@changesets/cli@2.27.7': - resolution: {integrity: sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==} + '@changesets/cli@2.27.8': + resolution: {integrity: sha512-gZNyh+LdSsI82wBSHLQ3QN5J30P4uHKJ4fXgoGwQxfXwYFTJzDdvIJasZn8rYQtmKhyQuiBj4SSnLuKlxKWq4w==} hasBin: true - '@changesets/config@3.0.2': - resolution: {integrity: sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==} + '@changesets/config@3.0.3': + resolution: {integrity: sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.1': - resolution: {integrity: sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==} + '@changesets/get-dependents-graph@2.1.2': + resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} '@changesets/get-github-info@0.6.0': resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} - '@changesets/get-release-plan@4.0.3': - resolution: {integrity: sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==} + '@changesets/get-release-plan@4.0.4': + resolution: {integrity: sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.0': - resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + '@changesets/git@3.0.1': + resolution: {integrity: sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==} - '@changesets/logger@0.1.0': - resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} '@changesets/parse@0.4.0': resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} - '@changesets/pre@2.0.0': - resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + '@changesets/pre@2.0.1': + resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} - '@changesets/read@0.6.0': - resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + '@changesets/read@0.6.1': + resolution: {integrity: sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==} - '@changesets/should-skip-package@0.1.0': - resolution: {integrity: sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==} + '@changesets/should-skip-package@0.1.1': + resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} @@ -604,8 +604,8 @@ packages: '@changesets/types@6.0.0': resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/write@0.3.1': - resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} + '@changesets/write@0.3.2': + resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} '@docsearch/css@3.6.1': resolution: {integrity: sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==} @@ -1175,138 +1175,146 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} - '@playwright/test@1.46.1': - resolution: {integrity: sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==} + '@playwright/test@1.47.1': + resolution: {integrity: sha512-dbWpcNQZ5nj16m+A5UNScYx7HX5trIy7g4phrcitn+Nk83S32EBX/CLU4hiF4RGKX/yRc93AAqtfaXB7JWBd4Q==} engines: {node: '>=18'} hasBin: true - '@polka/url@1.0.0-next.25': - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} - '@redocly/ajv@8.11.0': - resolution: {integrity: sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==} + '@redocly/ajv@8.11.2': + resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} - '@redocly/config@0.6.0': - resolution: {integrity: sha512-hNVN3eTxFj2nHYX0gGzZxxXwdE0DXWeWou1TIK3HYf0S9VKVxTxjO9EZbMB7iVUqaHkeqy4PSjlBQcEgD0Ftjg==} + '@redocly/config@0.11.0': + resolution: {integrity: sha512-vAc77vCuWsVgLx2LN02P6jqLBhHuot6O1LsSJEAAkWEvXARSGSQVon50QW7jlbCMg9OFTYYYRPN4W6K/YmnM3w==} - '@redocly/openapi-core@1.16.0': - resolution: {integrity: sha512-z06h+svyqbUcdAaePq8LPSwTPlm6Ig7j2VlL8skPBYnJvyaQ2IN7x/JkOvRL4ta+wcOCBdAex5JWnZbKaNktJg==} + '@redocly/openapi-core@1.25.3': + resolution: {integrity: sha512-dqJkyydgagW3FXX5cjtSUAnabsld4K6yq7RFgQ+ngI1m43PkEoSQt8pp+SfQDszSEoMbc7QKj8afbe7mZw17TA==} engines: {node: '>=14.19.0', npm: '>=7.0.0'} - '@rollup/rollup-android-arm-eabi@4.21.2': - resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + '@rollup/rollup-android-arm-eabi@4.22.2': + resolution: {integrity: sha512-8Ao+EDmTPjZ1ZBABc1ohN7Ylx7UIYcjReZinigedTOnGFhIctyGPxY2II+hJ6gD2/vkDKZTyQ0e7++kwv6wDrw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.2': - resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} + '@rollup/rollup-android-arm64@4.22.2': + resolution: {integrity: sha512-I+B1v0a4iqdS9DvYt1RJZ3W+Oh9EVWjbY6gp79aAYipIbxSLEoQtFQlZEnUuwhDXCqMxJ3hluxKAdPD+GiluFQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.2': - resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} + '@rollup/rollup-darwin-arm64@4.22.2': + resolution: {integrity: sha512-BTHO7rR+LC67OP7I8N8GvdvnQqzFujJYWo7qCQ8fGdQcb8Gn6EQY+K1P+daQLnDCuWKbZ+gHAQZuKiQkXkqIYg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.2': - resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} + '@rollup/rollup-darwin-x64@4.22.2': + resolution: {integrity: sha512-1esGwDNFe2lov4I6GsEeYaAMHwkqk0IbuGH7gXGdBmd/EP9QddJJvTtTF/jv+7R8ZTYPqwcdLpMTxK8ytP6k6Q==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': - resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + '@rollup/rollup-linux-arm-gnueabihf@4.22.2': + resolution: {integrity: sha512-GBHuY07x96OTEM3OQLNaUSUwrOhdMea/LDmlFHi/HMonrgF6jcFrrFFwJhhe84XtA1oK/Qh4yFS+VMREf6dobg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.2': - resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} + '@rollup/rollup-linux-arm-musleabihf@4.22.2': + resolution: {integrity: sha512-Dbfa9Sc1G1lWxop0gNguXOfGhaXQWAGhZUcqA0Vs6CnJq8JW/YOw/KvyGtQFmz4yDr0H4v9X248SM7bizYj4yQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.2': - resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + '@rollup/rollup-linux-arm64-gnu@4.22.2': + resolution: {integrity: sha512-Z1YpgBvFYhZIyBW5BoopwSg+t7yqEhs5HCei4JbsaXnhz/eZehT18DaXl957aaE9QK7TRGFryCAtStZywcQe1A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.2': - resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} + '@rollup/rollup-linux-arm64-musl@4.22.2': + resolution: {integrity: sha512-66Zszr7i/JaQ0u/lefcfaAw16wh3oT72vSqubIMQqWzOg85bGCPhoeykG/cC5uvMzH80DQa2L539IqKht6twVA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': - resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.22.2': + resolution: {integrity: sha512-HpJCMnlMTfEhwo19bajvdraQMcAq3FX08QDx3OfQgb+414xZhKNf3jNvLFYKbbDSGBBrQh5yNwWZrdK0g0pokg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.2': - resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} + '@rollup/rollup-linux-riscv64-gnu@4.22.2': + resolution: {integrity: sha512-/egzQzbOSRef2vYCINKITGrlwkzP7uXRnL+xU2j75kDVp3iPdcF0TIlfwTRF8woBZllhk3QaxNOEj2Ogh3t9hg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.2': - resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} + '@rollup/rollup-linux-s390x-gnu@4.22.2': + resolution: {integrity: sha512-qgYbOEbrPfEkH/OnUJd1/q4s89FvNJQIUldx8X2F/UM5sEbtkqZpf2s0yly2jSCKr1zUUOY1hnTP2J1WOzMAdA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.2': - resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} + '@rollup/rollup-linux-x64-gnu@4.22.2': + resolution: {integrity: sha512-a0lkvNhFLhf+w7A95XeBqGQaG0KfS3hPFJnz1uraSdUe/XImkp/Psq0Ca0/UdD5IEAGoENVmnYrzSC9Y2a2uKQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.2': - resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + '@rollup/rollup-linux-x64-musl@4.22.2': + resolution: {integrity: sha512-sSWBVZgzwtsuG9Dxi9kjYOUu/wKW+jrbzj4Cclabqnfkot8Z3VEHcIgyenA3lLn/Fu11uDviWjhctulkhEO60g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.2': - resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} + '@rollup/rollup-win32-arm64-msvc@4.22.2': + resolution: {integrity: sha512-t/YgCbZ638R/r7IKb9yCM6nAek1RUvyNdfU0SHMDLOf6GFe/VG1wdiUAsxTWHKqjyzkRGg897ZfCpdo1bsCSsA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.2': - resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} + '@rollup/rollup-win32-ia32-msvc@4.22.2': + resolution: {integrity: sha512-kTmX5uGs3WYOA+gYDgI6ITkZng9SP71FEMoHNkn+cnmb9Zuyyay8pf0oO5twtTwSjNGy1jlaWooTIr+Dw4tIbw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.2': - resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} + '@rollup/rollup-win32-x64-msvc@4.22.2': + resolution: {integrity: sha512-Yy8So+SoRz8I3NS4Bjh91BICPOSVgdompTIPYTByUqU66AXSIOgmW3Lv1ke3NORPqxdF+RdrZET+8vYai6f4aA==} cpu: [x64] os: [win32] - '@shikijs/core@1.12.1': - resolution: {integrity: sha512-biCz/mnkMktImI6hMfMX3H9kOeqsInxWEyCHbSlL8C/2TR1FqfmGxTLRNwYCKsyCyxWLbB8rEqXRVZuyxuLFmA==} + '@shikijs/core@1.18.0': + resolution: {integrity: sha512-VK4BNVCd2leY62Nm2JjyxtRLkyrZT/tv104O81eyaCjHq4Adceq2uJVFJJAIof6lT1mBwZrEo2qT/T+grv3MQQ==} - '@shikijs/transformers@1.12.1': - resolution: {integrity: sha512-zOpj/S2thBvnJV4Ty3EE8aRs/VqCbV+lgtEYeBRkPxTW22uLADEIZq0qjt5W2Rfy2KSu29e73nRyzp4PefjUTg==} + '@shikijs/engine-javascript@1.18.0': + resolution: {integrity: sha512-qoP/aO/ATNwYAUw1YMdaip/YVEstMZEgrwhePm83Ll9OeQPuxDZd48szZR8oSQNQBT8m8UlWxZv8EA3lFuyI5A==} - '@sindresorhus/merge-streams@2.3.0': - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} + '@shikijs/engine-oniguruma@1.18.0': + resolution: {integrity: sha512-B9u0ZKI/cud+TcmF8Chyh+R4V5qQVvyDOqXC2l2a4x73PBSBc6sZ0JRAX3eqyJswqir6ktwApUUGBYePdKnMJg==} + + '@shikijs/transformers@1.18.0': + resolution: {integrity: sha512-EdX/UIVaaS8qp9NWRyHIXp2dmuLpdVvx+UVpbIn9eafFlLemAuljPb2+K40ie6jrlg0uUIqkg25CM/8I34yBNw==} + + '@shikijs/types@1.18.0': + resolution: {integrity: sha512-O9N36UEaGGrxv1yUrN2nye7gDLG5Uq0/c1LyfmxsvzNPqlHzWo9DI0A4+fhW2y3bGKuQu/fwS7EPdKJJCowcVA==} + + '@shikijs/vscode-textmate@9.2.2': + resolution: {integrity: sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==} - '@size-limit/esbuild@11.1.4': - resolution: {integrity: sha512-Nxh+Fw4Z7sFjRLeT7GDZIy297VXyJrMvG20UDSWP31QgglriEBDkW9U77T7W6js5FaEr89bYVrGzpHfmE1CLFw==} + '@size-limit/esbuild@11.1.5': + resolution: {integrity: sha512-AywMXRGzJmgAXb8bPAHjK+zxPwuPmIazL2BKDT3zp//8Fb3B/8ld1D4yXMYro4QgJEp47W2KZAZdM5RGrc6Z/A==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - size-limit: 11.1.4 + size-limit: 11.1.5 - '@size-limit/file@11.1.4': - resolution: {integrity: sha512-QxnGj9cxhCEuqMAV01gqonXIKcc+caZqFHZpV51oL2ZJNGSPP9Q/yyf+7HbVe00faOFd1dZZwMwzZmX7HQ9LbA==} + '@size-limit/file@11.1.5': + resolution: {integrity: sha512-oz/XBVUJh95GpzDb9/f4sEQD/ACJ9zEKSRgBtvMUTN0c+O/9uq+RzvFeXFN2Kjpx3Dmur1ta+oZsp3zQFxlb3Q==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - size-limit: 11.1.4 + size-limit: 11.1.5 - '@size-limit/preset-small-lib@11.1.4': - resolution: {integrity: sha512-wELW374esv+2Nlzf7g+qW4Af9L69duLoO9F52f0sGk/nzb6et7u8gLRvweWrBfm3itUrqHCpGSSVabTsIU8kNw==} + '@size-limit/preset-small-lib@11.1.5': + resolution: {integrity: sha512-++IMlbAQpCFQp8UN9XHrcZ3SHY+u/ZzxSUA8zIHXDjZJdkb9WIW12CJXwJADj8tMRgWHWC4ixbi1DdnHYJ3ZpA==} peerDependencies: - size-limit: 11.1.4 + size-limit: 11.1.5 - '@sveltejs/adapter-auto@3.2.4': - resolution: {integrity: sha512-a64AKYbfTUrVwU0xslzv1Jf3M8bj0IwhptaXmhgIkjXspBXhD0od9JiItQHchijpLMGdEDcYBlvqySkEawv6mQ==} + '@sveltejs/adapter-auto@3.2.5': + resolution: {integrity: sha512-27LR+uKccZ62lgq4N/hvyU2G+hTP9fxWEAfnZcl70HnyfAjMSsGk1z/SjAPXNCD1mVJIE7IFu3TQ8cQ/UH3c0A==} peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.5.25': - resolution: {integrity: sha512-5hBSEN8XEjDZ5+2bHkFh8Z0QyOk0C187cyb12aANe1c8aeKbfu5ZD5XaC2vEH4h0alJFDXPdUkXQBmeeXeMr1A==} + '@sveltejs/kit@2.5.28': + resolution: {integrity: sha512-/O7pvFGBsQPcFa9UrW8eUC5uHTOXLsUp3SN0dY6YmRAL9nfPSrJsSJk//j5vMpinSshzUjteAFcfQTU+04Ka1w==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -1329,68 +1337,68 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 - '@swc/core-darwin-arm64@1.7.23': - resolution: {integrity: sha512-yyOHPfti6yKlQulfVWMt7BVKst+SyEZYCWuQSGMn1KgmNCH/bYufRWfQXIhkGSj44ZkEepJmsJ8tDyIb4k5WyA==} + '@swc/core-darwin-arm64@1.7.26': + resolution: {integrity: sha512-FF3CRYTg6a7ZVW4yT9mesxoVVZTrcSWtmZhxKCYJX9brH4CS/7PRPjAKNk6kzWgWuRoglP7hkjQcd6EpMcZEAw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.7.23': - resolution: {integrity: sha512-GzqHwQ0Y1VyjdI/bBKFX2GKm5HD3PIB6OhuAQtWZMTtEr2yIrlT0YK2T+XKh7oIg31JwxGBeQdBk3KTI7DARmQ==} + '@swc/core-darwin-x64@1.7.26': + resolution: {integrity: sha512-az3cibZdsay2HNKmc4bjf62QVukuiMRh5sfM5kHR/JMTrLyS6vSw7Ihs3UTkZjUxkLTT8ro54LI6sV6sUQUbLQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.7.23': - resolution: {integrity: sha512-qwX4gB41OS6/OZkHcpTqLFGsdmvoZyffnJIlgB/kZKwH3lfeJWzv6vx57zXtNpM/t7GoQEe0VZUVdmNjxSxBZw==} + '@swc/core-linux-arm-gnueabihf@1.7.26': + resolution: {integrity: sha512-VYPFVJDO5zT5U3RpCdHE5v1gz4mmR8BfHecUZTmD2v1JeFY6fv9KArJUpjrHEEsjK/ucXkQFmJ0jaiWXmpOV9Q==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.7.23': - resolution: {integrity: sha512-TsrbUZdMaUwzI7+g/8rHPLWbntMKYSu5Bn5IBSqVKPeyqaXxNnlIUnWXgXcUcRAc+T+Y8ADfr7EiFz9iz5DuSA==} + '@swc/core-linux-arm64-gnu@1.7.26': + resolution: {integrity: sha512-YKevOV7abpjcAzXrhsl+W48Z9mZvgoVs2eP5nY+uoMAdP2b3GxC0Df1Co0I90o2lkzO4jYBpTMcZlmUXLdXn+Q==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.7.23': - resolution: {integrity: sha512-JEdtwdthazKq4PBz53KSubwwK8MvqODAihGSAzc8u3Unq4ojcvaS8b0CwLBeD+kTQ78HpxOXTt3DsFIxpgaCAA==} + '@swc/core-linux-arm64-musl@1.7.26': + resolution: {integrity: sha512-3w8iZICMkQQON0uIcvz7+Q1MPOW6hJ4O5ETjA0LSP/tuKqx30hIniCGOgPDnv3UTMruLUnQbtBwVCZTBKR3Rkg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.7.23': - resolution: {integrity: sha512-V51gFPWaVAHbI1yg9ahsoya3aB4uawye3SZ5uQWgcP7wdCdiv60dw4F5nuPJf5Z1oXD3U/BslXuamv8Oh9vXqQ==} + '@swc/core-linux-x64-gnu@1.7.26': + resolution: {integrity: sha512-c+pp9Zkk2lqb06bNGkR2Looxrs7FtGDMA4/aHjZcCqATgp348hOKH5WPvNLBl+yPrISuWjbKDVn3NgAvfvpH4w==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.7.23': - resolution: {integrity: sha512-BBqQi4+UdeRqag3yM4IJjaHG4yc1o3l9ksENHToE0o/u2DT0FY5+K/DiYGZLC1JHbSFzNqRCYsa7DIzRtZ0A1A==} + '@swc/core-linux-x64-musl@1.7.26': + resolution: {integrity: sha512-PgtyfHBF6xG87dUSSdTJHwZ3/8vWZfNIXQV2GlwEpslrOkGqy+WaiiyE7Of7z9AvDILfBBBcJvJ/r8u980wAfQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.7.23': - resolution: {integrity: sha512-JPk6pvCKncL6bXG7p+NLZf8PWx4FakVvKNdwGeMrYunb+yk1IZf7qf9LJk8+GDGF5QviDXPs8opZrTrfsW80fA==} + '@swc/core-win32-arm64-msvc@1.7.26': + resolution: {integrity: sha512-9TNXPIJqFynlAOrRD6tUQjMq7KApSklK3R/tXgIxc7Qx+lWu8hlDQ/kVPLpU7PWvMMwC/3hKBW+p5f+Tms1hmA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.7.23': - resolution: {integrity: sha512-2Whxi8d+bLQBzJcQ5qYPHlk02YYVGsMVav0fWk+FnX2z1QRREIu1L1xvrpi7gBpjXp6BIU40ya8GiKeekNT2bg==} + '@swc/core-win32-ia32-msvc@1.7.26': + resolution: {integrity: sha512-9YngxNcG3177GYdsTum4V98Re+TlCeJEP4kEwEg9EagT5s3YejYdKwVAkAsJszzkXuyRDdnHUpYbTrPG6FiXrQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.7.23': - resolution: {integrity: sha512-82fARk4/yJ40kwWKY/gdKDisPdtgJE9jgpl/vkNG3alyJxrCzuNM7+CtiKoYbXLeqM8GQTS3wlvCaJu9oQ8dag==} + '@swc/core-win32-x64-msvc@1.7.26': + resolution: {integrity: sha512-VR+hzg9XqucgLjXxA13MtV5O3C0bK0ywtLIBw/+a+O+Oc6mxFWHtdUeXDbIi5AiPbn0fjgVJMqYnyjGyyX8u0w==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.7.23': - resolution: {integrity: sha512-VDNkpDvDlreGh2E3tlDj8B3piiuLhhQA/7rIVZpiLUvG1YpucAa6N7iDXA7Gc/+Hah8spaCg/qvEaBkCmcIYCQ==} + '@swc/core@1.7.26': + resolution: {integrity: sha512-f5uYFf+TmMQyYIoxkn/evWhNGuUzC730dFwAKGwBVHHVoPyak1/GvJUm6i1SKl+2Hrj9oN0i3WSoWWZ4pgI8lw==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -1410,11 +1418,19 @@ packages: '@tanstack/query-core@5.53.3': resolution: {integrity: sha512-ZfjAgd7NpqDx0e4aYBt7EmS2enbulPrJwowTy+mayRE93WUUH+sIYHun1TdRjpGwDPMNNZ5D6goh7n3CwoO+HA==} + '@tanstack/query-core@5.56.2': + resolution: {integrity: sha512-gor0RI3/R5rVV3gXfddh1MM+hgl0Z4G7tj6Xxpq6p2I03NGPaJ8dITY9Gz05zYYb/EJq9vPas/T4wn9EaDPd4Q==} + '@tanstack/react-query@5.53.3': resolution: {integrity: sha512-286mN/91CeM7vC6CZFLKYDHSw+WyMX6ekIvzoTbpM4xyPb99VSyCKPLyPgaOatKqYm6ooMBquSq9NGRdKgsJfg==} peerDependencies: react: ^18 || ^19 + '@tanstack/react-query@5.56.2': + resolution: {integrity: sha512-SR0GzHVo6yzhN72pnRhkEFRAHMsUo5ZPzAxfTMvUxFIDVS6W9LYUp6nXW3fcHVdg0ZJl8opSH85jqahvm6DSVg==} + peerDependencies: + react: ^18 || ^19 + '@testing-library/dom@10.1.0': resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} engines: {node: '>=18'} @@ -1465,6 +1481,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -1480,6 +1499,9 @@ packages: '@types/markdown-it@14.1.2': resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} @@ -1492,17 +1514,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.16.3': - resolution: {integrity: sha512-/wdGiWRkMOm53gAsSyFMXFZHbVg7C6CbkrzHNpaHoYfsUWPg7m6ZRKtvQjgvQ9i8WT540a3ydRlRQbxjY30XxQ==} - - '@types/node@22.5.2': - resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} + '@types/node@22.5.5': + resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/prop-types@15.7.12': - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} '@types/pug@2.0.10': resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} @@ -1513,8 +1532,8 @@ packages: '@types/react@18.3.1': resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} - '@types/react@18.3.3': - resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} + '@types/react@18.3.8': + resolution: {integrity: sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -1525,8 +1544,8 @@ packages: '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - '@types/unist@3.0.2': - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} @@ -1534,6 +1553,9 @@ packages: '@types/wrap-ansi@3.0.0': resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@vitejs/plugin-react-swc@3.7.0': resolution: {integrity: sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==} peerDependencies: @@ -1545,91 +1567,100 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@vitejs/plugin-vue@5.1.3': - resolution: {integrity: sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==} + '@vitejs/plugin-vue@5.1.4': + resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 - '@vitest/expect@2.0.5': - resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + '@vitest/expect@2.1.1': + resolution: {integrity: sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==} + + '@vitest/mocker@2.1.1': + resolution: {integrity: sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==} + peerDependencies: + '@vitest/spy': 2.1.1 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true - '@vitest/pretty-format@2.0.5': - resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + '@vitest/pretty-format@2.1.1': + resolution: {integrity: sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==} - '@vitest/runner@2.0.5': - resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} + '@vitest/runner@2.1.1': + resolution: {integrity: sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==} - '@vitest/snapshot@2.0.5': - resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} + '@vitest/snapshot@2.1.1': + resolution: {integrity: sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==} - '@vitest/spy@2.0.5': - resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + '@vitest/spy@2.1.1': + resolution: {integrity: sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==} - '@vitest/utils@2.0.5': - resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + '@vitest/utils@2.1.1': + resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} - '@volar/language-core@2.4.1': - resolution: {integrity: sha512-9AKhC7Qn2mQYxj7Dz3bVxeOk7gGJladhWixUYKef/o0o7Bm4an+A3XvmcTHVqZ8stE6lBVH++g050tBtJ4TZPQ==} + '@volar/language-core@2.4.5': + resolution: {integrity: sha512-F4tA0DCO5Q1F5mScHmca0umsi2ufKULAnMOVBfMsZdT4myhVl4WdKRwCaKcfOkIEuyrAVvtq1ESBdZ+rSyLVww==} - '@volar/source-map@2.4.1': - resolution: {integrity: sha512-Xq6ep3OZg9xUqN90jEgB9ztX5SsTz1yiV8wiQbcYNjWkek+Ie3dc8l7AVt3EhDm9mSIR58oWczHkzM2H6HIsmQ==} + '@volar/source-map@2.4.5': + resolution: {integrity: sha512-varwD7RaKE2J/Z+Zu6j3mNNJbNT394qIxXwdvz/4ao/vxOfyClZpSDtLKkwWmecinkOVos5+PWkWraelfMLfpw==} - '@volar/typescript@2.4.1': - resolution: {integrity: sha512-UoRzC0PXcwajFQTu8XxKSYNsWNBtVja6Y9gC8eLv7kYm+UEKJCcZ8g7dialsOYA0HKs3Vpg57MeCsawFLC6m9Q==} + '@volar/typescript@2.4.5': + resolution: {integrity: sha512-mcT1mHvLljAEtHviVcBuOyAwwMKz1ibXTi5uYtP/pf4XxoAzpdkQ+Br2IC0NPCvLCbjPZmbf3I0udndkfB1CDg==} - '@vue/compiler-core@3.5.0': - resolution: {integrity: sha512-ja7cpqAOfw4tyFAxgBz70Z42miNDeaqTxExTsnXDLomRpqfyCgyvZvFp482fmsElpfvsoMJUsvzULhvxUTW6Iw==} + '@vue/compiler-core@3.5.6': + resolution: {integrity: sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==} - '@vue/compiler-dom@3.5.0': - resolution: {integrity: sha512-xYjUybWZXl+1R/toDy815i4PbeehL2hThiSGkcpmIOCy2HoYyeeC/gAWK/Y/xsoK+GSw198/T5O31bYuQx5uvQ==} + '@vue/compiler-dom@3.5.6': + resolution: {integrity: sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==} - '@vue/compiler-sfc@3.5.0': - resolution: {integrity: sha512-B9DgLtrqok2GLuaFjLlSL15ZG3ZDBiitUH1ecex9guh/ZcA5MCdwuVE6nsfQxktuZY/QY0awJ35/ripIviCQTQ==} + '@vue/compiler-sfc@3.5.6': + resolution: {integrity: sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==} - '@vue/compiler-ssr@3.5.0': - resolution: {integrity: sha512-E263QZmA1dqRd7c3u/sWTLRMpQOT0aZ8av/L9SoD/v/BVMZaWFHPUUBswS+bzrfvG2suJF8vSLKx6k6ba5SUdA==} + '@vue/compiler-ssr@3.5.6': + resolution: {integrity: sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - '@vue/devtools-api@7.3.7': - resolution: {integrity: sha512-kvjQ6nmsqTp7SrmpwI2G0MgbC4ys0bPsgQirHXJM8y1m7siQ5RnWQUHJVfyUrHNguCySW1cevAdIw87zrPTl9g==} + '@vue/devtools-api@7.4.5': + resolution: {integrity: sha512-PX9uXirHOY2P99kb1cP3DxWZojFW3acNMqd+l4i5nKcqY59trXTOfwDZXt2Qifu0OU1izAQb76Ur6NPVldF2KQ==} - '@vue/devtools-kit@7.3.7': - resolution: {integrity: sha512-ktHhhjI4CoUrwdSUF5b/MFfjrtAtK8r4vhOkFyRN5Yp9kdXTwsRBYcwarHuP+wFPKf4/KM7DVBj2ELO8SBwdsw==} + '@vue/devtools-kit@7.4.5': + resolution: {integrity: sha512-Uuki4Z6Bc/ExvtlPkeDNGSAe4580R+HPcVABfTE9TF7BTz3Nntk7vxIRUyWblZkUEcB/x+wn2uofyt5i2LaUew==} - '@vue/devtools-shared@7.3.7': - resolution: {integrity: sha512-M9EU1/bWi5GNS/+IZrAhwGOVZmUTN4MH22Hvh35nUZZg9AZP2R2OhfCb+MG4EtAsrUEYlu3R43/SIj3G7EZYtQ==} + '@vue/devtools-shared@7.4.5': + resolution: {integrity: sha512-2XgUOkL/7QDmyYI9J7cm+rz/qBhcGv+W5+i1fhwdQ0HQ1RowhdK66F0QBuJSz/5k12opJY8eN6m03/XZMs7imQ==} - '@vue/language-core@2.1.4': - resolution: {integrity: sha512-i8pfAgNjTNjabBX1xRsuV6aRw2E8bdQXwd5H8m3cUkTVJju3QN5nfdoXET0uK+yXsuloNJPzo6PXFujRRPNmMA==} + '@vue/language-core@2.1.6': + resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/reactivity@3.5.0': - resolution: {integrity: sha512-Ew3F5riP3B3ZDGjD3ZKb9uZylTTPSqt8hAf4sGbvbjrjDjrFb3Jm15Tk1/w7WwTE5GbQ2Qhwxx1moc9hr8A/OQ==} + '@vue/reactivity@3.5.6': + resolution: {integrity: sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==} - '@vue/runtime-core@3.5.0': - resolution: {integrity: sha512-mQyW0F9FaNRdt8ghkAs+BMG3iQ7LGgWKOpkzUzR5AI5swPNydHGL5hvVTqFaeMzwecF1g0c86H4yFQsSxJhH1w==} + '@vue/runtime-core@3.5.6': + resolution: {integrity: sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==} - '@vue/runtime-dom@3.5.0': - resolution: {integrity: sha512-NQQXjpdXgyYVJ2M56FJ+lSJgZiecgQ2HhxhnQBN95FymXegRNY/N2htI7vOTwpP75pfxhIeYOJ8mE8sW8KAW6A==} + '@vue/runtime-dom@3.5.6': + resolution: {integrity: sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==} - '@vue/server-renderer@3.5.0': - resolution: {integrity: sha512-HyDIFUg+l7L4PKrEnJlCYWHUOlm6NxZhmSxIefZ5MTYjkIPfDfkwhX7hqxAQHfgIAE1uLMLQZwuNR/ozI0NhZg==} + '@vue/server-renderer@3.5.6': + resolution: {integrity: sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==} peerDependencies: - vue: 3.5.0 + vue: 3.5.6 - '@vue/shared@3.4.37': - resolution: {integrity: sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==} - - '@vue/shared@3.5.0': - resolution: {integrity: sha512-m9IgiteBpCkFaMNwCOBkFksA7z8QiKc30ooRuoXWUFRDu0mGyNPlFHmbncF0/Kra1RlX8QrmBbRaIxVvikaR0Q==} + '@vue/shared@3.5.6': + resolution: {integrity: sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==} '@vue/tsconfig@0.5.1': resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==} @@ -1691,8 +1722,8 @@ packages: acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} acorn@8.12.1: @@ -1727,8 +1758,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -1756,6 +1787,10 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.1: + resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==} + engines: {node: '>= 0.4'} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -1841,11 +1876,11 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001646: - resolution: {integrity: sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw==} + caniuse-lite@1.0.30001662: + resolution: {integrity: sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==} - caniuse-lite@1.0.30001655: - resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} @@ -1862,6 +1897,12 @@ packages: change-case@5.4.4: resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -1919,6 +1960,9 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -1984,17 +2028,8 @@ packages: de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2058,6 +2093,9 @@ packages: devalue@5.0.0: resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dezalgo@1.0.4: resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} @@ -2183,6 +2221,14 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fdir@6.3.0: + resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + feature-fetch@0.0.15: resolution: {integrity: sha512-fScwADZ5pZ5aXGTd4U+LUX1BQMNISIJHHEXZnAn0mDPDyhrGztXyU/A5EhnPNGXS9ajVxli99/YO3Vkvy/5Stg==} @@ -2198,14 +2244,11 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + focus-trap@7.6.0: + resolution: {integrity: sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ==} - focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} - - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -2290,10 +2333,6 @@ packages: resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - globby@14.0.2: - resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} - engines: {node: '>=18'} - globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -2339,6 +2378,12 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hast-util-to-html@9.0.3: + resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -2361,6 +2406,9 @@ packages: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -2369,8 +2417,8 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + https-proxy-agent@7.0.5: + resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} human-id@1.0.2: @@ -2550,10 +2598,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} @@ -2606,6 +2650,9 @@ packages: mark.js@8.11.1: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} @@ -2624,6 +2671,21 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -2685,8 +2747,8 @@ packages: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} msw@2.4.1: resolution: {integrity: sha512-HXcoQPzYTwEmVk+BGIcRa0vLabBT+J20SSSeYh/QfajaK5ceA6dlD4ZZjfz2dqGEq4vRNCPLP6eXsB94KllPFg==} @@ -2780,6 +2842,9 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + oniguruma-to-js@0.4.3: + resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} + openapi-typescript-codegen@0.25.0: resolution: {integrity: sha512-nN/TnIcGbP58qYgwEEy5FrAAjePcYgfMaCe3tsmYyTgI3v4RR9v8os14L+LEWDvV50+CmqiyTzRkKKtJeb6Ybg==} hasBin: true @@ -2830,6 +2895,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-manager-detector@0.2.0: + resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -2867,10 +2935,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -2884,9 +2948,6 @@ packages: periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - picocolors@1.1.0: resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} @@ -2894,21 +2955,21 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - playwright-core@1.46.1: - resolution: {integrity: sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==} + playwright-core@1.47.1: + resolution: {integrity: sha512-i1iyJdLftqtt51mEk6AhYFaAJCDx0xQ/O5NU8EKaWFgMjItPVma542Nh/Aq8aLCjIJSzjaiEQGW/nyqLkGF1OQ==} engines: {node: '>=18'} hasBin: true - playwright@1.46.1: - resolution: {integrity: sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==} + playwright@1.47.1: + resolution: {integrity: sha512-SUEKi6947IqYbKxRiqnbUobVZY4bF1uu+ZnZNJX9DfU1tlf2UhWfvVjLf01pQx9URsOr18bFVUKXmanYWhbfkw==} engines: {node: '>=18'} hasBin: true @@ -2920,16 +2981,12 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.44: - resolution: {integrity: sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} - preact@10.23.1: - resolution: {integrity: sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A==} - - preferred-pm@3.1.4: - resolution: {integrity: sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==} - engines: {node: '>=10'} + preact@10.24.0: + resolution: {integrity: sha512-aK8Cf+jkfyuZ0ZZRG9FbYqwmEiGQ4y/PUO4SuTWoyWL244nZZh7bd5h2APd4rSNDYTBNghg1L+5iJN3Skxtbsw==} prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} @@ -2945,6 +3002,9 @@ packages: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -3016,6 +3076,9 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regex@4.3.2: + resolution: {integrity: sha512-kK/AA3A9K6q2js89+VMymcboLOlF5lZRCYJv3gzszXFHBr6kO6qLGzbm+UIugBEV8SMMKCTR59txoY6ctRHYVw==} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3048,8 +3111,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rollup@4.21.2: - resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} + rollup@4.22.2: + resolution: {integrity: sha512-JWWpTrZmqQGQWt16xvNn6KVIUz16VtZwl984TKw0dfqqRpFwtLJYYk1/4BTgplndMQKWUk/yB4uOShYmMzA2Vg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3108,8 +3171,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.12.1: - resolution: {integrity: sha512-nwmjbHKnOYYAe1aaQyEBHvQymJgfm86ZSS7fT8OaPRr4sbAcBNz7PbfAikMEFSDQ6se2j2zobkXvVKcBOm0ysg==} + shiki@1.18.0: + resolution: {integrity: sha512-8jo7tOXr96h9PBQmOHVrltnETn1honZZY76YA79MHheGQg55jBvbm9dtU+MI5pjC5NJCFuA6rvVTLVeSW5cE4A==} side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} @@ -3129,8 +3192,8 @@ packages: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} - size-limit@11.1.4: - resolution: {integrity: sha512-V2JAI/Z7h8sEuxU3V+Ig3XKA5FcYbI4CZ7sh6s7wvuy+TUwDZYqw7sAqrHhQ4cgcNfPKIAHAaH8VaqOdbcwJDA==} + size-limit@11.1.5: + resolution: {integrity: sha512-dtw/Tcm+9aonYySPG6wQCe1BwogK5HRGSrSqr0zXGfKtynJGvKAsyHCTGxdphFEHjHRoHFWua3D3zqYLUVVIig==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3142,22 +3205,21 @@ packages: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - sorcery@0.11.1: resolution: {integrity: sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==} hasBin: true - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spawndamnit@2.0.0: resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} @@ -3201,6 +3263,9 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3327,6 +3392,13 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinyexec@0.3.0: + resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + + tinyglobby@0.2.6: + resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==} + engines: {node: '>=12.0.0'} + tinypool@1.0.1: resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -3335,8 +3407,8 @@ packages: resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinyspy@3.0.0: - resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} tmp@0.0.33: @@ -3366,6 +3438,9 @@ packages: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + trim-newlines@4.1.1: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} @@ -3384,14 +3459,14 @@ packages: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} - type-fest@4.20.1: - resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==} - engines: {node: '>=16'} - type-fest@4.26.0: resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} engines: {node: '>=16'} + type-fest@4.26.1: + resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} + engines: {node: '>=16'} + typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} @@ -3402,6 +3477,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + engines: {node: '>=14.17'} + hasBin: true + uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -3410,9 +3490,20 @@ packages: undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} @@ -3432,8 +3523,8 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js-replace@1.0.1: + resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==} url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} @@ -3441,44 +3532,19 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vite-node@2.0.5: - resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite@5.4.2: - resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} + vite-node@2.1.1: + resolution: {integrity: sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - vite@5.4.3: - resolution: {integrity: sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==} + vite@5.4.6: + resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3528,15 +3594,15 @@ packages: postcss: optional: true - vitest@2.0.5: - resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} + vitest@2.1.1: + resolution: {integrity: sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.0.5 - '@vitest/ui': 2.0.5 + '@vitest/browser': 2.1.1 + '@vitest/ui': 2.1.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3567,14 +3633,14 @@ packages: '@vue/composition-api': optional: true - vue-tsc@2.1.4: - resolution: {integrity: sha512-XTzMXQcsixAvNbpou/9qngEsZawaiJRZH3Ja+lfgRfv2A1TJv9vnZ/Kyv7XxPqv/TaZVFSnjGpM87VbWIg6yQg==} + vue-tsc@2.1.6: + resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==} hasBin: true peerDependencies: typescript: '>=5.0.0' - vue@3.5.0: - resolution: {integrity: sha512-1t70favYoFijwfWJ7g81aTd32obGaAnKYE9FNyMgnEzn3F4YncRi/kqAHHKloG0VXTD8vBYMhbgLKCA+Sk6QDw==} + vue@3.5.6: + resolution: {integrity: sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3607,10 +3673,6 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-pm@2.2.0: - resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} - engines: {node: '>=8.15'} - which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -3694,6 +3756,9 @@ packages: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.13.0)': @@ -3815,7 +3880,7 @@ snapshots: '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + picocolors: 1.1.0 '@babel/compat-data@7.25.4': {} @@ -3832,7 +3897,7 @@ snapshots: '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 convert-source-map: 2.0.0 - debug: 4.3.6(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -3896,7 +3961,7 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.0 '@babel/parser@7.25.6': dependencies: @@ -3929,7 +3994,7 @@ snapshots: '@babel/parser': 7.25.6 '@babel/template': 7.25.0 '@babel/types': 7.25.6 - debug: 4.3.6(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -3940,39 +4005,39 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@biomejs/biome@1.8.3': + '@biomejs/biome@1.9.2': optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.8.3 - '@biomejs/cli-darwin-x64': 1.8.3 - '@biomejs/cli-linux-arm64': 1.8.3 - '@biomejs/cli-linux-arm64-musl': 1.8.3 - '@biomejs/cli-linux-x64': 1.8.3 - '@biomejs/cli-linux-x64-musl': 1.8.3 - '@biomejs/cli-win32-arm64': 1.8.3 - '@biomejs/cli-win32-x64': 1.8.3 + '@biomejs/cli-darwin-arm64': 1.9.2 + '@biomejs/cli-darwin-x64': 1.9.2 + '@biomejs/cli-linux-arm64': 1.9.2 + '@biomejs/cli-linux-arm64-musl': 1.9.2 + '@biomejs/cli-linux-x64': 1.9.2 + '@biomejs/cli-linux-x64-musl': 1.9.2 + '@biomejs/cli-win32-arm64': 1.9.2 + '@biomejs/cli-win32-x64': 1.9.2 - '@biomejs/cli-darwin-arm64@1.8.3': + '@biomejs/cli-darwin-arm64@1.9.2': optional: true - '@biomejs/cli-darwin-x64@1.8.3': + '@biomejs/cli-darwin-x64@1.9.2': optional: true - '@biomejs/cli-linux-arm64-musl@1.8.3': + '@biomejs/cli-linux-arm64-musl@1.9.2': optional: true - '@biomejs/cli-linux-arm64@1.8.3': + '@biomejs/cli-linux-arm64@1.9.2': optional: true - '@biomejs/cli-linux-x64-musl@1.8.3': + '@biomejs/cli-linux-x64-musl@1.9.2': optional: true - '@biomejs/cli-linux-x64@1.8.3': + '@biomejs/cli-linux-x64@1.9.2': optional: true - '@biomejs/cli-win32-arm64@1.8.3': + '@biomejs/cli-win32-arm64@1.9.2': optional: true - '@biomejs/cli-win32-x64@1.8.3': + '@biomejs/cli-win32-x64@1.9.2': optional: true '@blgc/types@0.0.6': {} @@ -3992,13 +4057,12 @@ snapshots: '@types/tough-cookie': 4.0.5 tough-cookie: 4.1.4 - '@changesets/apply-release-plan@7.0.4': + '@changesets/apply-release-plan@7.0.5': dependencies: - '@babel/runtime': 7.25.6 - '@changesets/config': 3.0.2 + '@changesets/config': 3.0.3 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.0 - '@changesets/should-skip-package': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 @@ -4009,12 +4073,11 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.3': + '@changesets/assemble-release-plan@6.0.4': dependencies: - '@babel/runtime': 7.25.6 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/should-skip-package': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 semver: 7.6.3 @@ -4031,46 +4094,44 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.27.7': + '@changesets/cli@2.27.8': dependencies: - '@babel/runtime': 7.25.6 - '@changesets/apply-release-plan': 7.0.4 - '@changesets/assemble-release-plan': 6.0.3 + '@changesets/apply-release-plan': 7.0.5 + '@changesets/assemble-release-plan': 6.0.4 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.2 + '@changesets/config': 3.0.3 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/get-release-plan': 4.0.3 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 - '@changesets/should-skip-package': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/get-release-plan': 4.0.4 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 - '@changesets/write': 0.3.1 + '@changesets/write': 0.3.2 '@manypkg/get-packages': 1.1.3 '@types/semver': 7.5.8 ansi-colors: 4.1.3 - chalk: 2.4.2 ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 - human-id: 1.0.2 mri: 1.2.0 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.1.4 + package-manager-detector: 0.2.0 + picocolors: 1.1.0 resolve-from: 5.0.0 semver: 7.6.3 spawndamnit: 2.0.0 term-size: 2.2.1 - '@changesets/config@3.0.2': + '@changesets/config@3.0.3': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/logger': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/logger': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 @@ -4080,12 +4141,11 @@ snapshots: dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.1': + '@changesets/get-dependents-graph@2.1.2': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - chalk: 2.4.2 - fs-extra: 7.0.1 + picocolors: 1.1.0 semver: 7.6.3 '@changesets/get-github-info@0.6.0': @@ -4095,59 +4155,53 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/get-release-plan@4.0.3': + '@changesets/get-release-plan@4.0.4': dependencies: - '@babel/runtime': 7.25.6 - '@changesets/assemble-release-plan': 6.0.3 - '@changesets/config': 3.0.2 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 + '@changesets/assemble-release-plan': 6.0.4 + '@changesets/config': 3.0.3 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.0': + '@changesets/git@3.0.1': dependencies: - '@babel/runtime': 7.25.6 '@changesets/errors': 0.2.0 - '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 micromatch: 4.0.8 spawndamnit: 2.0.0 - '@changesets/logger@0.1.0': + '@changesets/logger@0.1.1': dependencies: - chalk: 2.4.2 + picocolors: 1.1.0 '@changesets/parse@0.4.0': dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 - '@changesets/pre@2.0.0': + '@changesets/pre@2.0.1': dependencies: - '@babel/runtime': 7.25.6 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.0': + '@changesets/read@0.6.1': dependencies: - '@babel/runtime': 7.25.6 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 - chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 + picocolors: 1.1.0 - '@changesets/should-skip-package@0.1.0': + '@changesets/should-skip-package@0.1.1': dependencies: - '@babel/runtime': 7.25.6 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -4155,9 +4209,8 @@ snapshots: '@changesets/types@6.0.0': {} - '@changesets/write@0.3.1': + '@changesets/write@0.3.2': dependencies: - '@babel/runtime': 7.25.6 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -4165,10 +4218,10 @@ snapshots: '@docsearch/css@3.6.1': {} - '@docsearch/js@3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)': + '@docsearch/js@3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)': dependencies: - '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0) - preact: 10.23.1 + '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0) + preact: 10.24.0 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -4176,14 +4229,14 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)': + '@docsearch/react@3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)': dependencies: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.13.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) '@docsearch/css': 3.6.1 algoliasearch: 4.24.0 optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.8 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) search-insights: 2.13.0 @@ -4410,7 +4463,7 @@ snapshots: '@inquirer/figures': 1.0.5 '@inquirer/type': 1.5.3 '@types/mute-stream': 0.0.4 - '@types/node': 22.5.2 + '@types/node': 22.5.5 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-spinners: 2.9.2 @@ -4521,27 +4574,27 @@ snapshots: '@open-draft/until@2.1.0': {} - '@playwright/test@1.46.1': + '@playwright/test@1.47.1': dependencies: - playwright: 1.46.1 + playwright: 1.47.1 - '@polka/url@1.0.0-next.25': {} + '@polka/url@1.0.0-next.28': {} - '@redocly/ajv@8.11.0': + '@redocly/ajv@8.11.2': dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - uri-js: 4.4.1 + uri-js-replace: 1.0.1 - '@redocly/config@0.6.0': {} + '@redocly/config@0.11.0': {} - '@redocly/openapi-core@1.16.0(supports-color@9.4.0)': + '@redocly/openapi-core@1.25.3(supports-color@9.4.0)': dependencies: - '@redocly/ajv': 8.11.0 - '@redocly/config': 0.6.0 + '@redocly/ajv': 8.11.2 + '@redocly/config': 0.11.0 colorette: 1.4.0 - https-proxy-agent: 7.0.4(supports-color@9.4.0) + https-proxy-agent: 7.0.5(supports-color@9.4.0) js-levenshtein: 1.1.6 js-yaml: 4.1.0 lodash.isequal: 4.5.0 @@ -4553,88 +4606,109 @@ snapshots: - encoding - supports-color - '@rollup/rollup-android-arm-eabi@4.21.2': + '@rollup/rollup-android-arm-eabi@4.22.2': optional: true - '@rollup/rollup-android-arm64@4.21.2': + '@rollup/rollup-android-arm64@4.22.2': optional: true - '@rollup/rollup-darwin-arm64@4.21.2': + '@rollup/rollup-darwin-arm64@4.22.2': optional: true - '@rollup/rollup-darwin-x64@4.21.2': + '@rollup/rollup-darwin-x64@4.22.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + '@rollup/rollup-linux-arm-gnueabihf@4.22.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.2': + '@rollup/rollup-linux-arm-musleabihf@4.22.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.2': + '@rollup/rollup-linux-arm64-gnu@4.22.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.2': + '@rollup/rollup-linux-arm64-musl@4.22.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + '@rollup/rollup-linux-powerpc64le-gnu@4.22.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.2': + '@rollup/rollup-linux-riscv64-gnu@4.22.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.2': + '@rollup/rollup-linux-s390x-gnu@4.22.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.2': + '@rollup/rollup-linux-x64-gnu@4.22.2': optional: true - '@rollup/rollup-linux-x64-musl@4.21.2': + '@rollup/rollup-linux-x64-musl@4.22.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.2': + '@rollup/rollup-win32-arm64-msvc@4.22.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.2': + '@rollup/rollup-win32-ia32-msvc@4.22.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.2': + '@rollup/rollup-win32-x64-msvc@4.22.2': optional: true - '@shikijs/core@1.12.1': + '@shikijs/core@1.18.0': dependencies: + '@shikijs/engine-javascript': 1.18.0 + '@shikijs/engine-oniguruma': 1.18.0 + '@shikijs/types': 1.18.0 + '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 + hast-util-to-html: 9.0.3 - '@shikijs/transformers@1.12.1': + '@shikijs/engine-javascript@1.18.0': dependencies: - shiki: 1.12.1 + '@shikijs/types': 1.18.0 + '@shikijs/vscode-textmate': 9.2.2 + oniguruma-to-js: 0.4.3 - '@sindresorhus/merge-streams@2.3.0': {} + '@shikijs/engine-oniguruma@1.18.0': + dependencies: + '@shikijs/types': 1.18.0 + '@shikijs/vscode-textmate': 9.2.2 - '@size-limit/esbuild@11.1.4(size-limit@11.1.4)': + '@shikijs/transformers@1.18.0': dependencies: - esbuild: 0.21.5 + shiki: 1.18.0 + + '@shikijs/types@1.18.0': + dependencies: + '@shikijs/vscode-textmate': 9.2.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@9.2.2': {} + + '@size-limit/esbuild@11.1.5(size-limit@11.1.5)': + dependencies: + esbuild: 0.23.1 nanoid: 5.0.7 - size-limit: 11.1.4 + size-limit: 11.1.5 - '@size-limit/file@11.1.4(size-limit@11.1.4)': + '@size-limit/file@11.1.5(size-limit@11.1.5)': dependencies: - size-limit: 11.1.4 + size-limit: 11.1.5 - '@size-limit/preset-small-lib@11.1.4(size-limit@11.1.4)': + '@size-limit/preset-small-lib@11.1.5(size-limit@11.1.5)': dependencies: - '@size-limit/esbuild': 11.1.4(size-limit@11.1.4) - '@size-limit/file': 11.1.4(size-limit@11.1.4) - size-limit: 11.1.4 + '@size-limit/esbuild': 11.1.5(size-limit@11.1.5) + '@size-limit/file': 11.1.5(size-limit@11.1.5) + size-limit: 11.1.5 - '@sveltejs/adapter-auto@3.2.4(@sveltejs/kit@2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))': + '@sveltejs/adapter-auto@3.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)))(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)))': dependencies: - '@sveltejs/kit': 2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) + '@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)))(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)) import-meta-resolve: 4.1.0 - '@sveltejs/kit@2.5.25(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2))': + '@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)))(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -4648,76 +4722,76 @@ snapshots: sirv: 2.0.4 svelte: 4.2.19 tiny-glob: 0.2.9 - vite: 5.4.3(@types/node@22.5.2) + vite: 5.4.6(@types/node@22.5.5) - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)))(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) - debug: 4.3.6(supports-color@9.4.0) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)) + debug: 4.3.7(supports-color@9.4.0) svelte: 4.2.19 - vite: 5.4.3(@types/node@22.5.2) + vite: 5.4.6(@types/node@22.5.5) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2))': + '@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)))(svelte@4.2.19)(vite@5.4.3(@types/node@22.5.2)) - debug: 4.3.6(supports-color@9.4.0) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)))(svelte@4.2.19)(vite@5.4.6(@types/node@22.5.5)) + debug: 4.3.7(supports-color@9.4.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.11 svelte: 4.2.19 svelte-hmr: 0.16.0(svelte@4.2.19) - vite: 5.4.3(@types/node@22.5.2) - vitefu: 0.2.5(vite@5.4.3(@types/node@22.5.2)) + vite: 5.4.6(@types/node@22.5.5) + vitefu: 0.2.5(vite@5.4.6(@types/node@22.5.5)) transitivePeerDependencies: - supports-color - '@swc/core-darwin-arm64@1.7.23': + '@swc/core-darwin-arm64@1.7.26': optional: true - '@swc/core-darwin-x64@1.7.23': + '@swc/core-darwin-x64@1.7.26': optional: true - '@swc/core-linux-arm-gnueabihf@1.7.23': + '@swc/core-linux-arm-gnueabihf@1.7.26': optional: true - '@swc/core-linux-arm64-gnu@1.7.23': + '@swc/core-linux-arm64-gnu@1.7.26': optional: true - '@swc/core-linux-arm64-musl@1.7.23': + '@swc/core-linux-arm64-musl@1.7.26': optional: true - '@swc/core-linux-x64-gnu@1.7.23': + '@swc/core-linux-x64-gnu@1.7.26': optional: true - '@swc/core-linux-x64-musl@1.7.23': + '@swc/core-linux-x64-musl@1.7.26': optional: true - '@swc/core-win32-arm64-msvc@1.7.23': + '@swc/core-win32-arm64-msvc@1.7.26': optional: true - '@swc/core-win32-ia32-msvc@1.7.23': + '@swc/core-win32-ia32-msvc@1.7.26': optional: true - '@swc/core-win32-x64-msvc@1.7.23': + '@swc/core-win32-x64-msvc@1.7.26': optional: true - '@swc/core@1.7.23(@swc/helpers@0.5.5)': + '@swc/core@1.7.26(@swc/helpers@0.5.5)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.23 - '@swc/core-darwin-x64': 1.7.23 - '@swc/core-linux-arm-gnueabihf': 1.7.23 - '@swc/core-linux-arm64-gnu': 1.7.23 - '@swc/core-linux-arm64-musl': 1.7.23 - '@swc/core-linux-x64-gnu': 1.7.23 - '@swc/core-linux-x64-musl': 1.7.23 - '@swc/core-win32-arm64-msvc': 1.7.23 - '@swc/core-win32-ia32-msvc': 1.7.23 - '@swc/core-win32-x64-msvc': 1.7.23 + '@swc/core-darwin-arm64': 1.7.26 + '@swc/core-darwin-x64': 1.7.26 + '@swc/core-linux-arm-gnueabihf': 1.7.26 + '@swc/core-linux-arm64-gnu': 1.7.26 + '@swc/core-linux-arm64-musl': 1.7.26 + '@swc/core-linux-x64-gnu': 1.7.26 + '@swc/core-linux-x64-musl': 1.7.26 + '@swc/core-win32-arm64-msvc': 1.7.26 + '@swc/core-win32-ia32-msvc': 1.7.26 + '@swc/core-win32-x64-msvc': 1.7.26 '@swc/helpers': 0.5.5 '@swc/counter@0.1.3': {} @@ -4733,11 +4807,18 @@ snapshots: '@tanstack/query-core@5.53.3': {} + '@tanstack/query-core@5.56.2': {} + '@tanstack/react-query@5.53.3(react@18.3.1)': dependencies: '@tanstack/query-core': 5.53.3 react: 18.3.1 + '@tanstack/react-query@5.56.2(react@18.3.1)': + dependencies: + '@tanstack/query-core': 5.56.2 + react: 18.3.1 + '@testing-library/dom@10.1.0': dependencies: '@babel/code-frame': 7.24.7 @@ -4793,9 +4874,11 @@ snapshots: '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/hast@3.0.4': dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 '@types/js-yaml@4.0.9': {} @@ -4808,27 +4891,27 @@ snapshots: '@types/linkify-it': 5.0.0 '@types/mdurl': 2.0.0 + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/mdurl@2.0.0': {} '@types/minimist@1.2.5': {} '@types/mute-stream@0.0.4': dependencies: - '@types/node': 20.16.3 + '@types/node': 22.5.5 '@types/node@12.20.55': {} - '@types/node@20.16.3': - dependencies: - undici-types: 6.19.8 - - '@types/node@22.5.2': + '@types/node@22.5.5': dependencies: undici-types: 6.19.8 '@types/normalize-package-data@2.4.4': {} - '@types/prop-types@15.7.12': {} + '@types/prop-types@15.7.13': {} '@types/pug@2.0.10': {} @@ -4838,12 +4921,12 @@ snapshots: '@types/react@18.3.1': dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.3 - '@types/react@18.3.3': + '@types/react@18.3.8': dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.3 '@types/semver@7.5.8': {} @@ -4852,122 +4935,132 @@ snapshots: '@types/tough-cookie@4.0.5': {} - '@types/unist@3.0.2': {} + '@types/unist@3.0.3': {} '@types/web-bluetooth@0.0.20': {} '@types/wrap-ansi@3.0.0': {} - '@vitejs/plugin-react-swc@3.7.0(@swc/helpers@0.5.5)(vite@5.4.3(@types/node@22.5.2))': + '@ungap/structured-clone@1.2.0': {} + + '@vitejs/plugin-react-swc@3.7.0(@swc/helpers@0.5.5)(vite@5.4.6(@types/node@22.5.5))': dependencies: - '@swc/core': 1.7.23(@swc/helpers@0.5.5) - vite: 5.4.3(@types/node@22.5.2) + '@swc/core': 1.7.26(@swc/helpers@0.5.5) + vite: 5.4.6(@types/node@22.5.5) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.3.1(vite@5.4.3(@types/node@22.5.2))': + '@vitejs/plugin-react@4.3.1(vite@5.4.6(@types/node@22.5.5))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.3(@types/node@22.5.2) + vite: 5.4.6(@types/node@22.5.5) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.3(vite@5.4.3(@types/node@22.5.2))(vue@3.5.0(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.4(vite@5.4.6(@types/node@22.5.5))(vue@3.5.6(typescript@5.6.2))': dependencies: - vite: 5.4.3(@types/node@22.5.2) - vue: 3.5.0(typescript@5.5.4) + vite: 5.4.6(@types/node@22.5.5) + vue: 3.5.6(typescript@5.6.2) - '@vitest/expect@2.0.5': + '@vitest/expect@2.1.1': dependencies: - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 + '@vitest/spy': 2.1.1 + '@vitest/utils': 2.1.1 chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/pretty-format@2.0.5': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(msw@2.4.1(graphql@16.8.2)(typescript@5.6.2))(vite@5.4.6(@types/node@22.5.5))': + dependencies: + '@vitest/spy': 2.1.1 + estree-walker: 3.0.3 + magic-string: 0.30.11 + optionalDependencies: + msw: 2.4.1(graphql@16.8.2)(typescript@5.6.2) + vite: 5.4.6(@types/node@22.5.5) + + '@vitest/pretty-format@2.1.1': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.0.5': + '@vitest/runner@2.1.1': dependencies: - '@vitest/utils': 2.0.5 + '@vitest/utils': 2.1.1 pathe: 1.1.2 - '@vitest/snapshot@2.0.5': + '@vitest/snapshot@2.1.1': dependencies: - '@vitest/pretty-format': 2.0.5 + '@vitest/pretty-format': 2.1.1 magic-string: 0.30.11 pathe: 1.1.2 - '@vitest/spy@2.0.5': + '@vitest/spy@2.1.1': dependencies: - tinyspy: 3.0.0 + tinyspy: 3.0.2 - '@vitest/utils@2.0.5': + '@vitest/utils@2.1.1': dependencies: - '@vitest/pretty-format': 2.0.5 - estree-walker: 3.0.3 + '@vitest/pretty-format': 2.1.1 loupe: 3.1.1 tinyrainbow: 1.2.0 - '@volar/language-core@2.4.1': + '@volar/language-core@2.4.5': dependencies: - '@volar/source-map': 2.4.1 + '@volar/source-map': 2.4.5 - '@volar/source-map@2.4.1': {} + '@volar/source-map@2.4.5': {} - '@volar/typescript@2.4.1': + '@volar/typescript@2.4.5': dependencies: - '@volar/language-core': 2.4.1 + '@volar/language-core': 2.4.5 path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.5.0': + '@vue/compiler-core@3.5.6': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.0 + '@vue/shared': 3.5.6 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.2.0 + source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.0': + '@vue/compiler-dom@3.5.6': dependencies: - '@vue/compiler-core': 3.5.0 - '@vue/shared': 3.5.0 + '@vue/compiler-core': 3.5.6 + '@vue/shared': 3.5.6 - '@vue/compiler-sfc@3.5.0': + '@vue/compiler-sfc@3.5.6': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.0 - '@vue/compiler-dom': 3.5.0 - '@vue/compiler-ssr': 3.5.0 - '@vue/shared': 3.5.0 + '@vue/compiler-core': 3.5.6 + '@vue/compiler-dom': 3.5.6 + '@vue/compiler-ssr': 3.5.6 + '@vue/shared': 3.5.6 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.44 - source-map-js: 1.2.0 + postcss: 8.4.47 + source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.0': + '@vue/compiler-ssr@3.5.6': dependencies: - '@vue/compiler-dom': 3.5.0 - '@vue/shared': 3.5.0 + '@vue/compiler-dom': 3.5.6 + '@vue/shared': 3.5.6 '@vue/compiler-vue2@2.7.16': dependencies: de-indent: 1.0.2 he: 1.2.0 - '@vue/devtools-api@7.3.7': + '@vue/devtools-api@7.4.5': dependencies: - '@vue/devtools-kit': 7.3.7 + '@vue/devtools-kit': 7.4.5 - '@vue/devtools-kit@7.3.7': + '@vue/devtools-kit@7.4.5': dependencies: - '@vue/devtools-shared': 7.3.7 + '@vue/devtools-shared': 7.4.5 birpc: 0.2.17 hookable: 5.5.3 mitt: 3.0.1 @@ -4975,78 +5068,76 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.1 - '@vue/devtools-shared@7.3.7': + '@vue/devtools-shared@7.4.5': dependencies: rfdc: 1.4.1 - '@vue/language-core@2.1.4(typescript@5.5.4)': + '@vue/language-core@2.1.6(typescript@5.6.2)': dependencies: - '@volar/language-core': 2.4.1 - '@vue/compiler-dom': 3.5.0 + '@volar/language-core': 2.4.5 + '@vue/compiler-dom': 3.5.6 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.0 + '@vue/shared': 3.5.6 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 - '@vue/reactivity@3.5.0': + '@vue/reactivity@3.5.6': dependencies: - '@vue/shared': 3.5.0 + '@vue/shared': 3.5.6 - '@vue/runtime-core@3.5.0': + '@vue/runtime-core@3.5.6': dependencies: - '@vue/reactivity': 3.5.0 - '@vue/shared': 3.5.0 + '@vue/reactivity': 3.5.6 + '@vue/shared': 3.5.6 - '@vue/runtime-dom@3.5.0': + '@vue/runtime-dom@3.5.6': dependencies: - '@vue/reactivity': 3.5.0 - '@vue/runtime-core': 3.5.0 - '@vue/shared': 3.5.0 + '@vue/reactivity': 3.5.6 + '@vue/runtime-core': 3.5.6 + '@vue/shared': 3.5.6 csstype: 3.1.3 - '@vue/server-renderer@3.5.0(vue@3.5.0(typescript@5.5.4))': + '@vue/server-renderer@3.5.6(vue@3.5.6(typescript@5.6.2))': dependencies: - '@vue/compiler-ssr': 3.5.0 - '@vue/shared': 3.5.0 - vue: 3.5.0(typescript@5.5.4) - - '@vue/shared@3.4.37': {} + '@vue/compiler-ssr': 3.5.6 + '@vue/shared': 3.5.6 + vue: 3.5.6(typescript@5.6.2) - '@vue/shared@3.5.0': {} + '@vue/shared@3.5.6': {} '@vue/tsconfig@0.5.1': {} - '@vueuse/core@10.11.1(vue@3.5.0(typescript@5.5.4))': + '@vueuse/core@10.11.1(vue@3.5.6(typescript@5.6.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.0(typescript@5.5.4)) - vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4)) + '@vueuse/shared': 10.11.1(vue@3.5.6(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.6(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.11.1(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.0(typescript@5.5.4))': + '@vueuse/integrations@10.11.1(axios@1.7.7)(focus-trap@7.6.0)(vue@3.5.6(typescript@5.6.2))': dependencies: - '@vueuse/core': 10.11.1(vue@3.5.0(typescript@5.5.4)) - '@vueuse/shared': 10.11.1(vue@3.5.0(typescript@5.5.4)) - vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4)) + '@vueuse/core': 10.11.1(vue@3.5.6(typescript@5.6.2)) + '@vueuse/shared': 10.11.1(vue@3.5.6(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.6(typescript@5.6.2)) optionalDependencies: axios: 1.7.7 - focus-trap: 7.5.4 + focus-trap: 7.6.0 transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/metadata@10.11.1': {} - '@vueuse/shared@10.11.1(vue@3.5.0(typescript@5.5.4))': + '@vueuse/shared@10.11.1(vue@3.5.6(typescript@5.6.2))': dependencies: - vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.6(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5057,10 +5148,10 @@ snapshots: acorn-globals@7.0.1: dependencies: acorn: 8.12.1 - acorn-walk: 8.3.3 + acorn-walk: 8.3.4 optional: true - acorn-walk@8.3.3: + acorn-walk@8.3.4: dependencies: acorn: 8.12.1 optional: true @@ -5069,14 +5160,14 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.6(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color optional: true agent-base@7.1.1(supports-color@9.4.0): dependencies: - debug: 4.3.6(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -5111,7 +5202,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-styles@3.2.1: dependencies: @@ -5138,6 +5229,8 @@ snapshots: dependencies: dequal: 2.0.3 + aria-query@5.3.1: {} + array-union@2.1.0: {} arrify@1.0.1: {} @@ -5150,7 +5243,7 @@ snapshots: axios@1.7.7: dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -5183,7 +5276,7 @@ snapshots: browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001655 + caniuse-lite: 1.0.30001662 electron-to-chromium: 1.5.13 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -5217,9 +5310,9 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001646: {} + caniuse-lite@1.0.30001662: {} - caniuse-lite@1.0.30001655: {} + ccount@2.0.1: {} chai@5.1.1: dependencies: @@ -5242,6 +5335,10 @@ snapshots: change-case@5.4.4: {} + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + chardet@0.7.0: {} check-error@2.1.1: {} @@ -5279,7 +5376,7 @@ snapshots: code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 acorn: 8.12.1 estree-walker: 3.0.3 periscopic: 3.1.0 @@ -5302,6 +5399,8 @@ snapshots: dependencies: delayed-stream: 1.0.0 + comma-separated-tokens@2.0.3: {} + commander@11.1.0: {} component-emitter@1.3.1: {} @@ -5337,7 +5436,7 @@ snapshots: css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.0 + source-map-js: 1.2.1 cssom@0.3.8: optional: true @@ -5363,15 +5462,9 @@ snapshots: de-indent@1.0.2: {} - debug@4.3.5(supports-color@9.4.0): - dependencies: - ms: 2.1.2 - optionalDependencies: - supports-color: 9.4.0 - - debug@4.3.6(supports-color@9.4.0): + debug@4.3.7(supports-color@9.4.0): dependencies: - ms: 2.1.2 + ms: 2.1.3 optionalDependencies: supports-color: 9.4.0 @@ -5423,6 +5516,10 @@ snapshots: devalue@5.0.0: {} + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + dezalgo@1.0.4: dependencies: asap: 2.0.6 @@ -5569,7 +5666,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 esutils@2.0.3: optional: true @@ -5610,6 +5707,10 @@ snapshots: dependencies: reusify: 1.0.4 + fdir@6.3.0(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + feature-fetch@0.0.15: dependencies: '@blgc/types': 0.0.6 @@ -5630,16 +5731,11 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-yarn-workspace-root2@1.2.16: - dependencies: - micromatch: 4.0.8 - pkg-dir: 4.2.0 - - focus-trap@7.5.4: + focus-trap@7.6.0: dependencies: tabbable: 6.2.0 - follow-redirects@1.15.6: {} + follow-redirects@1.15.9: {} form-data@4.0.0: dependencies: @@ -5731,15 +5827,6 @@ snapshots: merge2: 1.4.1 slash: 4.0.0 - globby@14.0.2: - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.2 - ignore: 5.3.2 - path-type: 5.0.0 - slash: 5.1.0 - unicorn-magic: 0.1.0 - globrex@0.1.2: {} gopd@1.0.1: @@ -5778,6 +5865,24 @@ snapshots: dependencies: function-bind: 1.1.2 + hast-util-to-html@9.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + he@1.2.0: {} headers-polyfill@4.0.3: {} @@ -5795,11 +5900,13 @@ snapshots: whatwg-encoding: 2.0.0 optional: true + html-void-elements@3.0.0: {} + http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.6(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color optional: true @@ -5807,15 +5914,15 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.6(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color optional: true - https-proxy-agent@7.0.4(supports-color@9.4.0): + https-proxy-agent@7.0.5(supports-color@9.4.0): dependencies: agent-base: 7.1.1(supports-color@9.4.0) - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -5882,7 +5989,7 @@ snapshots: is-reference@3.0.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 is-stream@3.0.0: {} @@ -5975,13 +6082,6 @@ snapshots: lines-and-columns@1.2.4: {} - load-yaml-file@0.2.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - locate-character@3.0.0: {} locate-path@5.0.0: @@ -6029,6 +6129,18 @@ snapshots: mark.js@8.11.1: {} + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + mdn-data@2.0.30: {} meow@10.1.5: @@ -6052,6 +6164,23 @@ snapshots: methods@1.1.2: {} + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -6101,9 +6230,9 @@ snapshots: mrmime@2.0.0: {} - ms@2.1.2: {} + ms@2.1.3: {} - msw@2.4.1(graphql@16.8.2)(typescript@5.5.4): + msw@2.4.1(graphql@16.8.2)(typescript@5.6.2): dependencies: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 @@ -6123,7 +6252,7 @@ snapshots: yargs: 17.7.2 optionalDependencies: graphql: 16.8.2 - typescript: 5.5.4 + typescript: 5.6.2 muggle-string@0.4.1: {} @@ -6135,16 +6264,16 @@ snapshots: nanospinner@1.1.0: dependencies: - picocolors: 1.0.1 + picocolors: 1.1.0 neo-async@2.6.2: {} - next@14.2.3(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.3(@playwright/test@1.47.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001646 + caniuse-lite: 1.0.30001662 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -6160,7 +6289,7 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.3 '@next/swc-win32-ia32-msvc': 14.2.3 '@next/swc-win32-x64-msvc': 14.2.3 - '@playwright/test': 1.46.1 + '@playwright/test': 1.47.1 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -6197,6 +6326,10 @@ snapshots: dependencies: mimic-fn: 4.0.0 + oniguruma-to-js@0.4.3: + dependencies: + regex: 4.3.2 + openapi-typescript-codegen@0.25.0: dependencies: camelcase: 6.3.0 @@ -6241,6 +6374,8 @@ snapshots: p-try@2.2.0: {} + package-manager-detector@0.2.0: {} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.7 @@ -6252,7 +6387,7 @@ snapshots: dependencies: '@babel/code-frame': 7.24.7 index-to-position: 0.1.2 - type-fest: 4.20.1 + type-fest: 4.26.1 parse5@7.1.2: dependencies: @@ -6273,8 +6408,6 @@ snapshots: path-type@4.0.0: {} - path-type@5.0.0: {} - pathe@1.1.2: {} pathval@2.0.0: {} @@ -6283,27 +6416,23 @@ snapshots: periscopic@3.1.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 3.0.3 is-reference: 3.0.2 - picocolors@1.0.1: {} - picocolors@1.1.0: {} picomatch@2.3.1: {} - pify@4.0.1: {} + picomatch@4.0.2: {} - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 + pify@4.0.1: {} - playwright-core@1.46.1: {} + playwright-core@1.47.1: {} - playwright@1.46.1: + playwright@1.47.1: dependencies: - playwright-core: 1.46.1 + playwright-core: 1.47.1 optionalDependencies: fsevents: 2.3.2 @@ -6312,23 +6441,16 @@ snapshots: postcss@8.4.31: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + picocolors: 1.1.0 + source-map-js: 1.2.1 - postcss@8.4.44: + postcss@8.4.47: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 - - preact@10.23.1: {} + picocolors: 1.1.0 + source-map-js: 1.2.1 - preferred-pm@3.1.4: - dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.2.0 + preact@10.24.0: {} prettier@2.8.8: {} @@ -6340,6 +6462,8 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 + property-information@6.5.0: {} + proxy-from-env@1.1.0: {} pseudomap@1.0.2: {} @@ -6408,6 +6532,8 @@ snapshots: regenerator-runtime@0.14.1: {} + regex@4.3.2: {} + require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -6428,26 +6554,26 @@ snapshots: dependencies: glob: 7.2.3 - rollup@4.21.2: + rollup@4.22.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.2 - '@rollup/rollup-android-arm64': 4.21.2 - '@rollup/rollup-darwin-arm64': 4.21.2 - '@rollup/rollup-darwin-x64': 4.21.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 - '@rollup/rollup-linux-arm-musleabihf': 4.21.2 - '@rollup/rollup-linux-arm64-gnu': 4.21.2 - '@rollup/rollup-linux-arm64-musl': 4.21.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 - '@rollup/rollup-linux-riscv64-gnu': 4.21.2 - '@rollup/rollup-linux-s390x-gnu': 4.21.2 - '@rollup/rollup-linux-x64-gnu': 4.21.2 - '@rollup/rollup-linux-x64-musl': 4.21.2 - '@rollup/rollup-win32-arm64-msvc': 4.21.2 - '@rollup/rollup-win32-ia32-msvc': 4.21.2 - '@rollup/rollup-win32-x64-msvc': 4.21.2 + '@rollup/rollup-android-arm-eabi': 4.22.2 + '@rollup/rollup-android-arm64': 4.22.2 + '@rollup/rollup-darwin-arm64': 4.22.2 + '@rollup/rollup-darwin-x64': 4.22.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.2 + '@rollup/rollup-linux-arm-musleabihf': 4.22.2 + '@rollup/rollup-linux-arm64-gnu': 4.22.2 + '@rollup/rollup-linux-arm64-musl': 4.22.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.2 + '@rollup/rollup-linux-riscv64-gnu': 4.22.2 + '@rollup/rollup-linux-s390x-gnu': 4.22.2 + '@rollup/rollup-linux-x64-gnu': 4.22.2 + '@rollup/rollup-linux-x64-musl': 4.22.2 + '@rollup/rollup-win32-arm64-msvc': 4.22.2 + '@rollup/rollup-win32-ia32-msvc': 4.22.2 + '@rollup/rollup-win32-x64-msvc': 4.22.2 fsevents: 2.3.3 run-parallel@1.2.0: @@ -6505,9 +6631,13 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.12.1: + shiki@1.18.0: dependencies: - '@shikijs/core': 1.12.1 + '@shikijs/core': 1.18.0 + '@shikijs/engine-javascript': 1.18.0 + '@shikijs/engine-oniguruma': 1.18.0 + '@shikijs/types': 1.18.0 + '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 side-channel@1.0.6: @@ -6525,26 +6655,24 @@ snapshots: sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 - size-limit@11.1.4: + size-limit@11.1.5: dependencies: bytes-iec: 3.1.1 chokidar: 3.6.0 - globby: 14.0.2 jiti: 1.21.6 lilconfig: 3.1.2 nanospinner: 1.1.0 - picocolors: 1.0.1 + picocolors: 1.1.0 + tinyglobby: 0.2.6 slash@3.0.0: {} slash@4.0.0: {} - slash@5.1.0: {} - sorcery@0.11.1: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -6552,10 +6680,12 @@ snapshots: minimist: 1.2.8 sander: 0.5.1 - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} source-map@0.6.1: {} + space-separated-tokens@2.0.2: {} + spawndamnit@2.0.0: dependencies: cross-spawn: 5.1.0 @@ -6595,13 +6725,18 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 strip-bom@3.0.0: {} @@ -6624,7 +6759,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.6(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 3.5.1 @@ -6648,15 +6783,15 @@ snapshots: supports-color@9.4.0: {} - svelte-check@3.8.6(@babel/core@7.25.2)(postcss@8.4.44)(svelte@4.2.19): + svelte-check@3.8.6(@babel/core@7.25.2)(postcss@8.4.47)(svelte@4.2.19): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 3.6.0 picocolors: 1.1.0 sade: 1.8.1 svelte: 4.2.19 - svelte-preprocess: 5.1.4(@babel/core@7.25.2)(postcss@8.4.44)(svelte@4.2.19)(typescript@5.5.4) - typescript: 5.5.4 + svelte-preprocess: 5.1.4(@babel/core@7.25.2)(postcss@8.4.47)(svelte@4.2.19)(typescript@5.6.2) + typescript: 5.6.2 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -6672,7 +6807,7 @@ snapshots: dependencies: svelte: 4.2.19 - svelte-preprocess@5.1.4(@babel/core@7.25.2)(postcss@8.4.44)(svelte@4.2.19)(typescript@5.5.4): + svelte-preprocess@5.1.4(@babel/core@7.25.2)(postcss@8.4.47)(svelte@4.2.19)(typescript@5.6.2): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 @@ -6682,17 +6817,17 @@ snapshots: svelte: 4.2.19 optionalDependencies: '@babel/core': 7.25.2 - postcss: 8.4.44 - typescript: 5.5.4 + postcss: 8.4.47 + typescript: 5.6.2 svelte@4.2.19: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 acorn: 8.12.1 - aria-query: 5.3.0 + aria-query: 5.3.1 axobject-query: 4.1.0 code-red: 1.0.4 css-tree: 2.3.1 @@ -6716,11 +6851,18 @@ snapshots: tinybench@2.9.0: {} + tinyexec@0.3.0: {} + + tinyglobby@0.2.6: + dependencies: + fdir: 6.3.0(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@1.0.1: {} tinyrainbow@1.2.0: {} - tinyspy@3.0.0: {} + tinyspy@3.0.2: {} tmp@0.0.33: dependencies: @@ -6748,6 +6890,8 @@ snapshots: punycode: 2.3.1 optional: true + trim-lines@3.0.1: {} + trim-newlines@4.1.1: {} ts-results-es@4.2.0: {} @@ -6758,20 +6902,43 @@ snapshots: type-fest@1.4.0: {} - type-fest@4.20.1: {} - type-fest@4.26.0: {} + type-fest@4.26.1: {} + typescript@5.4.5: {} typescript@5.5.4: {} + typescript@5.6.2: {} + uglify-js@3.19.3: optional: true undici-types@6.19.8: {} - unicorn-magic@0.1.0: {} + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 universalify@0.1.2: {} @@ -6785,9 +6952,7 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.0 - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 + uri-js-replace@1.0.1: {} url-parse@1.5.10: dependencies: @@ -6799,13 +6964,22 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@2.0.5(@types/node@22.5.2)(supports-color@9.4.0): + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + vite-node@2.1.1(@types/node@22.5.5)(supports-color@9.4.0): dependencies: cac: 6.7.14 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) pathe: 1.1.2 - tinyrainbow: 1.2.0 - vite: 5.4.3(@types/node@22.5.2) + vite: 5.4.6(@types/node@22.5.5) transitivePeerDependencies: - '@types/node' - less @@ -6817,48 +6991,39 @@ snapshots: - supports-color - terser - vite@5.4.2(@types/node@22.5.2): + vite@5.4.6(@types/node@22.5.5): dependencies: esbuild: 0.21.5 - postcss: 8.4.44 - rollup: 4.21.2 + postcss: 8.4.47 + rollup: 4.22.2 optionalDependencies: - '@types/node': 22.5.2 + '@types/node': 22.5.5 fsevents: 2.3.3 - vite@5.4.3(@types/node@22.5.2): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.44 - rollup: 4.21.2 + vitefu@0.2.5(vite@5.4.6(@types/node@22.5.5)): optionalDependencies: - '@types/node': 22.5.2 - fsevents: 2.3.3 - - vitefu@0.2.5(vite@5.4.3(@types/node@22.5.2)): - optionalDependencies: - vite: 5.4.3(@types/node@22.5.2) + vite: 5.4.6(@types/node@22.5.5) - vitepress@1.3.2(@algolia/client-search@4.24.0)(@types/node@22.5.2)(@types/react@18.3.3)(axios@1.7.7)(postcss@8.4.44)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)(typescript@5.5.4): + vitepress@1.3.2(@algolia/client-search@4.24.0)(@types/node@22.5.5)(@types/react@18.3.8)(axios@1.7.7)(postcss@8.4.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)(typescript@5.6.2): dependencies: '@docsearch/css': 3.6.1 - '@docsearch/js': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0) - '@shikijs/core': 1.12.1 - '@shikijs/transformers': 1.12.1 + '@docsearch/js': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0) + '@shikijs/core': 1.18.0 + '@shikijs/transformers': 1.18.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.3(vite@5.4.3(@types/node@22.5.2))(vue@3.5.0(typescript@5.5.4)) - '@vue/devtools-api': 7.3.7 - '@vue/shared': 3.4.37 - '@vueuse/core': 10.11.1(vue@3.5.0(typescript@5.5.4)) - '@vueuse/integrations': 10.11.1(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.0(typescript@5.5.4)) - focus-trap: 7.5.4 + '@vitejs/plugin-vue': 5.1.4(vite@5.4.6(@types/node@22.5.5))(vue@3.5.6(typescript@5.6.2)) + '@vue/devtools-api': 7.4.5 + '@vue/shared': 3.5.6 + '@vueuse/core': 10.11.1(vue@3.5.6(typescript@5.6.2)) + '@vueuse/integrations': 10.11.1(axios@1.7.7)(focus-trap@7.6.0)(vue@3.5.6(typescript@5.6.2)) + focus-trap: 7.6.0 mark.js: 8.11.1 minisearch: 7.1.0 - shiki: 1.12.1 - vite: 5.4.3(@types/node@22.5.2) - vue: 3.5.0(typescript@5.5.4) + shiki: 1.18.0 + vite: 5.4.6(@types/node@22.5.5) + vue: 3.5.6(typescript@5.6.2) optionalDependencies: - postcss: 8.4.44 + postcss: 8.4.47 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -6887,33 +7052,34 @@ snapshots: - typescript - universal-cookie - vitest@2.0.5(@types/node@22.5.2)(jsdom@20.0.3): + vitest@2.1.1(@types/node@22.5.5)(jsdom@20.0.3)(msw@2.4.1(graphql@16.8.2)(typescript@5.6.2)): dependencies: - '@ampproject/remapping': 2.3.0 - '@vitest/expect': 2.0.5 - '@vitest/pretty-format': 2.0.5 - '@vitest/runner': 2.0.5 - '@vitest/snapshot': 2.0.5 - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 + '@vitest/expect': 2.1.1 + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(msw@2.4.1(graphql@16.8.2)(typescript@5.6.2))(vite@5.4.6(@types/node@22.5.5)) + '@vitest/pretty-format': 2.1.1 + '@vitest/runner': 2.1.1 + '@vitest/snapshot': 2.1.1 + '@vitest/spy': 2.1.1 + '@vitest/utils': 2.1.1 chai: 5.1.1 - debug: 4.3.6(supports-color@9.4.0) - execa: 8.0.1 + debug: 4.3.7(supports-color@9.4.0) magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 + tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.3(@types/node@22.5.2) - vite-node: 2.0.5(@types/node@22.5.2)(supports-color@9.4.0) + vite: 5.4.6(@types/node@22.5.5) + vite-node: 2.1.1(@types/node@22.5.5)(supports-color@9.4.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.5.2 + '@types/node': 22.5.5 jsdom: 20.0.3 transitivePeerDependencies: - less - lightningcss + - msw - sass - sass-embedded - stylus @@ -6923,26 +7089,26 @@ snapshots: vscode-uri@3.0.8: {} - vue-demi@0.14.10(vue@3.5.0(typescript@5.5.4)): + vue-demi@0.14.10(vue@3.5.6(typescript@5.6.2)): dependencies: - vue: 3.5.0(typescript@5.5.4) + vue: 3.5.6(typescript@5.6.2) - vue-tsc@2.1.4(typescript@5.5.4): + vue-tsc@2.1.6(typescript@5.6.2): dependencies: - '@volar/typescript': 2.4.1 - '@vue/language-core': 2.1.4(typescript@5.5.4) + '@volar/typescript': 2.4.5 + '@vue/language-core': 2.1.6(typescript@5.6.2) semver: 7.6.3 - typescript: 5.5.4 + typescript: 5.6.2 - vue@3.5.0(typescript@5.5.4): + vue@3.5.6(typescript@5.6.2): dependencies: - '@vue/compiler-dom': 3.5.0 - '@vue/compiler-sfc': 3.5.0 - '@vue/runtime-dom': 3.5.0 - '@vue/server-renderer': 3.5.0(vue@3.5.0(typescript@5.5.4)) - '@vue/shared': 3.5.0 + '@vue/compiler-dom': 3.5.6 + '@vue/compiler-sfc': 3.5.6 + '@vue/runtime-dom': 3.5.6 + '@vue/server-renderer': 3.5.6(vue@3.5.6(typescript@5.6.2)) + '@vue/shared': 3.5.6 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 w3c-xmlserializer@4.0.0: dependencies: @@ -6973,11 +7139,6 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-pm@2.2.0: - dependencies: - load-yaml-file: 0.2.0 - path-exists: 4.0.0 - which@1.3.1: dependencies: isexe: 2.0.0 @@ -7043,3 +7204,5 @@ snapshots: yocto-queue@0.1.0: {} yoctocolors-cjs@2.1.2: {} + + zwitch@2.0.4: {} From cc83541cb0954004fa260579c7b9396ac8d58a07 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 09:30:25 -0600 Subject: [PATCH 21/67] [ci] release (#1915) Co-authored-by: github-actions[bot] --- .changeset/fair-suns-behave.md | 5 ----- .changeset/signal.md | 5 ----- packages/openapi-react-query/CHANGELOG.md | 9 +++++++++ packages/openapi-react-query/package.json | 2 +- packages/openapi-typescript/CHANGELOG.md | 6 ++++++ packages/openapi-typescript/package.json | 2 +- 6 files changed, 17 insertions(+), 12 deletions(-) delete mode 100644 .changeset/fair-suns-behave.md delete mode 100644 .changeset/signal.md diff --git a/.changeset/fair-suns-behave.md b/.changeset/fair-suns-behave.md deleted file mode 100644 index 49d232356..000000000 --- a/.changeset/fair-suns-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": patch ---- - -Bump Redocly Core diff --git a/.changeset/signal.md b/.changeset/signal.md deleted file mode 100644 index f1e82eb25..000000000 --- a/.changeset/signal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-react-query": patch ---- - -Pass down signal to fetch function this way `useQuery` and `useSuspenseQuery` can cancel queries. diff --git a/packages/openapi-react-query/CHANGELOG.md b/packages/openapi-react-query/CHANGELOG.md index 004aa0861..5ed9034b8 100644 --- a/packages/openapi-react-query/CHANGELOG.md +++ b/packages/openapi-react-query/CHANGELOG.md @@ -1,5 +1,14 @@ # openapi-react-query +## 0.1.5 + +### Patch Changes + +- [#1864](https://github.com/openapi-ts/openapi-typescript/pull/1864) [`899b157`](https://github.com/openapi-ts/openapi-typescript/commit/899b1575968334bc55aa402ea1419bc5db801391) Thanks [@zsugabubus](https://github.com/zsugabubus)! - Pass down signal to fetch function this way `useQuery` and `useSuspenseQuery` can cancel queries. + +- Updated dependencies []: + - openapi-fetch@0.12.0 + ## 0.1.4 ### Patch Changes diff --git a/packages/openapi-react-query/package.json b/packages/openapi-react-query/package.json index 7d0604404..16ba4e82c 100644 --- a/packages/openapi-react-query/package.json +++ b/packages/openapi-react-query/package.json @@ -1,7 +1,7 @@ { "name": "openapi-react-query", "description": "Fast, type-safe @tanstack/react-query client to work with your OpenAPI schema.", - "version": "0.1.4", + "version": "0.1.5", "author": { "name": "Martin Paucot", "email": "contact@martin-paucot.fr" diff --git a/packages/openapi-typescript/CHANGELOG.md b/packages/openapi-typescript/CHANGELOG.md index 33833428a..fdae02878 100644 --- a/packages/openapi-typescript/CHANGELOG.md +++ b/packages/openapi-typescript/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-typescript +## 7.4.1 + +### Patch Changes + +- [#1917](https://github.com/openapi-ts/openapi-typescript/pull/1917) [`4a59124`](https://github.com/openapi-ts/openapi-typescript/commit/4a591248175f918369a9713dea0856b12dca16c3) Thanks [@drwpow](https://github.com/drwpow)! - Bump Redocly Core + ## 7.4.0 ### Minor Changes diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 73cafa4c7..3603b7fc6 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.4.0", + "version": "7.4.1", "author": { "name": "Drew Powers", "email": "drew@pow.rs" From efaa1e23b9cb0901fe026e48fbb4b347f0c95507 Mon Sep 17 00:00:00 2001 From: Tobi <14044957+tobiasdcl@users.noreply.github.com> Date: Fri, 20 Sep 2024 18:19:00 +0200 Subject: [PATCH 22/67] feat(openapi-fetch): allow usage of custom Request class (#1907) * feat(openapi-fetch): allow usage of custom Request class * chore: added changeset * fix: make linter happy * Update brave-days-invent.md Co-authored-by: Drew Powers --------- Co-authored-by: Drew Powers --- .changeset/brave-days-invent.md | 5 ++++ packages/openapi-fetch/src/index.d.ts | 2 ++ packages/openapi-fetch/src/index.js | 25 ++++++++----------- .../openapi-fetch/test/common/request.test.ts | 21 ++++++++++++++++ 4 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 .changeset/brave-days-invent.md diff --git a/.changeset/brave-days-invent.md b/.changeset/brave-days-invent.md new file mode 100644 index 000000000..7ffaa90ef --- /dev/null +++ b/.changeset/brave-days-invent.md @@ -0,0 +1,5 @@ +--- +"openapi-fetch": patch +--- + +allow usage of custom Request class diff --git a/packages/openapi-fetch/src/index.d.ts b/packages/openapi-fetch/src/index.d.ts index c2e9ebda3..e3fd5ccfc 100644 --- a/packages/openapi-fetch/src/index.d.ts +++ b/packages/openapi-fetch/src/index.d.ts @@ -17,6 +17,8 @@ export interface ClientOptions extends Omit { baseUrl?: string; /** custom fetch (defaults to globalThis.fetch) */ fetch?: (input: Request) => Promise; + /** custom Request (defaults to globalThis.Request) */ + Request?: typeof Request; /** global querySerializer */ querySerializer?: QuerySerializer | QuerySerializerOptions; /** global bodySerializer */ diff --git a/packages/openapi-fetch/src/index.js b/packages/openapi-fetch/src/index.js index cc9952ec6..56c4826d5 100644 --- a/packages/openapi-fetch/src/index.js +++ b/packages/openapi-fetch/src/index.js @@ -1,20 +1,6 @@ // settings & const const PATH_PARAM_RE = /\{[^{}]+\}/g; -/** Add custom parameters to Request object */ -class CustomRequest extends Request { - constructor(input, init) { - super(input, init); - - // add custom parameters - for (const key in init) { - if (!(key in this)) { - this[key] = init[key]; - } - } - } -} - /** * Returns a cheap, non-cryptographically-secure random ID * Courtesy of @imranbarbhuiya (https://github.com/imranbarbhuiya) @@ -30,6 +16,7 @@ export function randomID() { export default function createClient(clientOptions) { let { baseUrl = "", + Request: CustomRequest = globalThis.Request, fetch: baseFetch = globalThis.fetch, querySerializer: globalQuerySerializer, bodySerializer: globalBodySerializer, @@ -48,6 +35,7 @@ export default function createClient(clientOptions) { const { baseUrl: localBaseUrl, fetch = baseFetch, + Request = CustomRequest, headers, params = {}, parseAs = "json", @@ -98,6 +86,13 @@ export default function createClient(clientOptions) { let options; let request = new CustomRequest(createFinalURL(schemaPath, { baseUrl, params, querySerializer }), requestInit); + /** Add custom parameters to Request object */ + for (const key in init) { + if (!(key in request)) { + request[key] = init[key]; + } + } + if (middlewares.length) { id = randomID(); @@ -119,7 +114,7 @@ export default function createClient(clientOptions) { id, }); if (result) { - if (!(result instanceof Request)) { + if (!(result instanceof CustomRequest)) { throw new Error("onRequest: must return new Request() when modifying the request"); } request = result; diff --git a/packages/openapi-fetch/test/common/request.test.ts b/packages/openapi-fetch/test/common/request.test.ts index 8b9ea2763..e4d294ef4 100644 --- a/packages/openapi-fetch/test/common/request.test.ts +++ b/packages/openapi-fetch/test/common/request.test.ts @@ -282,6 +282,27 @@ describe("request", () => { expect(headers.get("cookie")).toEqual("session=1234"); }); + test("uses provided Request class", async () => { + // santity check to make sure the profided fetch function is actually called + expect.assertions(1); + + class SpecialRequestImplementation extends Request {} + + const specialFetch = async (input: Request) => { + // make sure that the request is actually an instance of the custom request we provided + expect(input).instanceOf(SpecialRequestImplementation); + return Promise.resolve(Response.json({ hello: "world" })); + }; + + const client = createClient({ + baseUrl: "https://fakeurl.example", + fetch: specialFetch, + Request: SpecialRequestImplementation, + }); + + await client.GET("/resources"); + }); + test("can attach custom properties to request", async () => { function createCustomFetch(data: any) { const response = { From d2cb020ecccd81b843fa7d2edc57fea2686c0ab4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 11:30:14 -0500 Subject: [PATCH 23/67] [ci] release (#1920) Co-authored-by: github-actions[bot] --- .changeset/brave-days-invent.md | 5 ----- packages/openapi-fetch/CHANGELOG.md | 6 ++++++ packages/openapi-fetch/package.json | 2 +- packages/openapi-react-query/CHANGELOG.md | 7 +++++++ packages/openapi-react-query/package.json | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) delete mode 100644 .changeset/brave-days-invent.md diff --git a/.changeset/brave-days-invent.md b/.changeset/brave-days-invent.md deleted file mode 100644 index 7ffaa90ef..000000000 --- a/.changeset/brave-days-invent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-fetch": patch ---- - -allow usage of custom Request class diff --git a/packages/openapi-fetch/CHANGELOG.md b/packages/openapi-fetch/CHANGELOG.md index e0d588aa3..a6d14e70b 100644 --- a/packages/openapi-fetch/CHANGELOG.md +++ b/packages/openapi-fetch/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-fetch +## 0.12.1 + +### Patch Changes + +- [#1907](https://github.com/openapi-ts/openapi-typescript/pull/1907) [`efaa1e2`](https://github.com/openapi-ts/openapi-typescript/commit/efaa1e23b9cb0901fe026e48fbb4b347f0c95507) Thanks [@tobiasdcl](https://github.com/tobiasdcl)! - allow usage of custom Request class + ## 0.12.0 ### Minor Changes diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index 64a0efa41..a8442b71e 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -1,7 +1,7 @@ { "name": "openapi-fetch", "description": "Fast, type-safe fetch client for your OpenAPI schema. Only 6 kb (min). Works with React, Vue, Svelte, or vanilla JS.", - "version": "0.12.0", + "version": "0.12.1", "author": { "name": "Drew Powers", "email": "drew@pow.rs" diff --git a/packages/openapi-react-query/CHANGELOG.md b/packages/openapi-react-query/CHANGELOG.md index 5ed9034b8..3d162d3ea 100644 --- a/packages/openapi-react-query/CHANGELOG.md +++ b/packages/openapi-react-query/CHANGELOG.md @@ -1,5 +1,12 @@ # openapi-react-query +## 0.1.6 + +### Patch Changes + +- Updated dependencies [[`efaa1e2`](https://github.com/openapi-ts/openapi-typescript/commit/efaa1e23b9cb0901fe026e48fbb4b347f0c95507)]: + - openapi-fetch@0.12.1 + ## 0.1.5 ### Patch Changes diff --git a/packages/openapi-react-query/package.json b/packages/openapi-react-query/package.json index 16ba4e82c..689583772 100644 --- a/packages/openapi-react-query/package.json +++ b/packages/openapi-react-query/package.json @@ -1,7 +1,7 @@ { "name": "openapi-react-query", "description": "Fast, type-safe @tanstack/react-query client to work with your OpenAPI schema.", - "version": "0.1.5", + "version": "0.1.6", "author": { "name": "Martin Paucot", "email": "contact@martin-paucot.fr" From e39d11e5ac4e7f5fc2ce81e8a6d7792f91a6551a Mon Sep 17 00:00:00 2001 From: yicrotkd Date: Sat, 21 Sep 2024 02:10:04 +0900 Subject: [PATCH 24/67] Improve middleware type definition (#1918) * Improve middleware type definition * Add type test for middleware * Add changeset --- .changeset/short-lizards-rescue.md | 5 +++++ packages/openapi-fetch/src/index.d.ts | 22 ++++++++++++++----- .../test/middleware/middleware.test.ts | 11 +++++++++- 3 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 .changeset/short-lizards-rescue.md diff --git a/.changeset/short-lizards-rescue.md b/.changeset/short-lizards-rescue.md new file mode 100644 index 000000000..cda21aeb2 --- /dev/null +++ b/.changeset/short-lizards-rescue.md @@ -0,0 +1,5 @@ +--- +"openapi-fetch": patch +--- + +Improve `Middleware` type definition to require either onRequest or onResponse diff --git a/packages/openapi-fetch/src/index.d.ts b/packages/openapi-fetch/src/index.d.ts index e3fd5ccfc..4941612fe 100644 --- a/packages/openapi-fetch/src/index.d.ts +++ b/packages/openapi-fetch/src/index.d.ts @@ -146,12 +146,22 @@ export interface MiddlewareCallbackParams { readonly options: MergedOptions; } -export interface Middleware { - onRequest?: (options: MiddlewareCallbackParams) => void | Request | undefined | Promise; - onResponse?: ( - options: MiddlewareCallbackParams & { response: Response }, - ) => void | Response | undefined | Promise; -} +type MiddlewareOnRequest = ( + options: MiddlewareCallbackParams, +) => void | Request | undefined | Promise; +type MiddlewareOnResponse = ( + options: MiddlewareCallbackParams & { response: Response }, +) => void | Response | undefined | Promise; + +export type Middleware = + | { + onRequest: MiddlewareOnRequest; + onResponse?: MiddlewareOnResponse; + } + | { + onRequest?: MiddlewareOnRequest; + onResponse: MiddlewareOnResponse; + }; /** This type helper makes the 2nd function param required if params/requestBody are required; otherwise, optional */ export type MaybeOptionalInit = RequiredKeysOf< diff --git a/packages/openapi-fetch/test/middleware/middleware.test.ts b/packages/openapi-fetch/test/middleware/middleware.test.ts index 1ac49e751..a13ee8c57 100644 --- a/packages/openapi-fetch/test/middleware/middleware.test.ts +++ b/packages/openapi-fetch/test/middleware/middleware.test.ts @@ -1,4 +1,4 @@ -import { expect, test } from "vitest"; +import { expect, test, expectTypeOf, assertType } from "vitest"; import { createObservedClient } from "../helpers.js"; import type { Middleware, MiddlewareCallbackParams } from "../../src/index.js"; import type { paths } from "./schemas/middleware.js"; @@ -354,3 +354,12 @@ test("auth header", async () => { }); expect(headers.get("authorization")).toBe(`Bearer ${accessToken}`); }); + +test("type error occurs only when neither onRequest nor onResponse is specified", async () => { + expectTypeOf().not.toEqualTypeOf({}); + const onRequest = async ({ request }: MiddlewareCallbackParams) => request; + const onResponse = async ({ response }: MiddlewareCallbackParams & { response: Response }) => response; + assertType({ onRequest }); + assertType({ onResponse }); + assertType({ onRequest, onResponse }); +}); From 6c38f6ab91d0a6684f951756eb76f5479fd488e7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:11:56 -0500 Subject: [PATCH 25/67] [ci] release (#1921) Co-authored-by: github-actions[bot] --- .changeset/short-lizards-rescue.md | 5 ----- packages/openapi-fetch/CHANGELOG.md | 6 ++++++ packages/openapi-fetch/package.json | 2 +- packages/openapi-react-query/CHANGELOG.md | 7 +++++++ packages/openapi-react-query/package.json | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) delete mode 100644 .changeset/short-lizards-rescue.md diff --git a/.changeset/short-lizards-rescue.md b/.changeset/short-lizards-rescue.md deleted file mode 100644 index cda21aeb2..000000000 --- a/.changeset/short-lizards-rescue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-fetch": patch ---- - -Improve `Middleware` type definition to require either onRequest or onResponse diff --git a/packages/openapi-fetch/CHANGELOG.md b/packages/openapi-fetch/CHANGELOG.md index a6d14e70b..51f95a635 100644 --- a/packages/openapi-fetch/CHANGELOG.md +++ b/packages/openapi-fetch/CHANGELOG.md @@ -1,5 +1,11 @@ # openapi-fetch +## 0.12.2 + +### Patch Changes + +- [#1918](https://github.com/openapi-ts/openapi-typescript/pull/1918) [`e39d11e`](https://github.com/openapi-ts/openapi-typescript/commit/e39d11e5ac4e7f5fc2ce81e8a6d7792f91a6551a) Thanks [@yicrotkd](https://github.com/yicrotkd)! - Improve `Middleware` type definition to require either onRequest or onResponse + ## 0.12.1 ### Patch Changes diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index a8442b71e..185ad25c8 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -1,7 +1,7 @@ { "name": "openapi-fetch", "description": "Fast, type-safe fetch client for your OpenAPI schema. Only 6 kb (min). Works with React, Vue, Svelte, or vanilla JS.", - "version": "0.12.1", + "version": "0.12.2", "author": { "name": "Drew Powers", "email": "drew@pow.rs" diff --git a/packages/openapi-react-query/CHANGELOG.md b/packages/openapi-react-query/CHANGELOG.md index 3d162d3ea..b7eb19c3f 100644 --- a/packages/openapi-react-query/CHANGELOG.md +++ b/packages/openapi-react-query/CHANGELOG.md @@ -1,5 +1,12 @@ # openapi-react-query +## 0.1.7 + +### Patch Changes + +- Updated dependencies [[`e39d11e`](https://github.com/openapi-ts/openapi-typescript/commit/e39d11e5ac4e7f5fc2ce81e8a6d7792f91a6551a)]: + - openapi-fetch@0.12.2 + ## 0.1.6 ### Patch Changes diff --git a/packages/openapi-react-query/package.json b/packages/openapi-react-query/package.json index 689583772..011680ec3 100644 --- a/packages/openapi-react-query/package.json +++ b/packages/openapi-react-query/package.json @@ -1,7 +1,7 @@ { "name": "openapi-react-query", "description": "Fast, type-safe @tanstack/react-query client to work with your OpenAPI schema.", - "version": "0.1.6", + "version": "0.1.7", "author": { "name": "Martin Paucot", "email": "contact@martin-paucot.fr" From 29bd162dccf441abbb33f07c6158410fd81a85d7 Mon Sep 17 00:00:00 2001 From: zsugabubus Date: Tue, 24 Sep 2024 14:47:51 +0200 Subject: [PATCH 26/67] feat(openapi-react-query): Introduce queryOptions (#1858) --- .changeset/query-options.md | 5 + docs/.vitepress/en.ts | 1 + docs/openapi-react-query/query-options.md | 123 ++++++++++++++++ packages/openapi-react-query/src/index.ts | 118 ++++++++------- .../openapi-react-query/test/index.test.tsx | 136 +++++++++++++++++- 5 files changed, 326 insertions(+), 57 deletions(-) create mode 100644 .changeset/query-options.md create mode 100644 docs/openapi-react-query/query-options.md diff --git a/.changeset/query-options.md b/.changeset/query-options.md new file mode 100644 index 000000000..ba194f6bc --- /dev/null +++ b/.changeset/query-options.md @@ -0,0 +1,5 @@ +--- +"openapi-react-query": minor +--- + +Introduce `queryOptions` that can be used as a building block to integrate with `useQueries`/`fetchQueries`/`prefetchQueries`… etc. diff --git a/docs/.vitepress/en.ts b/docs/.vitepress/en.ts index fd314c958..f87633c8b 100644 --- a/docs/.vitepress/en.ts +++ b/docs/.vitepress/en.ts @@ -76,6 +76,7 @@ export default defineConfig({ { text: "useQuery", link: "/openapi-react-query/use-query" }, { text: "useMutation", link: "/openapi-react-query/use-mutation" }, { text: "useSuspenseQuery", link: "/openapi-react-query/use-suspense-query" }, + { text: "queryOptions", link: "/openapi-react-query/query-options" }, { text: "About", link: "/openapi-react-query/about" }, ], }, diff --git a/docs/openapi-react-query/query-options.md b/docs/openapi-react-query/query-options.md new file mode 100644 index 000000000..f98c6fa26 --- /dev/null +++ b/docs/openapi-react-query/query-options.md @@ -0,0 +1,123 @@ +--- +title: queryOptions +--- +# {{ $frontmatter.title }} + +The `queryOptions` method allows you to construct type-safe [Query Options](https://tanstack.com/query/latest/docs/framework/react/guides/query-options). + +`queryOptions` can be used together with `@tanstack/react-query` APIs that take query options, such as +[useQuery](https://tanstack.com/query/latest/docs/framework/react/reference/useQuery), +[useQueries](https://tanstack.com/query/latest/docs/framework/react/reference/useQueries), +[usePrefetchQuery](https://tanstack.com/query/latest/docs/framework/react/reference/usePrefetchQuery) and +[QueryClient.fetchQuery](https://tanstack.com/query/latest/docs/reference/QueryClient#queryclientfetchquery) +among many others. + +If you would like to use a query API that is not explicitly supported by `openapi-react-query`, this is the way to go. + +## Examples + +[useQuery example](use-query#example) rewritten using `queryOptions`. + +::: code-group + +```tsx [src/app.tsx] +import { useQuery } from '@tanstack/react-query'; +import { $api } from "./api"; + +export const App = () => { + const { data, error, isLoading } = useQuery( + $api.queryOptions("get", "/users/{user_id}", { + params: { + path: { user_id: 5 }, + }, + }), + ); + + if (!data || isLoading) return "Loading..."; + if (error) return `An error occured: ${error.message}`; + + return
{data.firstname}
; +}; +``` + +```ts [src/api.ts] +import createFetchClient from "openapi-fetch"; +import createClient from "openapi-react-query"; +import type { paths } from "./my-openapi-3-schema"; // generated by openapi-typescript + +const fetchClient = createFetchClient({ + baseUrl: "https://myapi.dev/v1/", +}); +export const $api = createClient(fetchClient); +``` + +::: + +::: info Good to Know + +Both [useQuery](use-query) and [useSuspenseQuery](use-suspense-query) use `queryOptions` under the hood. + +::: + +Usage with [useQueries](https://tanstack.com/query/latest/docs/framework/react/reference/useQueries). + +::: code-group + +```tsx [src/use-users-by-id.ts] +import { useQueries } from '@tanstack/react-query'; +import { $api } from "./api"; + +export const useUsersById = (userIds: number[]) => ( + useQueries({ + queries: userIds.map((userId) => ( + $api.queryOptions("get", "/users/{user_id}", { + params: { + path: { user_id: userId }, + }, + }) + )) + }) +); +``` + +```ts [src/api.ts] +import createFetchClient from "openapi-fetch"; +import createClient from "openapi-react-query"; +import type { paths } from "./my-openapi-3-schema"; // generated by openapi-typescript + +const fetchClient = createFetchClient({ + baseUrl: "https://myapi.dev/v1/", +}); +export const $api = createClient(fetchClient); +``` + +::: + +## Api + +```tsx +const queryOptions = $api.queryOptions(method, path, options, queryOptions); +``` + +**Arguments** + +- `method` **(required)** + - The HTTP method to use for the request. + - The method is used as key. See [Query Keys](https://tanstack.com/query/latest/docs/framework/react/guides/query-keys) for more information. +- `path` **(required)** + - The pathname to use for the request. + - Must be an available path for the given method in your schema. + - The pathname is used as key. See [Query Keys](https://tanstack.com/query/latest/docs/framework/react/guides/query-keys) for more information. +- `options` + - The fetch options to use for the request. + - Only required if the OpenApi schema requires parameters. + - The options `params` are used as key. See [Query Keys](https://tanstack.com/query/latest/docs/framework/react/guides/query-keys) for more information. +- `queryOptions` + - Additional query options to pass through. + +**Returns** + +- [Query Options](https://tanstack.com/query/latest/docs/framework/react/guides/query-options) + - Fully typed thus `data` and `error` will be correctly deducted. + - `queryKey` is `[method, path, params]`. + - `queryFn` is set to a fetcher function. diff --git a/packages/openapi-react-query/src/index.ts b/packages/openapi-react-query/src/index.ts index 95dde2d9d..95b965472 100644 --- a/packages/openapi-react-query/src/index.ts +++ b/packages/openapi-react-query/src/index.ts @@ -6,6 +6,7 @@ import { type UseSuspenseQueryOptions, type UseSuspenseQueryResult, type QueryClient, + type QueryFunctionContext, useMutation, useQuery, useSuspenseQuery, @@ -13,18 +14,46 @@ import { import type { ClientMethod, FetchResponse, MaybeOptionalInit, Client as FetchClient } from "openapi-fetch"; import type { HttpMethod, MediaType, PathsWithMethod, RequiredKeysOf } from "openapi-typescript-helpers"; +type InitWithUnknowns = Init & { [key: string]: unknown }; + +export type QueryKey< + Paths extends Record>, + Method extends HttpMethod, + Path extends PathsWithMethod, +> = readonly [Method, Path, MaybeOptionalInit]; + +export type QueryOptionsFunction>, Media extends MediaType> = < + Method extends HttpMethod, + Path extends PathsWithMethod, + Init extends MaybeOptionalInit, + Response extends Required>, // note: Required is used to avoid repeating NonNullable in UseQuery types + Options extends Omit< + UseQueryOptions>, + "queryKey" | "queryFn" + >, +>( + method: Method, + path: Path, + ...[init, options]: RequiredKeysOf extends never + ? [InitWithUnknowns?, Options?] + : [InitWithUnknowns, Options?] +) => UseQueryOptions>; + export type UseQueryMethod>, Media extends MediaType> = < Method extends HttpMethod, Path extends PathsWithMethod, Init extends MaybeOptionalInit, Response extends Required>, // note: Required is used to avoid repeating NonNullable in UseQuery types - Options extends Omit, "queryKey" | "queryFn">, + Options extends Omit< + UseQueryOptions>, + "queryKey" | "queryFn" + >, >( method: Method, url: Path, ...[init, options, queryClient]: RequiredKeysOf extends never - ? [(Init & { [key: string]: unknown })?, Options?, QueryClient?] - : [Init & { [key: string]: unknown }, Options?, QueryClient?] + ? [InitWithUnknowns?, Options?, QueryClient?] + : [InitWithUnknowns, Options?, QueryClient?] ) => UseQueryResult; export type UseSuspenseQueryMethod>, Media extends MediaType> = < @@ -32,13 +61,16 @@ export type UseSuspenseQueryMethod, Init extends MaybeOptionalInit, Response extends Required>, // note: Required is used to avoid repeating NonNullable in UseQuery types - Options extends Omit, "queryKey" | "queryFn">, + Options extends Omit< + UseSuspenseQueryOptions>, + "queryKey" | "queryFn" + >, >( method: Method, url: Path, ...[init, options, queryClient]: RequiredKeysOf extends never - ? [(Init & { [key: string]: unknown })?, Options?, QueryClient?] - : [Init & { [key: string]: unknown }, Options?, QueryClient?] + ? [InitWithUnknowns?, Options?, QueryClient?] + : [InitWithUnknowns, Options?, QueryClient?] ) => UseSuspenseQueryResult; export type UseMutationMethod>, Media extends MediaType> = < @@ -55,62 +87,49 @@ export type UseMutationMethod UseMutationResult; export interface OpenapiQueryClient { + queryOptions: QueryOptionsFunction; useQuery: UseQueryMethod; useSuspenseQuery: UseSuspenseQueryMethod; useMutation: UseMutationMethod; } -// TODO: Move the client[method]() fn outside for reusability // TODO: Add the ability to bring queryClient as argument export default function createClient( client: FetchClient, ): OpenapiQueryClient { + const queryFn = async >({ + queryKey: [method, path, init], + signal, + }: QueryFunctionContext>) => { + const mth = method.toUpperCase() as Uppercase; + const fn = client[mth] as ClientMethod; + const { data, error } = await fn(path, { signal, ...(init as any) }); // TODO: find a way to avoid as any + if (error || !data) { + throw error; + } + return data; + }; + + const queryOptions: QueryOptionsFunction = (method, path, ...[init, options]) => ({ + queryKey: [method, path, init as InitWithUnknowns] as const, + queryFn, + ...options, + }); + return { - useQuery: (method, path, ...[init, options, queryClient]) => { - return useQuery( - { - queryKey: [method, path, init], - queryFn: async ({ signal }) => { - const mth = method.toUpperCase() as keyof typeof client; - const fn = client[mth] as ClientMethod; - const { data, error } = await fn(path, { signal, ...(init as any) }); // TODO: find a way to avoid as any - if (error || !data) { - throw error; - } - return data; - }, - ...options, - }, - queryClient, - ); - }, - useSuspenseQuery: (method, path, ...[init, options, queryClient]) => { - return useSuspenseQuery( - { - queryKey: [method, path, init], - queryFn: async ({ signal }) => { - const mth = method.toUpperCase() as keyof typeof client; - const fn = client[mth] as ClientMethod; - const { data, error } = await fn(path, { signal, ...(init as any) }); // TODO: find a way to avoid as any - if (error || !data) { - throw error; - } - return data; - }, - ...options, - }, - queryClient, - ); - }, - useMutation: (method, path, options, queryClient) => { - return useMutation( + queryOptions, + useQuery: (method, path, ...[init, options, queryClient]) => + useQuery(queryOptions(method, path, init as InitWithUnknowns, options), queryClient), + useSuspenseQuery: (method, path, ...[init, options, queryClient]) => + useSuspenseQuery(queryOptions(method, path, init as InitWithUnknowns, options), queryClient), + useMutation: (method, path, options, queryClient) => + useMutation( { mutationKey: [method, path], mutationFn: async (init) => { - // TODO: Put in external fn for reusability - const mth = method.toUpperCase() as keyof typeof client; + const mth = method.toUpperCase() as Uppercase; const fn = client[mth] as ClientMethod; - const { data, error } = await fn(path, init as any); // TODO: find a way to avoid as any + const { data, error } = await fn(path, init as InitWithUnknowns); if (error || !data) { throw error; } @@ -119,7 +138,6 @@ export default function createClient ( {children} ); +const fetchInfinite = async () => { + await new Promise(() => {}); + return Response.error(); +}; + beforeAll(() => { server.listen({ onUnhandledRequest: (request) => { @@ -39,13 +44,117 @@ describe("client", () => { it("generates all proper functions", () => { const fetchClient = createFetchClient({ baseUrl }); const client = createClient(fetchClient); + expect(client).toHaveProperty("queryOptions"); expect(client).toHaveProperty("useQuery"); expect(client).toHaveProperty("useSuspenseQuery"); expect(client).toHaveProperty("useMutation"); }); + describe("queryOptions", () => { + it("has correct parameter types", async () => { + const fetchClient = createFetchClient({ baseUrl }); + const client = createClient(fetchClient); + + client.queryOptions("get", "/string-array"); + // @ts-expect-error: Wrong method. + client.queryOptions("put", "/string-array"); + // @ts-expect-error: Wrong path. + client.queryOptions("get", "/string-arrayX"); + // @ts-expect-error: Missing 'post_id' param. + client.queryOptions("get", "/blogposts/{post_id}", {}); + }); + + it("returns query options that can resolve data correctly with fetchQuery", async () => { + const response = { title: "title", body: "body" }; + const fetchClient = createFetchClient({ baseUrl }); + const client = createClient(fetchClient); + + useMockRequestHandler({ + baseUrl, + method: "get", + path: "/blogposts/1", + status: 200, + body: response, + }); + + const data = await queryClient.fetchQuery( + client.queryOptions("get", "/blogposts/{post_id}", { + params: { + path: { + post_id: "1", + }, + }, + }), + ); + + expectTypeOf(data).toEqualTypeOf<{ + title: string; + body: string; + publish_date?: number; + }>(); + + expect(data).toEqual(response); + }); + + it("returns query options that can be passed to useQueries and have correct types inferred", async () => { + const fetchClient = createFetchClient({ baseUrl, fetch: fetchInfinite }); + const client = createClient(fetchClient); + + const { result } = renderHook( + () => + useQueries( + { + queries: [ + client.queryOptions("get", "/string-array"), + client.queryOptions("get", "/string-array", {}), + client.queryOptions("get", "/blogposts/{post_id}", { + params: { + path: { + post_id: "1", + }, + }, + }), + client.queryOptions("get", "/blogposts/{post_id}", { + params: { + path: { + post_id: "2", + }, + }, + }), + ], + }, + queryClient, + ), + { + wrapper, + }, + ); + + expectTypeOf(result.current[0].data).toEqualTypeOf(); + expectTypeOf(result.current[0].error).toEqualTypeOf<{ code: number; message: string } | null>(); + + expectTypeOf(result.current[1]).toEqualTypeOf<(typeof result.current)[0]>(); + + expectTypeOf(result.current[2].data).toEqualTypeOf< + | { + title: string; + body: string; + publish_date?: number; + } + | undefined + >(); + expectTypeOf(result.current[2].error).toEqualTypeOf<{ code: number; message: string } | null>(); + + expectTypeOf(result.current[3]).toEqualTypeOf<(typeof result.current)[2]>(); + + // Generated different queryKey for each query. + expect(queryClient.isFetching()).toBe(4); + }); + }); + describe("useQuery", () => { it("should resolve data properly and have error as null when successfull request", async () => { + const response = ["one", "two", "three"]; const fetchClient = createFetchClient({ baseUrl }); const client = createClient(fetchClient); @@ -54,7 +163,7 @@ describe("client", () => { method: "get", path: "/string-array", status: 200, - body: ["one", "two", "three"], + body: response, }); const { result } = renderHook(() => client.useQuery("get", "/string-array"), { @@ -65,9 +174,7 @@ describe("client", () => { const { data, error } = result.current; - // … is initially possibly undefined - // @ts-expect-error - expect(data[0]).toBe("one"); + expect(data).toEqual(response); expect(error).toBeNull(); }); @@ -116,8 +223,7 @@ describe("client", () => { baseUrl, fetch: async ({ signal }) => { signalPassedToFetch = signal; - await new Promise(() => {}); - return Response.error(); + return await fetchInfinite(); }, }); const client = createClient(fetchClient); @@ -185,6 +291,22 @@ describe("client", () => { await waitFor(() => expect(rendered.getByText("data: hello"))); }); + + it("uses provided options", async () => { + const initialData = ["initial", "data"]; + const fetchClient = createFetchClient({ baseUrl }); + const client = createClient(fetchClient); + + const { result } = renderHook( + () => client.useQuery("get", "/string-array", {}, { enabled: false, initialData }), + { wrapper }, + ); + + const { data, error } = result.current; + + expect(data).toBe(initialData); + expect(error).toBeNull(); + }); }); describe("useSuspenseQuery", () => { From 29bdb4d8a629db9a91a5fe9755b7da789332b24d Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Tue, 24 Sep 2024 14:37:55 -0600 Subject: [PATCH 27/67] Add Speakeasy sponsor (#1919) --- README.md | 13 +++++++++--- docs/.vitepress/theme/CustomLayout.vue | 21 ++++++++++++++++--- docs/.vitepress/theme/SponsorList.vue | 29 ++++++++++++++++++++------ docs/data/contributors.json | 2 +- docs/data/sponsors.json | 6 +++--- docs/public/assets/speakeasy.svg | 1 + 6 files changed, 56 insertions(+), 16 deletions(-) create mode 100644 docs/public/assets/speakeasy.svg diff --git a/README.md b/README.md index d35dc2549..9f7be7fc9 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,10 @@ Ultra-fast fetching for TypeScript generated automatically from your OpenAPI sch ### 🥇 Gold Sponsors -

Zuplo

+

+ Zuplo + +

### 🥈 Silver Sponsors @@ -24,8 +27,12 @@ Ultra-fast fetching for TypeScript generated automatically from your OpenAPI sch ### Backers -

@customerio on GitHub -@shaunpersad on GitHub@yoshi2no on GitHub

+

+ @customerio on GitHub + @shaunpersad on GitHub + @yoshi2no on GitHub + @siketyan on GitHub +

Become a sponsor by supporting this project on [OpenCollective](https://opencollective.com/openapi-ts)! diff --git a/docs/.vitepress/theme/CustomLayout.vue b/docs/.vitepress/theme/CustomLayout.vue index 138e83fd0..0a71a2955 100644 --- a/docs/.vitepress/theme/CustomLayout.vue +++ b/docs/.vitepress/theme/CustomLayout.vue @@ -42,8 +42,16 @@ const { Layout } = DefaultTheme;