diff --git a/docs/src/content/docs/about.md b/docs/src/content/docs/about.md
index ec08f84b8..94989dbb2 100644
--- a/docs/src/content/docs/about.md
+++ b/docs/src/content/docs/about.md
@@ -23,6 +23,7 @@ description: Additional info about this project
## Project goals
1. Support converting any valid OpenAPI schema to TypeScript types, no matter how complicated.
+1. Generate **runtime-free types** for maximum performance.
1. This library does **NOT** validate your schema, there are other libraries for that.
1. The generated TypeScript types **must** match your schema as closely as possible (e.g. no renaming to `PascalCase`)
1. This library should never require Java, node-gyp, or some other complex environment to work. This should require Node.js and nothing else.
diff --git a/docs/src/content/docs/introduction.md b/docs/src/content/docs/introduction.md
index e08eb8289..8bb2bb2f8 100644
--- a/docs/src/content/docs/introduction.md
+++ b/docs/src/content/docs/introduction.md
@@ -12,10 +12,9 @@ The code is discriminators)
-- ✅ Supports YAML and JSON
-- ✅ Supports loading via remote URL (simple authentication supported with the `--auth` flag)
-- ✅ Supports remote references: `$ref: "external.yaml#components/schemas/User"`
-- ✅ Fetches remote schemas quickly using undici
+- ✅ Generate **runtime-free types** that outperform old-school codegen
+- ✅ Load schemas from YAML or JSON, locally or remotely
+- ✅ Native Node.js code is fast and generates types within milliseconds
_Note: OpenAPI 2.x is supported with versions `5.x` and previous_
@@ -45,7 +44,7 @@ npx openapi-typescript https://myapi.dev/api/v1/openapi.yaml -o ./path/to/my/sch
# 🚀 https://myapi.dev/api/v1/openapi.yaml -> ./path/to/my/schema.d.ts [250ms]
```
-> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas.
+> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas.
Then, import schemas from the generated file like so:
diff --git a/docs/src/content/docs/openapi-fetch/index.md b/docs/src/content/docs/openapi-fetch/index.md
index 53870492c..cb2534ea0 100644
--- a/docs/src/content/docs/openapi-fetch/index.md
+++ b/docs/src/content/docs/openapi-fetch/index.md
@@ -61,7 +61,7 @@ Next, generate TypeScript types from your OpenAPI schema using openapi-typescrip
npx openapi-typescript ./path/to/api/v1.yaml -o ./src/lib/api/v1.d.ts
```
-> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas.
+> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas.
Lastly, be sure to **run typechecking** in your project. This can be done by adding `tsc --noEmit` to your npm scripts like so:
diff --git a/packages/openapi-fetch/README.md b/packages/openapi-fetch/README.md
index bd665e887..c489db1ba 100644
--- a/packages/openapi-fetch/README.md
+++ b/packages/openapi-fetch/README.md
@@ -56,7 +56,7 @@ Next, generate TypeScript types from your OpenAPI schema using openapi-typescrip
npx openapi-typescript ./path/to/api/v1.yaml -o ./src/lib/api/v1.d.ts
```
-> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas.
+> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas.
Lastly, be sure to **run typechecking** in your project. This can be done by adding `tsc --noEmit` to your npm scripts like so:
diff --git a/packages/openapi-typescript/README.md b/packages/openapi-typescript/README.md
index fa684ca35..810c12680 100644
--- a/packages/openapi-typescript/README.md
+++ b/packages/openapi-typescript/README.md
@@ -6,11 +6,10 @@ The code is [MIT-licensed](./LICENSE) and free for use.
**Features**
-- ✅ Supports YAML and JSON formats
-- ✅ Supports advanced OpenAPI 3.1 features like [discriminators](https://spec.openapis.org/oas/v3.1.0#discriminator-object)
-- ✅ Supports loading via remote URL (simple authentication supported with the `--auth` flag)
-- ✅ Supports remote references: `$ref: "external.yaml#components/schemas/User"`
-- ✅ Fetches remote schemas quickly using [undici](https://www.npmjs.com/package/undici)
+- ✅ Supports OpenAPI 3.0 and 3.1 (including advanced features like discriminators)
+- ✅ Generate **runtime-free types** that outperform old-school codegen
+- ✅ Load schemas from YAML or JSON, locally or remotely
+- ✅ Native Node.js code is fast and generates types within milliseconds
**Examples**
@@ -18,19 +17,37 @@ The code is [MIT-licensed](./LICENSE) and free for use.
## Usage
-Note:️ openapiTS requires **VALID** OpenAPI 3.x schemas to work, and this library does not handle validation. There are several quality tools that handle this like [@apidevtools/swagger-parser](https://www.npmjs.com/package/@apidevtools/swagger-parser). Make sure to validate your schemas first!
+First, generate a local type file by running `npx openapi-typescript`:
-### 🖥️ CLI
+```bash
+# Local schema
+npx openapi-typescript ./path/to/my/schema.yaml -o ./path/to/my/schema.d.ts
+# 🚀 ./path/to/my/schema.yaml -> ./path/to/my/schema.d.ts [7ms]
-#### 🗄️ Reading schemas
+# Remote schema
+npx openapi-typescript https://myapi.dev/api/v1/openapi.yaml -o ./path/to/my/schema.d.ts
+# 🚀 https://myapi.dev/api/v1/openapi.yaml -> ./path/to/my/schema.d.ts [250ms]
+```
-```bash
-npx openapi-typescript schema.yaml --output schema.ts
+> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas.
+
+Then, import schemas from the generated file like so:
+
+```ts
+import { paths, components } from "./path/to/my/schema"; // <- generated by openapi-typescript
-# 🚀 schema.yaml -> schema.ts [7ms]
+// Schema Obj
+type MyType = components["schemas"]["MyType"];
+
+// Path params
+type EndpointParams = paths["/my/endpoint"]["parameters"];
+
+// Response obj
+type SuccessResponse = paths["/my/endpoint"]["get"]["responses"][200]["content"]["application/json"]["schema"];
+type ErrorResponse = paths["/my/endpoint"]["get"]["responses"][500]["content"]["application/json"]["schema"];
```
-##### 🦠 Globbing local schemas
+#### 🦠 Globbing local schemas
```bash
npx openapi-typescript "specs/**/*.yaml" --output schemas/
@@ -52,30 +69,6 @@ npx openapi-typescript https://petstore3.swagger.io/api/v3/openapi.yaml --output
_Thanks, [@psmyrdek](https://github.com/psmyrdek)!_
-#### 🟦 Using in TypeScript
-
-Import any top-level item from the generated spec to use it. It works best if you also alias types to save on typing:
-
-```ts
-import { components } from "./generated-schema.ts";
-
-type APIResponse = components["schemas"]["APIResponse"];
-```
-
-Because OpenAPI schemas may have invalid TypeScript characters as names, the square brackets are a safe way to access every property.
-
-##### 🏗️ Operations
-
-Operations can be imported directly by their [operationId](https://spec.openapis.org/oas/latest.html#operation-object):
-
-```ts
-import { operations } from "./generated-schema.ts";
-
-type getUsersById = operations["getUsersById"];
-```
-
-_Thanks, [@gr2m](https://github.com/gr2m)!_
-
#### ⚾ Fetching data
Fetching data can be done simply and safely using an **automatically-typed fetch wrapper**:
@@ -268,6 +261,7 @@ There are many other uses for this besides checking `format`. Because this must
## 🏅 Project Goals
1. Support converting any valid OpenAPI schema to TypeScript types, no matter how complicated.
+1. Generate **runtime-free types** for maximum performance.
1. This library does **NOT** validate your schema, there are other libraries for that.
1. The generated TypeScript types **must** match your schema as closely as possible (e.g. no renaming to `PascalCase`)
1. This library should never require Java, node-gyp, or some other complex environment to work. This should require Node.js and nothing else.
diff --git a/packages/openapi-typescript/examples/digital-ocean-api.ts b/packages/openapi-typescript/examples/digital-ocean-api.ts
index 092d4242f..daf366382 100644
--- a/packages/openapi-typescript/examples/digital-ocean-api.ts
+++ b/packages/openapi-typescript/examples/digital-ocean-api.ts
@@ -6162,7 +6162,33 @@ export interface external {
redis_acl_channels_default?: "allchannels" | "resetchannels";
}
"resources/databases/models/source_database.yml": {
- source?: external["resources/databases/models/database_connection.yml"];
+ source?: {
+ /**
+ * @description The FQDN pointing to the database cluster's current primary node.
+ * @example backend-do-user-19081923-0.db.ondigitalocean.com
+ */
+ host?: string;
+ /**
+ * @description The port on which the database cluster is listening.
+ * @example 25060
+ */
+ port?: number;
+ /**
+ * @description The name of the default database.
+ * @example defaultdb
+ */
+ dbname?: string;
+ /**
+ * @description The default user for the database.
+ * @example doadmin
+ */
+ username?: string;
+ /**
+ * @description The randomly generated password for the default user.
+ * @example wv78n3zpz42xezdk
+ */
+ password?: string;
+ };
/**
* @description Enables SSL encryption when connecting to the source database.
* @example false
diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_get_migrationStatus.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_get_migrationStatus.yml
index d404c9a9e..bdac0eda7 100644
--- a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_get_migrationStatus.yml
+++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/examples/curl/databases_get_migrationStatus.yml
@@ -1,7 +1,6 @@
lang: cURL
source: |-
- curl -X PUT \
+ curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
- -d '{"source":{"host":"source-do-user-6607903-0.b.db.ondigitalocean.com","dbname":"defaultdb","port":25060,"username":"doadmin","password":"paakjnfe10rsrsmf"},"disable_ssl":false}' \
"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration"
diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/source_database.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/source_database.yml
index 1fd9fea34..b4d656266 100644
--- a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/source_database.yml
+++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/source_database.yml
@@ -2,8 +2,28 @@ type: object
properties:
source:
- allOf:
- - $ref: './database_connection.yml'
+ type: object
+ properties:
+ host:
+ type: string
+ description: The FQDN pointing to the database cluster's current primary node.
+ example: backend-do-user-19081923-0.db.ondigitalocean.com
+ port:
+ type: integer
+ description: The port on which the database cluster is listening.
+ example: 25060
+ dbname:
+ type: string
+ description: The name of the default database.
+ example: defaultdb
+ username:
+ type: string
+ description: The default user for the database.
+ example: doadmin
+ password:
+ type: string
+ description: The randomly generated password for the default user.
+ example: wv78n3zpz42xezdk
disable_ssl:
type: boolean
description: Enables SSL encryption when connecting to the source database.
diff --git a/packages/openapi-typescript/examples/github-api-next.ts b/packages/openapi-typescript/examples/github-api-next.ts
index 7f44d7a0e..5b47ca4a7 100644
--- a/packages/openapi-typescript/examples/github-api-next.ts
+++ b/packages/openapi-typescript/examples/github-api-next.ts
@@ -5529,7 +5529,12 @@ export interface paths {
put: operations["activity/mark-repo-notifications-as-read"];
};
"/repos/{owner}/{repo}/pages": {
- /** Get a GitHub Pages site */
+ /**
+ * Get a GitHub Pages site
+ * @description Gets information about a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-pages"];
/**
* Update information about a GitHub Pages site
@@ -5554,7 +5559,12 @@ export interface paths {
delete: operations["repos/delete-pages-site"];
};
"/repos/{owner}/{repo}/pages/builds": {
- /** List GitHub Pages builds */
+ /**
+ * List GitHub Pages builds
+ * @description Lists builts of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/list-pages-builds"];
/**
* Request a GitHub Pages build
@@ -5565,11 +5575,21 @@ export interface paths {
post: operations["repos/request-pages-build"];
};
"/repos/{owner}/{repo}/pages/builds/latest": {
- /** Get latest Pages build */
+ /**
+ * Get latest Pages build
+ * @description Gets information about the single most recent build of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-latest-pages-build"];
};
"/repos/{owner}/{repo}/pages/builds/{build_id}": {
- /** Get GitHub Pages build */
+ /**
+ * Get GitHub Pages build
+ * @description Gets information about a GitHub Pages build.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-pages-build"];
};
"/repos/{owner}/{repo}/pages/deployment": {
@@ -5747,11 +5767,15 @@ export interface paths {
get: operations["pulls/list-files"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/merge": {
- /** Check if a pull request has been merged */
+ /**
+ * 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 This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * @description Merges a pull request into the base branch.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
put: operations["pulls/merge"];
};
@@ -5763,10 +5787,14 @@ export interface paths {
get: operations["pulls/list-requested-reviewers"];
/**
* Request reviewers for a pull request
- * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * @description Requests reviews for a pull request from a given set of users and/or teams.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["pulls/request-reviewers"];
- /** Remove requested reviewers from a pull request */
+ /**
+ * Remove requested reviewers from a pull request
+ * @description Removes review requests from a pull request for a given set of users and/or teams.
+ */
delete: operations["pulls/remove-requested-reviewers"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews": {
@@ -5788,14 +5816,20 @@ export interface paths {
post: operations["pulls/create-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": {
- /** Get a review for a pull request */
+ /**
+ * Get a review for a pull request
+ * @description Retrieves a pull request review by its ID.
+ */
get: operations["pulls/get-review"];
/**
* Update a review for a pull request
* @description Update the review summary comment with new text.
*/
put: operations["pulls/update-review"];
- /** Delete a pending review for a pull request */
+ /**
+ * Delete a pending review for a pull request
+ * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted.
+ */
delete: operations["pulls/delete-pending-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": {
@@ -9052,6 +9086,19 @@ export interface webhooks {
*/
post: operations["merge-group/checks-requested"];
};
+ "merge-group-destroyed": {
+ /**
+ * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)."
+ *
+ * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission.
+ *
+ * **Note**: The pull request merge queue feature is currently in public beta and subject to change.
+ * @description The merge queue groups pull requests together to be merged. This event indicates that one of those merge groups was destroyed. This happens when a pull request is removed from the queue: any group containing that pull request is also destroyed.
+ *
+ * When you receive this event, you may want to cancel any checks that are running on the head SHA to avoid wasting computing resources on a merge group that will not be used.
+ */
+ post: operations["merge-group/destroyed"];
+ };
"meta-deleted": {
/**
* This event occurs when there is activity relating to a webhook itself.
@@ -15020,17 +15067,35 @@ export interface components {
* @description A commit.
*/
"simple-commit": {
+ /** @description SHA for the commit */
id: string;
+ /** @description SHA for the commit's tree */
tree_id: string;
+ /** @description Message describing the purpose of the commit */
message: string;
- /** Format: date-time */
+ /**
+ * Format: date-time
+ * @description Timestamp of the commit
+ */
timestamp: string;
+ /** @description Information about the Git author */
author: OneOf<[{
+ /** @description Name of the commit's author */
name: string;
+ /**
+ * Format: email
+ * @description Git email address of the commit's author
+ */
email: string;
}, null]>;
+ /** @description Information about the Git committer */
committer: OneOf<[{
+ /** @description Name of the commit's committer */
name: string;
+ /**
+ * Format: email
+ * @description Git email address of the commit's committer
+ */
email: string;
}, null]>;
};
@@ -18946,12 +19011,12 @@ export interface components {
* @description The package's language or package management ecosystem.
* @enum {string}
*/
- "repository-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other";
+ "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other";
/** @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: OneOf<[{
- ecosystem: components["schemas"]["repository-advisory-ecosystems"];
+ ecosystem: components["schemas"]["security-advisory-ecosystems"];
/** @description The unique package name within its ecosystem. */
name: OneOf<[string, null]>;
}, null]>;
@@ -18966,11 +19031,11 @@ export interface components {
* @description The type of credit the user is receiving.
* @enum {string}
*/
- "repository-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other";
+ "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other";
/** @description A credit given to a user for a repository security advisory. */
"repository-advisory-credit": {
user: components["schemas"]["simple-user"];
- type: components["schemas"]["repository-advisory-credit-types"];
+ type: components["schemas"]["security-advisory-credit-types"];
/**
* @description The state of the user's acceptance of the credit.
* @enum {string}
@@ -19064,7 +19129,7 @@ export interface components {
credits: OneOf<[({
/** @description The username of the user credited. */
login?: string;
- type?: components["schemas"]["repository-advisory-credit-types"];
+ type?: components["schemas"]["security-advisory-credit-types"];
})[], null]>;
credits_detailed: OneOf<[readonly (components["schemas"]["repository-advisory-credit"])[], null]>;
};
@@ -19079,7 +19144,7 @@ export interface components {
vulnerabilities: ({
/** @description The name of the package affected by the vulnerability. */
package: {
- ecosystem: components["schemas"]["repository-advisory-ecosystems"];
+ ecosystem: components["schemas"]["security-advisory-ecosystems"];
/** @description The unique package name within its ecosystem. */
name?: OneOf<[string, null]>;
};
@@ -19096,7 +19161,7 @@ export interface components {
credits?: OneOf<[({
/** @description The username of the user credited. */
login: string;
- type: components["schemas"]["repository-advisory-credit-types"];
+ 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`.
@@ -19115,7 +19180,7 @@ export interface components {
vulnerabilities?: OneOf<[({
/** @description The name of the package affected by the vulnerability. */
package: {
- ecosystem: components["schemas"]["repository-advisory-ecosystems"];
+ ecosystem: components["schemas"]["security-advisory-ecosystems"];
/** @description The unique package name within its ecosystem. */
name?: OneOf<[string, null]>;
};
@@ -19147,7 +19212,7 @@ export interface components {
vulnerabilities?: ({
/** @description The name of the package affected by the vulnerability. */
package: {
- ecosystem: components["schemas"]["repository-advisory-ecosystems"];
+ ecosystem: components["schemas"]["security-advisory-ecosystems"];
/** @description The unique package name within its ecosystem. */
name?: OneOf<[string, null]>;
};
@@ -19164,7 +19229,7 @@ export interface components {
credits?: OneOf<[({
/** @description The username of the user credited. */
login: string;
- type: components["schemas"]["repository-advisory-credit-types"];
+ 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`.
@@ -20289,6 +20354,21 @@ export interface components {
url?: string;
}, null]>;
};
+ /**
+ * Merge Group
+ * @description A group of pull requests that the merge queue has grouped together to be merged.
+ */
+ "merge-group": {
+ /** @description The SHA of the merge group. */
+ head_sha: string;
+ /** @description The full ref of the merge group. */
+ head_ref: string;
+ /** @description The SHA of the merge group's parent commit. */
+ base_sha: string;
+ /** @description The full ref of the branch the merge group will be merged into. */
+ base_ref: string;
+ head_commit: components["schemas"]["simple-commit"];
+ };
/**
* Personal Access Token Request
* @description Details of a Personal Access Token Request.
@@ -36715,50 +36795,21 @@ export interface components {
/** @enum {string} */
action: "checks_requested";
installation?: components["schemas"]["simple-installation"];
- /** MergeGroup */
- 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;
- /** SimpleCommit */
- head_commit: {
- /**
- * Committer
- * @description Metaproperties for Git author/committer information.
- */
- author: {
- /** Format: date-time */
- date?: string;
- /** Format: email */
- email: OneOf<[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: OneOf<[string, null]>;
- /** @description The git author's name. */
- name: string;
- username?: string;
- };
- id: string;
- message: string;
- timestamp: string;
- tree_id: string;
- };
- };
+ merge_group: components["schemas"]["merge-group"];
+ organization?: components["schemas"]["organization-simple"];
+ repository?: components["schemas"]["repository"];
+ sender?: components["schemas"]["simple-user"];
+ };
+ "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"];
repository?: components["schemas"]["repository"];
sender?: components["schemas"]["simple-user"];
@@ -96503,7 +96554,12 @@ export interface operations {
205: never;
};
};
- /** Get a GitHub Pages site */
+ /**
+ * Get a GitHub Pages site
+ * @description Gets information about a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
"repos/get-pages": {
parameters: {
path: {
@@ -96633,7 +96689,12 @@ export interface operations {
422: components["responses"]["validation_failed"];
};
};
- /** List GitHub Pages builds */
+ /**
+ * List GitHub Pages builds
+ * @description Lists builts of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
"repos/list-pages-builds": {
parameters: {
query?: {
@@ -96679,7 +96740,12 @@ export interface operations {
};
};
};
- /** Get latest Pages build */
+ /**
+ * Get latest Pages build
+ * @description Gets information about the single most recent build of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
"repos/get-latest-pages-build": {
parameters: {
path: {
@@ -96696,7 +96762,12 @@ export interface operations {
};
};
};
- /** Get GitHub Pages build */
+ /**
+ * Get GitHub Pages build
+ * @description Gets information about a GitHub Pages build.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
"repos/get-pages-build": {
parameters: {
path: {
@@ -97497,7 +97568,10 @@ export interface operations {
503: components["responses"]["service_unavailable"];
};
};
- /** Check if a pull request has been merged */
+ /**
+ * Check if a pull request has been merged
+ * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty.
+ */
"pulls/check-if-merged": {
parameters: {
path: {
@@ -97515,7 +97589,8 @@ export interface operations {
};
/**
* Merge a pull request
- * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * @description Merges a pull request into the base branch.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
"pulls/merge": {
parameters: {
@@ -97598,7 +97673,8 @@ export interface operations {
};
/**
* Request reviewers for a pull request
- * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * @description Requests reviews for a pull request from a given set of users and/or teams.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
"pulls/request-reviewers": {
parameters: {
@@ -97630,7 +97706,10 @@ export interface operations {
422: never;
};
};
- /** Remove requested reviewers from a pull request */
+ /**
+ * Remove requested reviewers from a pull request
+ * @description Removes review requests from a pull request for a given set of users and/or teams.
+ */
"pulls/remove-requested-reviewers": {
parameters: {
path: {
@@ -97744,7 +97823,10 @@ export interface operations {
422: components["responses"]["validation_failed_simple"];
};
};
- /** Get a review for a pull request */
+ /**
+ * Get a review for a pull request
+ * @description Retrieves a pull request review by its ID.
+ */
"pulls/get-review": {
parameters: {
path: {
@@ -97795,7 +97877,10 @@ export interface operations {
422: components["responses"]["validation_failed_simple"];
};
};
- /** Delete a pending review for a pull request */
+ /**
+ * Delete a pending review for a pull request
+ * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted.
+ */
"pulls/delete-pending-review": {
parameters: {
path: {
@@ -108448,6 +108533,45 @@ export interface operations {
200: never;
};
};
+ /**
+ * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)."
+ *
+ * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission.
+ *
+ * **Note**: The pull request merge queue feature is currently in public beta and subject to change.
+ * @description The merge queue groups pull requests together to be merged. This event indicates that one of those merge groups was destroyed. This happens when a pull request is removed from the queue: any group containing that pull request is also destroyed.
+ *
+ * When you receive this event, you may want to cancel any checks that are running on the head SHA to avoid wasting computing resources on a merge group that will not be used.
+ */
+ "merge-group/destroyed": {
+ parameters: {
+ header?: {
+ /** @example GitHub-Hookshot/123abc */
+ "User-Agent"?: string;
+ /** @example 12312312 */
+ "X-Github-Hook-Id"?: string;
+ /** @example issues */
+ "X-Github-Event"?: string;
+ /** @example 123123 */
+ "X-Github-Hook-Installation-Target-Id"?: string;
+ /** @example repository */
+ "X-Github-Hook-Installation-Target-Type"?: string;
+ /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */
+ "X-GitHub-Delivery"?: string;
+ /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */
+ "X-Hub-Signature-256"?: string;
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["webhook-merge-group-destroyed"];
+ };
+ };
+ responses: {
+ /** @description Return a 200 status to indicate that the data was received successfully */
+ 200: never;
+ };
+ };
/**
* This event occurs when there is activity relating to a webhook itself.
*
diff --git a/packages/openapi-typescript/examples/github-api-next.yaml b/packages/openapi-typescript/examples/github-api-next.yaml
index 3d962d1bc..4ad6d7a9c 100644
--- a/packages/openapi-typescript/examples/github-api-next.yaml
+++ b/packages/openapi-typescript/examples/github-api-next.yaml
@@ -29576,7 +29576,10 @@ paths:
"/repos/{owner}/{repo}/pages":
get:
summary: Get a GitHub Pages site
- description: ''
+ description: |-
+ Gets information about a GitHub Pages site.
+
+ A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
tags:
- repos
operationId: repos/get-pages
@@ -29816,7 +29819,10 @@ paths:
"/repos/{owner}/{repo}/pages/builds":
get:
summary: List GitHub Pages builds
- description: ''
+ description: |-
+ Lists builts of a GitHub Pages site.
+
+ A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
tags:
- repos
operationId: repos/list-pages-builds
@@ -29879,7 +29885,10 @@ paths:
"/repos/{owner}/{repo}/pages/builds/latest":
get:
summary: Get latest Pages build
- description: ''
+ description: |-
+ Gets information about the single most recent build of a GitHub Pages site.
+
+ A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
tags:
- repos
operationId: repos/get-latest-pages-build
@@ -29906,7 +29915,10 @@ paths:
"/repos/{owner}/{repo}/pages/builds/{build_id}":
get:
summary: Get GitHub Pages build
- description: ''
+ description: |-
+ Gets information about a GitHub Pages build.
+
+ A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
tags:
- repos
operationId: repos/get-pages-build
@@ -31232,7 +31244,9 @@ paths:
"/repos/{owner}/{repo}/pulls/{pull_number}/merge":
get:
summary: Check if a pull request has been merged
- description: ''
+ 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.
tags:
- pulls
operationId: pulls/check-if-merged
@@ -31255,11 +31269,9 @@ paths:
subcategory:
put:
summary: Merge a pull request
- description: This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications).
- Creating content too quickly using this endpoint may result in secondary rate
- limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)"
- and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)"
- for details.
+ description: |-
+ Merges a pull request into the base branch.
+ This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
tags:
- pulls
operationId: pulls/merge
@@ -31391,11 +31403,9 @@ paths:
subcategory: review-requests
post:
summary: Request reviewers for a pull request
- description: This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications).
- Creating content too quickly using this endpoint may result in secondary rate
- limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)"
- and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)"
- for details.
+ description: |-
+ Requests reviews for a pull request from a given set of users and/or teams.
+ This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
tags:
- pulls
operationId: pulls/request-reviewers
@@ -31459,7 +31469,8 @@ paths:
subcategory: review-requests
delete:
summary: Remove requested reviewers from a pull request
- description: ''
+ description: Removes review requests from a pull request for a given set of
+ users and/or teams.
tags:
- pulls
operationId: pulls/remove-requested-reviewers
@@ -31673,7 +31684,7 @@ paths:
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}":
get:
summary: Get a review for a pull request
- description: ''
+ description: Retrieves a pull request review by its ID.
tags:
- pulls
operationId: pulls/get-review
@@ -31752,7 +31763,8 @@ paths:
subcategory: reviews
delete:
summary: Delete a pending review for a pull request
- description: ''
+ description: Deletes a pull request review that has not been submitted. Submitted
+ reviews cannot be deleted.
tags:
- pulls
operationId: pulls/delete-pending-review
@@ -49641,6 +49653,75 @@ webhooks:
subcategory: merge-group
supported-webhook-types:
- app
+ merge-group-destroyed:
+ post:
+ summary: |-
+ This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)."
+
+ To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission.
+
+ **Note**: The pull request merge queue feature is currently in public beta and subject to change.
+ description: |-
+ The merge queue groups pull requests together to be merged. This event indicates that one of those merge groups was destroyed. This happens when a pull request is removed from the queue: any group containing that pull request is also destroyed.
+
+ When you receive this event, you may want to cancel any checks that are running on the head SHA to avoid wasting computing resources on a merge group that will not be used.
+ operationId: merge-group/destroyed
+ tags:
+ - merge-queue
+ externalDocs:
+ url: https://docs.github.com/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#merge-group
+ 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-merge-group-destroyed"
+ responses:
+ '200':
+ description: Return a 200 status to indicate that the data was received
+ successfully
+ x-github:
+ githubCloudOnly: false
+ category: webhooks
+ subcategory: merge-group
+ supported-webhook-types:
+ - app
meta-deleted:
post:
summary: |-
@@ -69400,22 +69481,40 @@ components:
properties:
id:
type: string
+ description: SHA for the commit
+ examples:
+ - 7638417db6d59f3c431d3e1f261cc637155684cd
tree_id:
type: string
+ description: SHA for the commit's tree
message:
+ description: Message describing the purpose of the commit
type: string
+ examples:
+ - 'Fix #42'
timestamp:
- type: string
+ description: Timestamp of the commit
format: date-time
+ type: string
+ examples:
+ - '2014-08-09T08:02:04+12:00'
author:
type:
- object
- 'null'
+ description: Information about the Git author
properties:
name:
+ description: Name of the commit's author
type: string
+ examples:
+ - Monalisa Octocat
email:
+ description: Git email address of the commit's author
type: string
+ format: email
+ examples:
+ - monalisa.octocat@example.com
required:
- name
- email
@@ -69423,11 +69522,19 @@ components:
type:
- object
- 'null'
+ description: Information about the Git committer
properties:
name:
+ description: Name of the commit's committer
type: string
+ examples:
+ - Monalisa Octocat
email:
+ description: Git email address of the commit's committer
type: string
+ format: email
+ examples:
+ - monalisa.octocat@example.com
required:
- name
- email
@@ -79191,7 +79298,7 @@ components:
required:
- type
- details
- repository-advisory-ecosystems:
+ security-advisory-ecosystems:
type: string
description: The package's language or package management ecosystem.
enum:
@@ -79219,7 +79326,7 @@ components:
- 'null'
properties:
ecosystem:
- "$ref": "#/components/schemas/repository-advisory-ecosystems"
+ "$ref": "#/components/schemas/security-advisory-ecosystems"
name:
type:
- string
@@ -79251,7 +79358,7 @@ components:
- patched_versions
- vulnerable_functions
additionalProperties: false
- repository-advisory-credit-types:
+ security-advisory-credit-types:
type: string
description: The type of credit the user is receiving.
enum:
@@ -79272,7 +79379,7 @@ components:
user:
"$ref": "#/components/schemas/simple-user"
type:
- "$ref": "#/components/schemas/repository-advisory-credit-types"
+ "$ref": "#/components/schemas/security-advisory-credit-types"
state:
type: string
description: The state of the user's acceptance of the credit.
@@ -79484,7 +79591,7 @@ components:
type: string
description: The username of the user credited.
type:
- "$ref": "#/components/schemas/repository-advisory-credit-types"
+ "$ref": "#/components/schemas/security-advisory-credit-types"
credits_detailed:
type:
- array
@@ -79545,7 +79652,7 @@ components:
type: object
properties:
ecosystem:
- "$ref": "#/components/schemas/repository-advisory-ecosystems"
+ "$ref": "#/components/schemas/security-advisory-ecosystems"
name:
type:
- string
@@ -79593,7 +79700,7 @@ components:
type: string
description: The username of the user credited.
type:
- "$ref": "#/components/schemas/repository-advisory-credit-types"
+ "$ref": "#/components/schemas/security-advisory-credit-types"
required:
- login
- type
@@ -79646,7 +79753,7 @@ components:
type: object
properties:
ecosystem:
- "$ref": "#/components/schemas/repository-advisory-ecosystems"
+ "$ref": "#/components/schemas/security-advisory-ecosystems"
name:
type:
- string
@@ -79731,7 +79838,7 @@ components:
type: object
properties:
ecosystem:
- "$ref": "#/components/schemas/repository-advisory-ecosystems"
+ "$ref": "#/components/schemas/security-advisory-ecosystems"
name:
type:
- string
@@ -79779,7 +79886,7 @@ components:
type: string
description: The username of the user credited.
type:
- "$ref": "#/components/schemas/repository-advisory-credit-types"
+ "$ref": "#/components/schemas/security-advisory-credit-types"
required:
- login
- type
@@ -82561,6 +82668,34 @@ components:
- author_association
- active_lock_reason
- body
+ merge-group:
+ type: object
+ title: Merge Group
+ 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.
+ type: string
+ head_ref:
+ description: The full ref of the merge group.
+ type: string
+ base_sha:
+ description: The SHA of the merge group's parent commit.
+ type: string
+ base_ref:
+ description: The full ref of the branch the merge group will be merged into.
+ type: string
+ head_commit:
+ "$ref": "#/components/schemas/simple-commit"
+ required:
+ - head_sha
+ - head_ref
+ - base_sha
+ - base_ref
+ - head_commit
personal-access-token-request:
title: Personal Access Token Request
description: Details of a Personal Access Token Request.
@@ -119421,89 +119556,36 @@ components:
installation:
"$ref": "#/components/schemas/simple-installation"
merge_group:
- title: MergeGroup
- type: object
- properties:
- head_sha:
- description: The SHA of the merge group.
- type: string
- head_ref:
- description: The full ref of the merge group.
- type: string
- base_sha:
- description: The SHA of the merge group's parent commit.
- type: string
- base_ref:
- description: The full ref of the branch the merge group will be merged
- into.
- type: string
- head_commit:
- title: SimpleCommit
- type: object
- properties:
- author:
- title: Committer
- description: Metaproperties for Git author/committer information.
- type: object
- properties:
- date:
- type: string
- format: date-time
- email:
- type:
- - string
- - 'null'
- format: email
- name:
- description: The git author's name.
- type: string
- username:
- type: string
- required:
- - email
- - name
- committer:
- title: Committer
- description: Metaproperties for Git author/committer information.
- type: object
- properties:
- date:
- type: string
- format: date-time
- email:
- type:
- - string
- - 'null'
- format: email
- name:
- description: The git author's name.
- type: string
- username:
- type: string
- required:
- - email
- - name
- id:
- type: string
- message:
- type: string
- timestamp:
- type: string
- tree_id:
- type: string
- required:
- - id
- - tree_id
- - message
- - timestamp
- - author
- - committer
- required:
- - head_sha
- - head_ref
- - base_sha
- - base_ref
- - head_commit
+ "$ref": "#/components/schemas/merge-group"
+ organization:
+ "$ref": "#/components/schemas/organization-simple"
+ repository:
+ "$ref": "#/components/schemas/repository"
+ sender:
+ "$ref": "#/components/schemas/simple-user"
+ required:
+ - action
+ - merge_group
+ webhook-merge-group-destroyed:
+ type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - destroyed
+ reason:
+ type: string
+ 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:
+ - merged
+ - invalidated
+ - dequeued
+ installation:
+ "$ref": "#/components/schemas/simple-installation"
+ merge_group:
+ "$ref": "#/components/schemas/merge-group"
organization:
"$ref": "#/components/schemas/organization-simple"
repository:
diff --git a/packages/openapi-typescript/examples/github-api.ts b/packages/openapi-typescript/examples/github-api.ts
index 4789f5b75..adc15dc47 100644
--- a/packages/openapi-typescript/examples/github-api.ts
+++ b/packages/openapi-typescript/examples/github-api.ts
@@ -5529,7 +5529,12 @@ export interface paths {
put: operations["activity/mark-repo-notifications-as-read"];
};
"/repos/{owner}/{repo}/pages": {
- /** Get a GitHub Pages site */
+ /**
+ * Get a GitHub Pages site
+ * @description Gets information about a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-pages"];
/**
* Update information about a GitHub Pages site
@@ -5554,7 +5559,12 @@ export interface paths {
delete: operations["repos/delete-pages-site"];
};
"/repos/{owner}/{repo}/pages/builds": {
- /** List GitHub Pages builds */
+ /**
+ * List GitHub Pages builds
+ * @description Lists builts of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/list-pages-builds"];
/**
* Request a GitHub Pages build
@@ -5565,11 +5575,21 @@ export interface paths {
post: operations["repos/request-pages-build"];
};
"/repos/{owner}/{repo}/pages/builds/latest": {
- /** Get latest Pages build */
+ /**
+ * Get latest Pages build
+ * @description Gets information about the single most recent build of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-latest-pages-build"];
};
"/repos/{owner}/{repo}/pages/builds/{build_id}": {
- /** Get GitHub Pages build */
+ /**
+ * Get GitHub Pages build
+ * @description Gets information about a GitHub Pages build.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-pages-build"];
};
"/repos/{owner}/{repo}/pages/deployment": {
@@ -5747,11 +5767,15 @@ export interface paths {
get: operations["pulls/list-files"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/merge": {
- /** Check if a pull request has been merged */
+ /**
+ * 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 This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * @description Merges a pull request into the base branch.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
put: operations["pulls/merge"];
};
@@ -5763,10 +5787,14 @@ export interface paths {
get: operations["pulls/list-requested-reviewers"];
/**
* Request reviewers for a pull request
- * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * @description Requests reviews for a pull request from a given set of users and/or teams.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["pulls/request-reviewers"];
- /** Remove requested reviewers from a pull request */
+ /**
+ * Remove requested reviewers from a pull request
+ * @description Removes review requests from a pull request for a given set of users and/or teams.
+ */
delete: operations["pulls/remove-requested-reviewers"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews": {
@@ -5788,14 +5816,20 @@ export interface paths {
post: operations["pulls/create-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": {
- /** Get a review for a pull request */
+ /**
+ * Get a review for a pull request
+ * @description Retrieves a pull request review by its ID.
+ */
get: operations["pulls/get-review"];
/**
* Update a review for a pull request
* @description Update the review summary comment with new text.
*/
put: operations["pulls/update-review"];
- /** Delete a pending review for a pull request */
+ /**
+ * Delete a pending review for a pull request
+ * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted.
+ */
delete: operations["pulls/delete-pending-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": {
@@ -15366,17 +15400,50 @@ export interface components {
* @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 */
+ /**
+ * 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;
@@ -16456,17 +16523,50 @@ export interface components {
* @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 */
+ /**
+ * 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;
};
@@ -20756,12 +20856,12 @@ export interface components {
* @description The package's language or package management ecosystem.
* @enum {string}
*/
- "repository-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other";
+ "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other";
/** @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"]["repository-advisory-ecosystems"];
+ ecosystem: components["schemas"]["security-advisory-ecosystems"];
/** @description The unique package name within its ecosystem. */
name: string | null;
}) | null;
@@ -20776,11 +20876,11 @@ export interface components {
* @description The type of credit the user is receiving.
* @enum {string}
*/
- "repository-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other";
+ "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other";
/** @description A credit given to a user for a repository security advisory. */
"repository-advisory-credit": {
user: components["schemas"]["simple-user"];
- type: components["schemas"]["repository-advisory-credit-types"];
+ type: components["schemas"]["security-advisory-credit-types"];
/**
* @description The state of the user's acceptance of the credit.
* @enum {string}
@@ -20874,7 +20974,7 @@ export interface components {
credits: ({
/** @description The username of the user credited. */
login?: string;
- type?: components["schemas"]["repository-advisory-credit-types"];
+ type?: components["schemas"]["security-advisory-credit-types"];
})[] | null;
credits_detailed: readonly (components["schemas"]["repository-advisory-credit"])[] | null;
};
@@ -20889,7 +20989,7 @@ export interface components {
vulnerabilities: ({
/** @description The name of the package affected by the vulnerability. */
package: {
- ecosystem: components["schemas"]["repository-advisory-ecosystems"];
+ ecosystem: components["schemas"]["security-advisory-ecosystems"];
/** @description The unique package name within its ecosystem. */
name?: string | null;
};
@@ -20906,7 +21006,7 @@ export interface components {
credits?: ({
/** @description The username of the user credited. */
login: string;
- type: components["schemas"]["repository-advisory-credit-types"];
+ 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`.
@@ -20925,7 +21025,7 @@ export interface components {
vulnerabilities?: (({
/** @description The name of the package affected by the vulnerability. */
package: {
- ecosystem: components["schemas"]["repository-advisory-ecosystems"];
+ ecosystem: components["schemas"]["security-advisory-ecosystems"];
/** @description The unique package name within its ecosystem. */
name?: string | null;
};
@@ -20957,7 +21057,7 @@ export interface components {
vulnerabilities?: ({
/** @description The name of the package affected by the vulnerability. */
package: {
- ecosystem: components["schemas"]["repository-advisory-ecosystems"];
+ ecosystem: components["schemas"]["security-advisory-ecosystems"];
/** @description The unique package name within its ecosystem. */
name?: string | null;
};
@@ -20974,7 +21074,7 @@ export interface components {
credits?: ({
/** @description The username of the user credited. */
login: string;
- type: components["schemas"]["repository-advisory-credit-types"];
+ 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`.
@@ -22395,6 +22495,21 @@ export interface components {
url?: string;
}) | null;
};
+ /**
+ * Merge Group
+ * @description A group of pull requests that the merge queue has grouped together to be merged.
+ */
+ "merge-group": {
+ /** @description The SHA of the merge group. */
+ head_sha: string;
+ /** @description The full ref of the merge group. */
+ head_ref: string;
+ /** @description The SHA of the merge group's parent commit. */
+ base_sha: string;
+ /** @description The full ref of the branch the merge group will be merged into. */
+ base_ref: string;
+ head_commit: components["schemas"]["simple-commit"];
+ };
/**
* Personal Access Token Request
* @description Details of a Personal Access Token Request.
@@ -38842,50 +38957,21 @@ export interface components {
/** @enum {string} */
action: "checks_requested";
installation?: components["schemas"]["simple-installation"];
- /** MergeGroup */
- 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;
- /** 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;
- };
- };
+ merge_group: components["schemas"]["merge-group"];
+ organization?: components["schemas"]["organization-simple"];
+ repository?: components["schemas"]["repository"];
+ sender?: components["schemas"]["simple-user"];
+ };
+ "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"];
repository?: components["schemas"]["repository"];
sender?: components["schemas"]["simple-user"];
@@ -98763,7 +98849,12 @@ export interface operations {
205: never;
};
};
- /** Get a GitHub Pages site */
+ /**
+ * Get a GitHub Pages site
+ * @description Gets information about a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
"repos/get-pages": {
parameters: {
path: {
@@ -98893,7 +98984,12 @@ export interface operations {
422: components["responses"]["validation_failed"];
};
};
- /** List GitHub Pages builds */
+ /**
+ * List GitHub Pages builds
+ * @description Lists builts of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
"repos/list-pages-builds": {
parameters: {
query?: {
@@ -98939,7 +99035,12 @@ export interface operations {
};
};
};
- /** Get latest Pages build */
+ /**
+ * Get latest Pages build
+ * @description Gets information about the single most recent build of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
"repos/get-latest-pages-build": {
parameters: {
path: {
@@ -98956,7 +99057,12 @@ export interface operations {
};
};
};
- /** Get GitHub Pages build */
+ /**
+ * Get GitHub Pages build
+ * @description Gets information about a GitHub Pages build.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
"repos/get-pages-build": {
parameters: {
path: {
@@ -99762,7 +99868,10 @@ export interface operations {
503: components["responses"]["service_unavailable"];
};
};
- /** Check if a pull request has been merged */
+ /**
+ * Check if a pull request has been merged
+ * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty.
+ */
"pulls/check-if-merged": {
parameters: {
path: {
@@ -99780,7 +99889,8 @@ export interface operations {
};
/**
* Merge a pull request
- * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * @description Merges a pull request into the base branch.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
"pulls/merge": {
parameters: {
@@ -99863,7 +99973,8 @@ export interface operations {
};
/**
* Request reviewers for a pull request
- * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * @description Requests reviews for a pull request from a given set of users and/or teams.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
"pulls/request-reviewers": {
parameters: {
@@ -99895,7 +100006,10 @@ export interface operations {
422: never;
};
};
- /** Remove requested reviewers from a pull request */
+ /**
+ * Remove requested reviewers from a pull request
+ * @description Removes review requests from a pull request for a given set of users and/or teams.
+ */
"pulls/remove-requested-reviewers": {
parameters: {
path: {
@@ -100013,7 +100127,10 @@ export interface operations {
422: components["responses"]["validation_failed_simple"];
};
};
- /** Get a review for a pull request */
+ /**
+ * Get a review for a pull request
+ * @description Retrieves a pull request review by its ID.
+ */
"pulls/get-review": {
parameters: {
path: {
@@ -100064,7 +100181,10 @@ export interface operations {
422: components["responses"]["validation_failed_simple"];
};
};
- /** Delete a pending review for a pull request */
+ /**
+ * Delete a pending review for a pull request
+ * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted.
+ */
"pulls/delete-pending-review": {
parameters: {
path: {
diff --git a/packages/openapi-typescript/examples/github-api.yaml b/packages/openapi-typescript/examples/github-api.yaml
index 172efacf9..0a4f29aa4 100644
--- a/packages/openapi-typescript/examples/github-api.yaml
+++ b/packages/openapi-typescript/examples/github-api.yaml
@@ -29466,7 +29466,10 @@ paths:
"/repos/{owner}/{repo}/pages":
get:
summary: Get a GitHub Pages site
- description: ''
+ description: |-
+ Gets information about a GitHub Pages site.
+
+ A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
tags:
- repos
operationId: repos/get-pages
@@ -29704,7 +29707,10 @@ paths:
"/repos/{owner}/{repo}/pages/builds":
get:
summary: List GitHub Pages builds
- description: ''
+ description: |-
+ Lists builts of a GitHub Pages site.
+
+ A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
tags:
- repos
operationId: repos/list-pages-builds
@@ -29767,7 +29773,10 @@ paths:
"/repos/{owner}/{repo}/pages/builds/latest":
get:
summary: Get latest Pages build
- description: ''
+ description: |-
+ Gets information about the single most recent build of a GitHub Pages site.
+
+ A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
tags:
- repos
operationId: repos/get-latest-pages-build
@@ -29794,7 +29803,10 @@ paths:
"/repos/{owner}/{repo}/pages/builds/{build_id}":
get:
summary: Get GitHub Pages build
- description: ''
+ description: |-
+ Gets information about a GitHub Pages build.
+
+ A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
tags:
- repos
operationId: repos/get-pages-build
@@ -31116,7 +31128,9 @@ paths:
"/repos/{owner}/{repo}/pulls/{pull_number}/merge":
get:
summary: Check if a pull request has been merged
- description: ''
+ 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.
tags:
- pulls
operationId: pulls/check-if-merged
@@ -31139,11 +31153,9 @@ paths:
subcategory:
put:
summary: Merge a pull request
- description: This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications).
- Creating content too quickly using this endpoint may result in secondary rate
- limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)"
- and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)"
- for details.
+ description: |-
+ Merges a pull request into the base branch.
+ This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
tags:
- pulls
operationId: pulls/merge
@@ -31274,11 +31286,9 @@ paths:
subcategory: review-requests
post:
summary: Request reviewers for a pull request
- description: This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications).
- Creating content too quickly using this endpoint may result in secondary rate
- limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)"
- and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)"
- for details.
+ description: |-
+ Requests reviews for a pull request from a given set of users and/or teams.
+ This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
tags:
- pulls
operationId: pulls/request-reviewers
@@ -31342,7 +31352,8 @@ paths:
subcategory: review-requests
delete:
summary: Remove requested reviewers from a pull request
- description: ''
+ description: Removes review requests from a pull request for a given set of
+ users and/or teams.
tags:
- pulls
operationId: pulls/remove-requested-reviewers
@@ -31552,7 +31563,7 @@ paths:
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}":
get:
summary: Get a review for a pull request
- description: ''
+ description: Retrieves a pull request review by its ID.
tags:
- pulls
operationId: pulls/get-review
@@ -31631,7 +31642,8 @@ paths:
subcategory: reviews
delete:
summary: Delete a pending review for a pull request
- description: ''
+ description: Deletes a pull request review that has not been submitted. Submitted
+ reviews cannot be deleted.
tags:
- pulls
operationId: pulls/delete-pending-review
@@ -49473,6 +49485,75 @@ x-webhooks:
subcategory: merge-group
supported-webhook-types:
- app
+ merge-group-destroyed:
+ post:
+ summary: |-
+ This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)."
+
+ To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission.
+
+ **Note**: The pull request merge queue feature is currently in public beta and subject to change.
+ description: |-
+ The merge queue groups pull requests together to be merged. This event indicates that one of those merge groups was destroyed. This happens when a pull request is removed from the queue: any group containing that pull request is also destroyed.
+
+ When you receive this event, you may want to cancel any checks that are running on the head SHA to avoid wasting computing resources on a merge group that will not be used.
+ operationId: merge-group/destroyed
+ tags:
+ - merge-queue
+ externalDocs:
+ url: https://docs.github.com/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#merge-group
+ 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-merge-group-destroyed"
+ responses:
+ '200':
+ description: Return a 200 status to indicate that the data was received
+ successfully
+ x-github:
+ githubCloudOnly: false
+ category: webhooks
+ subcategory: merge-group
+ supported-webhook-types:
+ - app
meta-deleted:
post:
summary: |-
@@ -69432,31 +69513,50 @@ components:
properties:
id:
type: string
+ description: SHA for the commit
+ example: 7638417db6d59f3c431d3e1f261cc637155684cd
tree_id:
type: string
+ description: SHA for the commit's tree
message:
+ description: Message describing the purpose of the commit
+ example: 'Fix #42'
type: string
timestamp:
- type: string
+ description: Timestamp of the commit
+ example: '2014-08-09T08:02:04+12:00'
format: date-time
+ type: string
author:
type: object
+ description: Information about the Git author
properties:
name:
+ description: Name of the commit's author
+ example: Monalisa Octocat
type: string
email:
+ description: Git email address of the commit's author
+ example: monalisa.octocat@example.com
type: string
+ format: email
required:
- name
- email
nullable: true
committer:
type: object
+ description: Information about the Git committer
properties:
name:
+ description: Name of the commit's committer
+ example: Monalisa Octocat
type: string
email:
+ description: Git email address of the commit's committer
+ example: monalisa.octocat@example.com
type: string
+ format: email
required:
- name
- email
@@ -71171,31 +71271,50 @@ components:
properties:
id:
type: string
+ description: SHA for the commit
+ example: 7638417db6d59f3c431d3e1f261cc637155684cd
tree_id:
type: string
+ description: SHA for the commit's tree
message:
+ description: Message describing the purpose of the commit
+ example: 'Fix #42'
type: string
timestamp:
- type: string
+ description: Timestamp of the commit
+ example: '2014-08-09T08:02:04+12:00'
format: date-time
+ type: string
author:
type: object
+ description: Information about the Git author
properties:
name:
+ description: Name of the commit's author
+ example: Monalisa Octocat
type: string
email:
+ description: Git email address of the commit's author
+ example: monalisa.octocat@example.com
type: string
+ format: email
required:
- name
- email
nullable: true
committer:
type: object
+ description: Information about the Git committer
properties:
name:
+ description: Name of the commit's committer
+ example: Monalisa Octocat
type: string
email:
+ description: Git email address of the commit's committer
+ example: monalisa.octocat@example.com
type: string
+ format: email
required:
- name
- email
@@ -78777,7 +78896,7 @@ components:
required:
- type
- details
- repository-advisory-ecosystems:
+ security-advisory-ecosystems:
type: string
description: The package's language or package management ecosystem.
enum:
@@ -78804,7 +78923,7 @@ components:
nullable: true
properties:
ecosystem:
- "$ref": "#/components/schemas/repository-advisory-ecosystems"
+ "$ref": "#/components/schemas/security-advisory-ecosystems"
name:
type: string
description: The unique package name within its ecosystem.
@@ -78832,7 +78951,7 @@ components:
- patched_versions
- vulnerable_functions
additionalProperties: false
- repository-advisory-credit-types:
+ security-advisory-credit-types:
type: string
description: The type of credit the user is receiving.
enum:
@@ -78853,7 +78972,7 @@ components:
user:
"$ref": "#/components/schemas/simple-user"
type:
- "$ref": "#/components/schemas/repository-advisory-credit-types"
+ "$ref": "#/components/schemas/security-advisory-credit-types"
state:
type: string
description: The state of the user's acceptance of the credit.
@@ -79046,7 +79165,7 @@ components:
type: string
description: The username of the user credited.
type:
- "$ref": "#/components/schemas/repository-advisory-credit-types"
+ "$ref": "#/components/schemas/security-advisory-credit-types"
credits_detailed:
type: array
nullable: true
@@ -79105,7 +79224,7 @@ components:
type: object
properties:
ecosystem:
- "$ref": "#/components/schemas/repository-advisory-ecosystems"
+ "$ref": "#/components/schemas/security-advisory-ecosystems"
name:
type: string
description: The unique package name within its ecosystem.
@@ -79147,7 +79266,7 @@ components:
type: string
description: The username of the user credited.
type:
- "$ref": "#/components/schemas/repository-advisory-credit-types"
+ "$ref": "#/components/schemas/security-advisory-credit-types"
required:
- login
- type
@@ -79196,7 +79315,7 @@ components:
type: object
properties:
ecosystem:
- "$ref": "#/components/schemas/repository-advisory-ecosystems"
+ "$ref": "#/components/schemas/security-advisory-ecosystems"
name:
type: string
description: The unique package name within its ecosystem.
@@ -79272,7 +79391,7 @@ components:
type: object
properties:
ecosystem:
- "$ref": "#/components/schemas/repository-advisory-ecosystems"
+ "$ref": "#/components/schemas/security-advisory-ecosystems"
name:
type: string
description: The unique package name within its ecosystem.
@@ -79314,7 +79433,7 @@ components:
type: string
description: The username of the user credited.
type:
- "$ref": "#/components/schemas/repository-advisory-credit-types"
+ "$ref": "#/components/schemas/security-advisory-credit-types"
required:
- login
- type
@@ -81836,6 +81955,34 @@ components:
- author_association
- active_lock_reason
- body
+ merge-group:
+ type: object
+ title: Merge Group
+ 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.
+ type: string
+ head_ref:
+ description: The full ref of the merge group.
+ type: string
+ base_sha:
+ description: The SHA of the merge group's parent commit.
+ type: string
+ base_ref:
+ description: The full ref of the branch the merge group will be merged into.
+ type: string
+ head_commit:
+ "$ref": "#/components/schemas/simple-commit"
+ required:
+ - head_sha
+ - head_ref
+ - base_sha
+ - base_ref
+ - head_commit
personal-access-token-request:
title: Personal Access Token Request
description: Details of a Personal Access Token Request.
@@ -117666,87 +117813,36 @@ components:
installation:
"$ref": "#/components/schemas/simple-installation"
merge_group:
- title: MergeGroup
- type: object
- properties:
- head_sha:
- description: The SHA of the merge group.
- type: string
- head_ref:
- description: The full ref of the merge group.
- type: string
- base_sha:
- description: The SHA of the merge group's parent commit.
- type: string
- base_ref:
- description: The full ref of the branch the merge group will be merged
- into.
- type: string
- head_commit:
- title: SimpleCommit
- type: object
- properties:
- author:
- title: Committer
- description: Metaproperties for Git author/committer information.
- type: object
- properties:
- date:
- type: string
- format: date-time
- email:
- type: string
- nullable: true
- format: email
- name:
- description: The git author's name.
- type: string
- username:
- type: string
- required:
- - email
- - name
- committer:
- title: Committer
- description: Metaproperties for Git author/committer information.
- type: object
- properties:
- date:
- type: string
- format: date-time
- email:
- type: string
- nullable: true
- format: email
- name:
- description: The git author's name.
- type: string
- username:
- type: string
- required:
- - email
- - name
- id:
- type: string
- message:
- type: string
- timestamp:
- type: string
- tree_id:
- type: string
- required:
- - id
- - tree_id
- - message
- - timestamp
- - author
- - committer
- required:
- - head_sha
- - head_ref
- - base_sha
- - base_ref
- - head_commit
+ "$ref": "#/components/schemas/merge-group"
+ organization:
+ "$ref": "#/components/schemas/organization-simple"
+ repository:
+ "$ref": "#/components/schemas/repository"
+ sender:
+ "$ref": "#/components/schemas/simple-user"
+ required:
+ - action
+ - merge_group
+ webhook-merge-group-destroyed:
+ type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - destroyed
+ reason:
+ type: string
+ 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:
+ - merged
+ - invalidated
+ - dequeued
+ installation:
+ "$ref": "#/components/schemas/simple-installation"
+ merge_group:
+ "$ref": "#/components/schemas/merge-group"
organization:
"$ref": "#/components/schemas/organization-simple"
repository:
diff --git a/packages/openapi-typescript/examples/stripe-api.ts b/packages/openapi-typescript/examples/stripe-api.ts
index 4c16a0678..78a7dfd3b 100644
--- a/packages/openapi-typescript/examples/stripe-api.ts
+++ b/packages/openapi-typescript/examples/stripe-api.ts
@@ -4261,6 +4261,13 @@ export interface components {
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 %s. */
+ taxable_amount?: number | null;
};
/** CurrencyOption */
currency_option: {
@@ -6511,6 +6518,13 @@ export interface components {
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 %s. */
+ taxable_amount?: number | null;
};
/** InvoiceThresholdReason */
invoice_threshold_reason: {
@@ -6637,7 +6651,7 @@ export interface components {
/** @description Payment-method-specific configuration to provide to the invoice’s PaymentIntent. */
payment_method_options?: components["schemas"]["invoices_payment_method_options"] | null;
/** @description The list of payment method types (e.g. card) to provide to the invoice’s PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). */
- payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null;
+ payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null;
};
/** InvoicesResourceInvoiceTaxID */
invoices_resource_invoice_tax_id: {
@@ -7788,6 +7802,13 @@ export interface components {
/** @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" | "excluded_territory" | "jurisdiction_unsupported" | "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" | "vat_exempt" | "zero_rated" | null;
+ /** @description The amount on which tax is calculated, in %s. */
+ taxable_amount?: number | null;
};
/** linked_account_options_us_bank_account */
linked_account_options_us_bank_account: {
@@ -7919,11 +7940,19 @@ export interface components {
card?: components["schemas"]["card_mandate_payment_method_details"];
cashapp?: components["schemas"]["mandate_cashapp"];
link?: components["schemas"]["mandate_link"];
+ paypal?: components["schemas"]["mandate_paypal"];
sepa_debit?: components["schemas"]["mandate_sepa_debit"];
/** @description The type of the payment method associated with this mandate. An additional hash is included on `payment_method_details` with a name matching this value. It contains mandate information specific to the payment method. */
type: string;
us_bank_account?: components["schemas"]["mandate_us_bank_account"];
};
+ /** mandate_paypal */
+ mandate_paypal: {
+ /** @description The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. */
+ billing_agreement_id?: string | null;
+ /** @description PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */
+ payer_id?: string | null;
+ };
/** mandate_sepa_debit */
mandate_sepa_debit: {
/** @description The unique reference of the mandate. */
@@ -8518,6 +8547,7 @@ export interface components {
oxxo?: components["schemas"]["payment_method_options_oxxo"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"];
p24?: components["schemas"]["payment_method_options_p24"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"];
paynow?: components["schemas"]["payment_method_options_paynow"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"];
+ paypal?: components["schemas"]["payment_method_options_paypal"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"];
pix?: components["schemas"]["payment_method_options_pix"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"];
promptpay?: components["schemas"]["payment_method_options_promptpay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"];
sepa_debit?: components["schemas"]["payment_intent_payment_method_options_sepa_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"];
@@ -8576,7 +8606,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" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null;
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null;
/**
* @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
* @enum {string|null}
@@ -8797,7 +8827,7 @@ export interface components {
*/
payment_method_collection: "always" | "if_required";
/** @description The list of payment method types that customers can use. When `null`, Stripe will dynamically show relevant payment methods you've enabled in your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). */
- payment_method_types?: (("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null;
+ payment_method_types?: (("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null;
phone_number_collection: components["schemas"]["payment_links_resource_phone_number_collection"];
/** @description Configuration for collecting the customer's shipping address. */
shipping_address_collection?: components["schemas"]["payment_links_resource_shipping_address_collection"] | null;
@@ -9031,6 +9061,7 @@ export interface components {
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"];
@@ -9040,7 +9071,7 @@ export interface components {
* @description The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
* @enum {string}
*/
- type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "card_present" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "interac_present" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "card_present" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "interac_present" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
us_bank_account?: components["schemas"]["payment_method_us_bank_account"];
wechat_pay?: components["schemas"]["payment_method_wechat_pay"];
};
@@ -9138,7 +9169,42 @@ export interface components {
setup_attempt?: (string | components["schemas"]["setup_attempt"]) | null;
};
/** payment_method_card_present */
- payment_method_card_present: Record;
+ payment_method_card_present: {
+ /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */
+ brand?: string | null;
+ /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */
+ cardholder_name?: string | null;
+ /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */
+ country?: string | null;
+ /** @description Two-digit number representing the card's expiration month. */
+ exp_month: number;
+ /** @description Four-digit number representing the card's expiration year. */
+ exp_year: number;
+ /**
+ * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+ *
+ * *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+ */
+ fingerprint?: string | null;
+ /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */
+ funding?: string | null;
+ /** @description The last four digits of the card. */
+ last4?: string | null;
+ /** @description Contains information about card networks that can be used to process the payment. */
+ networks?: components["schemas"]["payment_method_card_present_networks"] | null;
+ /**
+ * @description How card details were read in this transaction.
+ * @enum {string|null}
+ */
+ read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2" | null;
+ };
+ /** payment_method_card_present_networks */
+ payment_method_card_present_networks: {
+ /** @description All available networks for the card. */
+ available: (string)[];
+ /** @description The preferred network for the card. */
+ preferred?: string | null;
+ };
/** payment_method_card_wallet */
payment_method_card_wallet: {
amex_express_checkout?: components["schemas"]["payment_method_card_wallet_amex_express_checkout"];
@@ -9186,7 +9252,12 @@ export interface components {
shipping_address?: components["schemas"]["address"] | null;
};
/** payment_method_cashapp */
- payment_method_cashapp: Record;
+ 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;
+ };
/** payment_method_customer_balance */
payment_method_customer_balance: Record;
/** payment_method_details */
@@ -9219,6 +9290,7 @@ export interface components {
oxxo?: components["schemas"]["payment_method_details_oxxo"];
p24?: components["schemas"]["payment_method_details_p24"];
paynow?: components["schemas"]["payment_method_details_paynow"];
+ paypal?: components["schemas"]["payment_method_details_paypal"];
pix?: components["schemas"]["payment_method_details_pix"];
promptpay?: components["schemas"]["payment_method_details_promptpay"];
sepa_debit?: components["schemas"]["payment_method_details_sepa_debit"];
@@ -9372,6 +9444,8 @@ export interface components {
mandate?: string | null;
/** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */
network?: string | null;
+ /** @description If this card has network token credentials, this contains the details of the network token credentials. */
+ network_token?: components["schemas"]["payment_method_details_card_network_token"] | null;
/** @description Populated if this transaction used 3D Secure authentication. */
three_d_secure?: components["schemas"]["three_d_secure_details"] | null;
/** @description If this Card is part of a card wallet, this contains the details of the card wallet. */
@@ -9407,6 +9481,11 @@ export interface components {
*/
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 */
@@ -9525,7 +9604,12 @@ export interface components {
shipping_address?: components["schemas"]["address"] | null;
};
/** payment_method_details_cashapp */
- payment_method_details_cashapp: Record;
+ 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 */
@@ -9725,6 +9809,25 @@ export interface components {
/** @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 */
@@ -9844,7 +9947,37 @@ export interface components {
bic?: "ABNANL2A" | "ASNBNL21" | "BITSNL2A" | "BUNQNL2A" | "FVLBNL22" | "HANDNL2A" | "INGBNL2A" | "KNABNL2H" | "MOYONL21" | "RABONL2U" | "RBRBNL21" | "REVOIE23" | "REVOLT21" | "SNSBNL2A" | "TRIONL2U" | null;
};
/** payment_method_interac_present */
- payment_method_interac_present: Record;
+ payment_method_interac_present: {
+ /** @description Card brand. Can be `interac`, `mastercard` or `visa`. */
+ brand?: string | null;
+ /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */
+ cardholder_name?: string | null;
+ /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */
+ country?: string | null;
+ /** @description Two-digit number representing the card's expiration month. */
+ exp_month: number;
+ /** @description Four-digit number representing the card's expiration year. */
+ exp_year: number;
+ /**
+ * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+ *
+ * *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+ */
+ fingerprint?: string | null;
+ /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */
+ funding?: string | null;
+ /** @description The last four digits of the card. */
+ last4?: string | null;
+ /** @description Contains information about card networks that can be used to process the payment. */
+ networks?: components["schemas"]["payment_method_card_present_networks"] | null;
+ /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */
+ preferred_locales?: (string)[] | null;
+ /**
+ * @description How card details were read in this transaction.
+ * @enum {string|null}
+ */
+ read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2" | null;
+ };
/** payment_method_klarna */
payment_method_klarna: {
/** @description The customer's date of birth, if provided. */
@@ -10192,6 +10325,27 @@ export interface components {
*/
setup_future_usage?: "none";
};
+ /** payment_method_options_paypal */
+ payment_method_options_paypal: {
+ /**
+ * @description Controls when the funds will be captured from the customer's account.
+ * @enum {string}
+ */
+ capture_method?: "manual";
+ /** @description Preferred locale of the PayPal checkout page that the customer is redirected to. */
+ preferred_locale?: string | null;
+ /** @description A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. */
+ reference?: string | null;
+ /**
+ * @description Indicates that you intend to make future payments with this PaymentIntent's payment method.
+ *
+ * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+ *
+ * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ * @enum {string}
+ */
+ setup_future_usage?: "none" | "off_session";
+ };
/** payment_method_options_pix */
payment_method_options_pix: {
/** @description The number of seconds (between 10 and 1209600) after which Pix payment will expire. */
@@ -10268,6 +10422,11 @@ export interface components {
};
/** payment_method_paynow */
payment_method_paynow: Record;
+ /** payment_method_paypal */
+ payment_method_paypal: {
+ /** @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 */
@@ -10666,6 +10825,16 @@ export interface components {
*/
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: {
/**
@@ -12029,6 +12198,7 @@ export interface components {
ideal?: components["schemas"]["setup_attempt_payment_method_details_ideal"];
klarna?: components["schemas"]["setup_attempt_payment_method_details_klarna"];
link?: components["schemas"]["setup_attempt_payment_method_details_link"];
+ paypal?: components["schemas"]["setup_attempt_payment_method_details_paypal"];
sepa_debit?: components["schemas"]["setup_attempt_payment_method_details_sepa_debit"];
sofort?: components["schemas"]["setup_attempt_payment_method_details_sofort"];
/** @description The type of the payment method used in the SetupIntent (e.g., `card`). An additional hash is included on `payment_method_details` with a name matching this value. It contains confirmation-specific information for the payment method. */
@@ -12145,6 +12315,8 @@ export interface components {
setup_attempt_payment_method_details_klarna: Record;
/** setup_attempt_payment_method_details_link */
setup_attempt_payment_method_details_link: Record;
+ /** setup_attempt_payment_method_details_paypal */
+ setup_attempt_payment_method_details_paypal: Record;
/** setup_attempt_payment_method_details_sepa_debit */
setup_attempt_payment_method_details_sepa_debit: Record;
/** setup_attempt_payment_method_details_sofort */
@@ -12322,6 +12494,7 @@ export interface components {
blik?: components["schemas"]["setup_intent_payment_method_options_blik"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"];
card?: components["schemas"]["setup_intent_payment_method_options_card"];
link?: components["schemas"]["setup_intent_payment_method_options_link"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"];
+ paypal?: components["schemas"]["setup_intent_payment_method_options_paypal"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"];
sepa_debit?: components["schemas"]["setup_intent_payment_method_options_sepa_debit"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"];
us_bank_account?: components["schemas"]["setup_intent_payment_method_options_us_bank_account"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"];
};
@@ -12351,7 +12524,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" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null;
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null;
/**
* @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
* @enum {string|null}
@@ -12433,6 +12606,11 @@ export interface components {
};
/** 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"];
@@ -13265,7 +13443,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" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null;
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null;
/**
* @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
* @enum {string|null}
@@ -13533,7 +13711,7 @@ export interface components {
/** @description Payment-method-specific configuration to provide to invoices created by the subscription. */
payment_method_options?: components["schemas"]["subscriptions_resource_payment_method_options"] | null;
/** @description The list of payment method types to provide to every invoice created by the subscription. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). */
- payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null;
+ payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null;
/**
* @description Either `off`, or `on_subscription`. With `on_subscription` Stripe updates `subscription.default_payment_method` when a subscription payment succeeds.
* @enum {string|null}
@@ -14039,6 +14217,8 @@ export interface components {
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 does not include the statutory tax rate of non-taxable jurisdictions. */
+ effective_percentage?: number | null;
/** @description Unique identifier for the object. */
id: string;
/** @description This specifies if the tax rate is inclusive or exclusive. */
@@ -20792,6 +20972,17 @@ export interface operations {
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;
};
@@ -20838,7 +21029,7 @@ export interface operations {
* prioritize the most relevant payment methods based on the customer's location and
* other characteristics.
*/
- payment_method_types?: ("acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[];
+ payment_method_types?: ("acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[];
/**
* phone_number_collection_params
* @description Controls phone number collection settings for the session.
@@ -23272,7 +23463,7 @@ export interface operations {
/** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */
starting_after?: string;
/** @description An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request. */
- type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
};
path: {
customer: string;
@@ -23841,7 +24032,7 @@ export interface operations {
description?: string;
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
}) | "";
@@ -23866,7 +24057,7 @@ export interface operations {
verification_method?: "automatic" | "instant" | "microdeposits";
}) | "";
};
- payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
+ payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
/** @enum {string} */
save_default_payment_method?: "off" | "on_subscription";
};
@@ -24118,7 +24309,7 @@ export interface operations {
description?: string;
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
}) | "";
@@ -24143,7 +24334,7 @@ export interface operations {
verification_method?: "automatic" | "instant" | "microdeposits";
}) | "";
};
- payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
+ payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
/** @enum {string} */
save_default_payment_method?: "off" | "on_subscription";
};
@@ -24162,7 +24353,7 @@ export interface operations {
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#retrieve_customer_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.
+ * @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. */
@@ -26294,7 +26485,7 @@ export interface operations {
verification_method?: "automatic" | "instant" | "microdeposits";
}) | "";
};
- payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
+ payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
};
/**
* @description How to handle pending invoice items on invoice creation. One of `include` or `exclude`. `include` will include any pending invoice items, and will create an empty draft invoice if no pending invoice items exist. `exclude` will always create an empty invoice draft regardless if there are pending invoice items or not. Defaults to `exclude` if the parameter is omitted.
@@ -26984,7 +27175,7 @@ export interface operations {
verification_method?: "automatic" | "instant" | "microdeposits";
}) | "";
};
- payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
+ payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
};
/** @description Options for invoice PDF rendering. */
rendering_options?: ({
@@ -29208,6 +29399,8 @@ export interface operations {
/** param */
paynow?: Record;
/** param */
+ paypal?: Record;
+ /** param */
pix?: Record;
/** param */
promptpay?: Record;
@@ -29225,7 +29418,7 @@ export interface operations {
country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL";
};
/** @enum {string} */
- type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
/** payment_method_param */
us_bank_account?: {
/** @enum {string} */
@@ -29331,7 +29524,7 @@ export interface operations {
supported_types?: ("india")[];
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
/** @enum {string} */
@@ -29423,6 +29616,16 @@ export interface operations {
/** @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 */
@@ -29525,7 +29728,7 @@ export interface operations {
};
/** @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/payments/connected-accounts) for details. */
transfer_group?: string;
- /** @description Set to `true` only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps. */
+ /** @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;
};
};
@@ -29784,6 +29987,8 @@ export interface operations {
/** param */
paynow?: Record;
/** param */
+ paypal?: Record;
+ /** param */
pix?: Record;
/** param */
promptpay?: Record;
@@ -29801,7 +30006,7 @@ export interface operations {
country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL";
};
/** @enum {string} */
- type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
/** payment_method_param */
us_bank_account?: {
/** @enum {string} */
@@ -29907,7 +30112,7 @@ export interface operations {
supported_types?: ("india")[];
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
/** @enum {string} */
@@ -29999,6 +30204,16 @@ export interface operations {
/** @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 */
@@ -30426,6 +30641,8 @@ export interface operations {
/** param */
paynow?: Record;
/** param */
+ paypal?: Record;
+ /** param */
pix?: Record;
/** param */
promptpay?: Record;
@@ -30443,7 +30660,7 @@ export interface operations {
country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL";
};
/** @enum {string} */
- type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
/** payment_method_param */
us_bank_account?: {
/** @enum {string} */
@@ -30549,7 +30766,7 @@ export interface operations {
supported_types?: ("india")[];
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
/** @enum {string} */
@@ -30641,6 +30858,16 @@ export interface operations {
/** @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 */
@@ -30731,7 +30958,7 @@ export interface operations {
phone?: string;
tracking_number?: string;
} | "";
- /** @description Set to `true` only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps. */
+ /** @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;
};
};
@@ -31060,7 +31287,7 @@ export interface operations {
*/
payment_method_collection?: "always" | "if_required";
/** @description The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods) (20+ payment methods [supported](https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support)). */
- payment_method_types?: ("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[];
+ payment_method_types?: ("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[];
/**
* phone_number_collection_params
* @description Controls phone number collection settings during checkout.
@@ -31288,7 +31515,7 @@ export interface operations {
*/
payment_method_collection?: "always" | "if_required";
/** @description The list of payment method types that customers can use. Pass an empty string to enable automatic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). */
- payment_method_types?: (("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
+ payment_method_types?: (("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
/** @description Configuration for collecting the customer's shipping address. */
shipping_address_collection?: ({
allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[];
@@ -31375,7 +31602,7 @@ export interface operations {
/** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */
starting_after?: string;
/** @description An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request. */
- type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
};
};
requestBody?: {
@@ -31600,6 +31827,11 @@ export interface operations {
* @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.
@@ -31636,7 +31868,7 @@ export interface operations {
* @description The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
* @enum {string}
*/
- type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
/**
* payment_method_param
* @description If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
@@ -35038,6 +35270,8 @@ export interface operations {
/** param */
paynow?: Record;
/** param */
+ paypal?: Record;
+ /** param */
pix?: Record;
/** param */
promptpay?: Record;
@@ -35055,7 +35289,7 @@ export interface operations {
country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL";
};
/** @enum {string} */
- type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
/** payment_method_param */
us_bank_account?: {
/** @enum {string} */
@@ -35115,7 +35349,7 @@ export interface operations {
supported_types?: ("india")[];
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
};
@@ -35123,6 +35357,10 @@ export interface operations {
link?: {
persistent_token?: string;
};
+ /** payment_method_options_param */
+ paypal?: {
+ billing_agreement_id?: string;
+ };
/** setup_intent_payment_method_options_param */
sepa_debit?: {
/** payment_method_options_mandate_options_param */
@@ -35356,6 +35594,8 @@ export interface operations {
/** param */
paynow?: Record;
/** param */
+ paypal?: Record;
+ /** param */
pix?: Record;
/** param */
promptpay?: Record;
@@ -35373,7 +35613,7 @@ export interface operations {
country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL";
};
/** @enum {string} */
- type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
/** payment_method_param */
us_bank_account?: {
/** @enum {string} */
@@ -35433,7 +35673,7 @@ export interface operations {
supported_types?: ("india")[];
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
};
@@ -35441,6 +35681,10 @@ export interface operations {
link?: {
persistent_token?: string;
};
+ /** payment_method_options_param */
+ paypal?: {
+ billing_agreement_id?: string;
+ };
/** setup_intent_payment_method_options_param */
sepa_debit?: {
/** payment_method_options_mandate_options_param */
@@ -35679,6 +35923,8 @@ export interface operations {
/** param */
paynow?: Record;
/** param */
+ paypal?: Record;
+ /** param */
pix?: Record;
/** param */
promptpay?: Record;
@@ -35696,7 +35942,7 @@ export interface operations {
country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL";
};
/** @enum {string} */
- type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
+ type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay";
/** payment_method_param */
us_bank_account?: {
/** @enum {string} */
@@ -35756,7 +36002,7 @@ export interface operations {
supported_types?: ("india")[];
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
};
@@ -35764,6 +36010,10 @@ export interface operations {
link?: {
persistent_token?: string;
};
+ /** payment_method_options_param */
+ paypal?: {
+ billing_agreement_id?: string;
+ };
/** setup_intent_payment_method_options_param */
sepa_debit?: {
/** payment_method_options_mandate_options_param */
@@ -37688,7 +37938,7 @@ export interface operations {
description?: string;
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
}) | "";
@@ -37713,7 +37963,7 @@ export interface operations {
verification_method?: "automatic" | "instant" | "microdeposits";
}) | "";
};
- payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
+ payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
/** @enum {string} */
save_default_payment_method?: "off" | "on_subscription";
};
@@ -38018,7 +38268,7 @@ export interface operations {
description?: string;
};
/** @enum {string} */
- network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
+ network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa";
/** @enum {string} */
request_three_d_secure?: "any" | "automatic";
}) | "";
@@ -38043,7 +38293,7 @@ export interface operations {
verification_method?: "automatic" | "instant" | "microdeposits";
}) | "";
};
- payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
+ payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | "";
/** @enum {string} */
save_default_payment_method?: "off" | "on_subscription";
};
@@ -38062,7 +38312,7 @@ export interface operations {
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#retrieve_customer_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.
+ * @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. */
diff --git a/packages/openapi-typescript/examples/stripe-api.yaml b/packages/openapi-typescript/examples/stripe-api.yaml
index 788c83df3..448f2772e 100644
--- a/packages/openapi-typescript/examples/stripe-api.yaml
+++ b/packages/openapi-typescript/examples/stripe-api.yaml
@@ -6095,6 +6095,34 @@ components:
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/tax_rate'
+ taxability_reason:
+ 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:
+ - 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
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ taxable_amount:
+ description: 'The amount on which tax is calculated, in %s.'
+ nullable: true
+ type: integer
required:
- amount
- inclusive
@@ -11645,6 +11673,34 @@ components:
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/tax_rate'
+ taxability_reason:
+ 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:
+ - 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
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ taxable_amount:
+ description: 'The amount on which tax is calculated, in %s.'
+ nullable: true
+ type: integer
required:
- amount
- inclusive
@@ -12079,6 +12135,7 @@ components:
- konbini
- link
- paynow
+ - paypal
- promptpay
- sepa_debit
- sofort
@@ -17026,6 +17083,36 @@ components:
type: integer
rate:
$ref: '#/components/schemas/tax_rate'
+ taxability_reason:
+ 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:
+ - customer_exempt
+ - excluded_territory
+ - jurisdiction_unsupported
+ - 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
+ - vat_exempt
+ - zero_rated
+ nullable: true
+ type: string
+ taxable_amount:
+ description: 'The amount on which tax is calculated, in %s.'
+ nullable: true
+ type: integer
required:
- amount
- rate
@@ -17323,6 +17410,8 @@ components:
$ref: '#/components/schemas/mandate_cashapp'
link:
$ref: '#/components/schemas/mandate_link'
+ paypal:
+ $ref: '#/components/schemas/mandate_paypal'
sepa_debit:
$ref: '#/components/schemas/mandate_sepa_debit'
type:
@@ -17347,8 +17436,30 @@ components:
- card
- cashapp
- link
+ - paypal
- sepa_debit
- us_bank_account
+ mandate_paypal:
+ description: ''
+ properties:
+ billing_agreement_id:
+ description: >-
+ The PayPal Billing Agreement ID (BAID). This is an ID generated by
+ PayPal which represents the mandate between the merchant and the
+ customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payer_id:
+ description: >-
+ PayPal account PayerID. This identifier uniquely identifies the
+ PayPal customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: mandate_paypal
+ type: object
+ x-expandableFields: []
mandate_sepa_debit:
description: ''
properties:
@@ -18948,6 +19059,11 @@ components:
- $ref: '#/components/schemas/payment_method_options_paynow'
- $ref: >-
#/components/schemas/payment_intent_type_specific_payment_method_options_client
+ paypal:
+ anyOf:
+ - $ref: '#/components/schemas/payment_method_options_paypal'
+ - $ref: >-
+ #/components/schemas/payment_intent_type_specific_payment_method_options_client
pix:
anyOf:
- $ref: '#/components/schemas/payment_method_options_pix'
@@ -19008,6 +19124,7 @@ components:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -19129,6 +19246,7 @@ components:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -19671,6 +19789,7 @@ components:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -20542,6 +20661,8 @@ components:
$ref: '#/components/schemas/payment_method_p24'
paynow:
$ref: '#/components/schemas/payment_method_paynow'
+ paypal:
+ $ref: '#/components/schemas/payment_method_paypal'
pix:
$ref: '#/components/schemas/payment_method_pix'
promptpay:
@@ -20583,6 +20704,7 @@ components:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -20632,6 +20754,7 @@ components:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- radar_options
@@ -20912,9 +21035,110 @@ components:
- setup_attempt
payment_method_card_present:
description: ''
- properties: {}
+ properties:
+ brand:
+ description: >-
+ Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`,
+ `mastercard`, `unionpay`, `visa`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cardholder_name:
+ 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.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ 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.
+ maxLength: 5000
+ nullable: true
+ type: string
+ exp_month:
+ description: Two-digit number representing the card's expiration month.
+ type: integer
+ exp_year:
+ description: Four-digit number representing the card's expiration year.
+ type: integer
+ fingerprint:
+ 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.
+
+
+ *Starting May 1, 2021, card fingerprint in India for Connect will
+ change to allow two fingerprints for the same card --- one for India
+ and one for the rest of the world.*
+ maxLength: 5000
+ nullable: true
+ type: string
+ funding:
+ description: >-
+ Card funding type. Can be `credit`, `debit`, `prepaid`, or
+ `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: The last four digits of the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ networks:
+ anyOf:
+ - $ref: '#/components/schemas/payment_method_card_present_networks'
+ description: >-
+ Contains information about card networks that can be used to process
+ the payment.
+ nullable: true
+ read_method:
+ description: How card details were read in this transaction.
+ enum:
+ - contact_emv
+ - contactless_emv
+ - contactless_magstripe_mode
+ - magnetic_stripe_fallback
+ - magnetic_stripe_track2
+ nullable: true
+ type: string
+ required:
+ - exp_month
+ - exp_year
title: payment_method_card_present
type: object
+ x-expandableFields:
+ - networks
+ payment_method_card_present_networks:
+ description: ''
+ properties:
+ available:
+ description: All available networks for the card.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ preferred:
+ description: The preferred network for the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - available
+ title: payment_method_card_present_networks
+ type: object
x-expandableFields: []
payment_method_card_wallet:
description: ''
@@ -21072,7 +21296,19 @@ components:
- shipping_address
payment_method_cashapp:
description: ''
- properties: {}
+ properties:
+ buyer_id:
+ description: >-
+ A unique and immutable identifier assigned by Cash App to every
+ buyer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cashtag:
+ description: A public identifier for buyers using Cash App.
+ maxLength: 5000
+ nullable: true
+ type: string
title: payment_method_cashapp
type: object
x-expandableFields: []
@@ -21142,6 +21378,8 @@ components:
$ref: '#/components/schemas/payment_method_details_p24'
paynow:
$ref: '#/components/schemas/payment_method_details_paynow'
+ paypal:
+ $ref: '#/components/schemas/payment_method_details_paypal'
pix:
$ref: '#/components/schemas/payment_method_details_pix'
promptpay:
@@ -21205,6 +21443,7 @@ components:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -21569,6 +21808,13 @@ components:
maxLength: 5000
nullable: true
type: string
+ network_token:
+ anyOf:
+ - $ref: '#/components/schemas/payment_method_details_card_network_token'
+ description: >-
+ If this card has network token credentials, this contains the
+ details of the network token credentials.
+ nullable: true
three_d_secure:
anyOf:
- $ref: '#/components/schemas/three_d_secure_details'
@@ -21589,6 +21835,7 @@ components:
x-expandableFields:
- checks
- installments
+ - network_token
- three_d_secure
- wallet
payment_method_details_card_checks:
@@ -21660,6 +21907,19 @@ components:
title: payment_method_details_card_installments_plan
type: object
x-expandableFields: []
+ payment_method_details_card_network_token:
+ description: ''
+ properties:
+ used:
+ description: >-
+ Indicates if Stripe used a network token, either user provided or
+ Stripe managed when processing the transaction.
+ type: boolean
+ required:
+ - used
+ title: payment_method_details_card_network_token
+ type: object
+ x-expandableFields: []
payment_method_details_card_present:
description: ''
properties:
@@ -22010,7 +22270,19 @@ components:
- shipping_address
payment_method_details_cashapp:
description: ''
- properties: {}
+ properties:
+ buyer_id:
+ description: >-
+ A unique and immutable identifier assigned by Cash App to every
+ buyer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cashtag:
+ description: A public identifier for buyers using Cash App.
+ maxLength: 5000
+ nullable: true
+ type: string
title: payment_method_details_cashapp
type: object
x-expandableFields: []
@@ -22621,6 +22893,50 @@ components:
title: payment_method_details_paynow
type: object
x-expandableFields: []
+ payment_method_details_paypal:
+ description: ''
+ properties:
+ payer_email:
+ 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.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payer_id:
+ description: >-
+ PayPal account PayerID. This identifier uniquely identifies the
+ PayPal customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payer_name:
+ 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.
+ maxLength: 5000
+ nullable: true
+ type: string
+ seller_protection:
+ anyOf:
+ - $ref: '#/components/schemas/paypal_seller_protection'
+ description: >-
+ The level of protection offered as defined by PayPal Seller
+ Protection for Merchants, for this transaction.
+ nullable: true
+ transaction_id:
+ description: A unique ID generated by PayPal for this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_paypal
+ type: object
+ x-expandableFields:
+ - seller_protection
payment_method_details_pix:
description: ''
properties:
@@ -22998,10 +23314,99 @@ components:
x-expandableFields: []
payment_method_interac_present:
description: ''
- properties: {}
+ properties:
+ brand:
+ description: 'Card brand. Can be `interac`, `mastercard` or `visa`.'
+ maxLength: 5000
+ nullable: true
+ type: string
+ cardholder_name:
+ 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.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ 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.
+ maxLength: 5000
+ nullable: true
+ type: string
+ exp_month:
+ description: Two-digit number representing the card's expiration month.
+ type: integer
+ exp_year:
+ description: Four-digit number representing the card's expiration year.
+ type: integer
+ fingerprint:
+ 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.
+
+
+ *Starting May 1, 2021, card fingerprint in India for Connect will
+ change to allow two fingerprints for the same card --- one for India
+ and one for the rest of the world.*
+ maxLength: 5000
+ nullable: true
+ type: string
+ funding:
+ description: >-
+ Card funding type. Can be `credit`, `debit`, `prepaid`, or
+ `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: The last four digits of the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ networks:
+ anyOf:
+ - $ref: '#/components/schemas/payment_method_card_present_networks'
+ description: >-
+ Contains information about card networks that can be used to process
+ the payment.
+ nullable: true
+ preferred_locales:
+ description: >-
+ EMV tag 5F2D. Preferred languages specified by the integrated
+ circuit chip.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ read_method:
+ description: How card details were read in this transaction.
+ enum:
+ - contact_emv
+ - contactless_emv
+ - contactless_magstripe_mode
+ - magnetic_stripe_fallback
+ - magnetic_stripe_track2
+ nullable: true
+ type: string
+ required:
+ - exp_month
+ - exp_year
title: payment_method_interac_present
type: object
- x-expandableFields: []
+ x-expandableFields:
+ - networks
payment_method_klarna:
description: ''
properties:
@@ -23781,12 +24186,40 @@ components:
enum:
- none
type: string
- required:
- - expires_after_days
- title: payment_method_options_oxxo
+ required:
+ - expires_after_days
+ title: payment_method_options_oxxo
+ type: object
+ x-expandableFields: []
+ payment_method_options_p24:
+ 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.
+
+
+ When processing card payments, Stripe also uses `setup_future_usage`
+ 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
+ type: string
+ title: payment_method_options_p24
type: object
x-expandableFields: []
- payment_method_options_p24:
+ payment_method_options_paynow:
description: ''
properties:
setup_future_usage:
@@ -23811,12 +24244,35 @@ components:
enum:
- none
type: string
- title: payment_method_options_p24
+ title: payment_method_options_paynow
type: object
x-expandableFields: []
- payment_method_options_paynow:
+ payment_method_options_paypal:
description: ''
properties:
+ capture_method:
+ description: >-
+ Controls when the funds will be captured from the customer's
+ account.
+ enum:
+ - manual
+ type: string
+ preferred_locale:
+ description: >-
+ Preferred locale of the PayPal checkout page that the customer is
+ redirected to.
+ maxLength: 5000
+ nullable: true
+ type: string
+ reference:
+ 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.
+ maxLength: 5000
+ nullable: true
+ type: string
setup_future_usage:
description: >-
Indicates that you intend to make future payments with this
@@ -23838,8 +24294,9 @@ components:
[SCA](https://stripe.com/docs/strong-customer-authentication).
enum:
- none
+ - off_session
type: string
- title: payment_method_options_paynow
+ title: payment_method_options_paypal
type: object
x-expandableFields: []
payment_method_options_pix:
@@ -24044,6 +24501,19 @@ components:
title: payment_method_paynow
type: object
x-expandableFields: []
+ payment_method_paypal:
+ description: ''
+ properties:
+ payer_id:
+ description: >-
+ PayPal account PayerID. This identifier uniquely identifies the
+ PayPal customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_paypal
+ type: object
+ x-expandableFields: []
payment_method_pix:
description: ''
properties: {}
@@ -25397,6 +25867,35 @@ components:
- original_payout
- reversed_by
x-resourceId: payout
+ paypal_seller_protection:
+ description: ''
+ properties:
+ dispute_categories:
+ description: >-
+ An array of conditions that are covered for the transaction, if
+ applicable.
+ items:
+ enum:
+ - fraudulent
+ - product_not_received
+ type: string
+ x-stripeBypassValidation: true
+ nullable: true
+ type: array
+ status:
+ description: >-
+ Indicates whether the transaction is eligible for PayPal's seller
+ protection.
+ enum:
+ - eligible
+ - not_eligible
+ - partially_eligible
+ type: string
+ required:
+ - status
+ title: paypal_seller_protection
+ type: object
+ x-expandableFields: []
period:
description: ''
properties:
@@ -28894,6 +29393,8 @@ components:
$ref: '#/components/schemas/setup_attempt_payment_method_details_klarna'
link:
$ref: '#/components/schemas/setup_attempt_payment_method_details_link'
+ paypal:
+ $ref: '#/components/schemas/setup_attempt_payment_method_details_paypal'
sepa_debit:
$ref: '#/components/schemas/setup_attempt_payment_method_details_sepa_debit'
sofort:
@@ -28926,6 +29427,7 @@ components:
- ideal
- klarna
- link
+ - paypal
- sepa_debit
- sofort
- us_bank_account
@@ -29274,6 +29776,12 @@ components:
title: setup_attempt_payment_method_details_link
type: object
x-expandableFields: []
+ setup_attempt_payment_method_details_paypal:
+ description: ''
+ properties: {}
+ title: setup_attempt_payment_method_details_paypal
+ type: object
+ x-expandableFields: []
setup_attempt_payment_method_details_sepa_debit:
description: ''
properties: {}
@@ -29776,6 +30284,11 @@ components:
- $ref: '#/components/schemas/setup_intent_payment_method_options_link'
- $ref: >-
#/components/schemas/setup_intent_type_specific_payment_method_options_client
+ paypal:
+ anyOf:
+ - $ref: '#/components/schemas/setup_intent_payment_method_options_paypal'
+ - $ref: >-
+ #/components/schemas/setup_intent_type_specific_payment_method_options_client
sepa_debit:
anyOf:
- $ref: >-
@@ -29795,6 +30308,7 @@ components:
- blik
- card
- link
+ - paypal
- sepa_debit
- us_bank_account
setup_intent_payment_method_options_acss_debit:
@@ -29853,6 +30367,7 @@ components:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -30052,6 +30567,20 @@ components:
title: setup_intent_payment_method_options_mandate_options_sepa_debit
type: object
x-expandableFields: []
+ setup_intent_payment_method_options_paypal:
+ description: ''
+ properties:
+ billing_agreement_id:
+ description: >-
+ The PayPal Billing Agreement ID (BAID). This is an ID generated by
+ PayPal which represents the mandate between the merchant and the
+ customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: setup_intent_payment_method_options_paypal
+ type: object
+ x-expandableFields: []
setup_intent_payment_method_options_sepa_debit:
description: ''
properties:
@@ -32224,6 +32753,7 @@ components:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -33018,6 +33548,7 @@ components:
- konbini
- link
- paynow
+ - paypal
- promptpay
- sepa_debit
- sofort
@@ -34307,6 +34838,13 @@ components:
on their receipt email, PDF, and the hosted invoice page.
maxLength: 5000
type: string
+ effective_percentage:
+ description: >-
+ Actual/effective tax rate percentage out of 100. For tax
+ calculations with automatic_tax[enabled]=true, this percentage does
+ not include the statutory tax rate of non-taxable jurisdictions.
+ nullable: true
+ type: number
id:
description: Unique identifier for the object.
maxLength: 5000
@@ -49277,6 +49815,52 @@ paths:
type: string
title: payment_method_options_param
type: object
+ paypal:
+ properties:
+ capture_method:
+ enum:
+ - ''
+ - manual
+ type: string
+ preferred_locale:
+ enum:
+ - 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
+ type: string
+ x-stripeBypassValidation: true
+ reference:
+ maxLength: 127
+ type: string
+ risk_correlation_id:
+ maxLength: 32
+ type: string
+ setup_future_usage:
+ enum:
+ - ''
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_param
+ type: object
pix:
properties:
expires_after_seconds:
@@ -49406,6 +49990,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -54976,6 +55561,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -56302,6 +56888,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -56407,6 +56994,7 @@ paths:
- konbini
- link
- paynow
+ - paypal
- promptpay
- sepa_debit
- sofort
@@ -57218,6 +57806,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -57323,6 +57912,7 @@ paths:
- konbini
- link
- paynow
+ - paypal
- promptpay
- sepa_debit
- sofort
@@ -57391,7 +57981,7 @@ paths:
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#retrieve_customer_invoice)
+ 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
@@ -62015,6 +62605,7 @@ paths:
- konbini
- link
- paynow
+ - paypal
- promptpay
- sepa_debit
- sofort
@@ -64295,6 +64886,7 @@ paths:
- konbini
- link
- paynow
+ - paypal
- promptpay
- sepa_debit
- sofort
@@ -73048,6 +73640,10 @@ paths:
properties: {}
title: param
type: object
+ paypal:
+ properties: {}
+ title: param
+ type: object
pix:
properties: {}
title: param
@@ -73111,6 +73707,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -73426,6 +74023,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -73778,6 +74376,56 @@ paths:
- enum:
- ''
type: string
+ paypal:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ''
+ - manual
+ type: string
+ preferred_locale:
+ enum:
+ - 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
+ type: string
+ x-stripeBypassValidation: true
+ reference:
+ maxLength: 127
+ type: string
+ risk_correlation_id:
+ maxLength: 32
+ type: string
+ setup_future_usage:
+ enum:
+ - ''
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ''
+ type: string
pix:
anyOf:
- properties:
@@ -74076,9 +74724,9 @@ paths:
type: string
use_stripe_sdk:
description: >-
- Set to `true` only when using manual confirmation and the
- iOS or Android SDKs to handle additional authentication
- steps.
+ Set to `true` when confirming server-side and using
+ Stripe.js, iOS, or Android client-side SDKs to handle the
+ next actions.
type: boolean
required:
- amount
@@ -74740,6 +75388,10 @@ paths:
properties: {}
title: param
type: object
+ paypal:
+ properties: {}
+ title: param
+ type: object
pix:
properties: {}
title: param
@@ -74803,6 +75455,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -75118,6 +75771,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -75470,6 +76124,56 @@ paths:
- enum:
- ''
type: string
+ paypal:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ''
+ - manual
+ type: string
+ preferred_locale:
+ enum:
+ - 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
+ type: string
+ x-stripeBypassValidation: true
+ reference:
+ maxLength: 127
+ type: string
+ risk_correlation_id:
+ maxLength: 32
+ type: string
+ setup_future_usage:
+ enum:
+ - ''
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ''
+ type: string
pix:
anyOf:
- properties:
@@ -76559,6 +77263,10 @@ paths:
properties: {}
title: param
type: object
+ paypal:
+ properties: {}
+ title: param
+ type: object
pix:
properties: {}
title: param
@@ -76622,6 +77330,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -76937,6 +77646,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -77289,6 +77999,56 @@ paths:
- enum:
- ''
type: string
+ paypal:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ''
+ - manual
+ type: string
+ preferred_locale:
+ enum:
+ - 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
+ type: string
+ x-stripeBypassValidation: true
+ reference:
+ maxLength: 127
+ type: string
+ risk_correlation_id:
+ maxLength: 32
+ type: string
+ setup_future_usage:
+ enum:
+ - ''
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ''
+ type: string
pix:
anyOf:
- properties:
@@ -77564,9 +78324,9 @@ paths:
description: Shipping information for this PaymentIntent.
use_stripe_sdk:
description: >-
- Set to `true` only when using manual confirmation and the
- iOS or Android SDKs to handle additional authentication
- steps.
+ Set to `true` when confirming server-side and using
+ Stripe.js, iOS, or Android client-side SDKs to handle the
+ next actions.
type: boolean
type: object
required: false
@@ -78356,6 +79116,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -79125,6 +79886,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -79622,6 +80384,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -79782,6 +80545,9 @@ paths:
paynow:
explode: true
style: deepObject
+ paypal:
+ explode: true
+ style: deepObject
pix:
explode: true
style: deepObject
@@ -80234,6 +81000,13 @@ paths:
properties: {}
title: param
type: object
+ paypal:
+ description: >-
+ If this is a `paypal` PaymentMethod, this hash contains
+ details about the PayPal payment method.
+ properties: {}
+ title: param
+ type: object
pix:
description: >-
If this is a `pix` PaymentMethod, this hash contains details
@@ -80319,6 +81092,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -88315,6 +89089,10 @@ paths:
properties: {}
title: param
type: object
+ paypal:
+ properties: {}
+ title: param
+ type: object
pix:
properties: {}
title: param
@@ -88378,6 +89156,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -88531,6 +89310,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -88556,6 +89336,13 @@ paths:
type: string
title: setup_intent_payment_method_options_param
type: object
+ paypal:
+ properties:
+ billing_agreement_id:
+ maxLength: 5000
+ type: string
+ title: payment_method_options_param
+ type: object
sepa_debit:
properties:
mandate_options:
@@ -89141,6 +89928,10 @@ paths:
properties: {}
title: param
type: object
+ paypal:
+ properties: {}
+ title: param
+ type: object
pix:
properties: {}
title: param
@@ -89204,6 +89995,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -89357,6 +90149,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -89382,6 +90175,13 @@ paths:
type: string
title: setup_intent_payment_method_options_param
type: object
+ paypal:
+ properties:
+ billing_agreement_id:
+ maxLength: 5000
+ type: string
+ title: payment_method_options_param
+ type: object
sepa_debit:
properties:
mandate_options:
@@ -89954,6 +90754,10 @@ paths:
properties: {}
title: param
type: object
+ paypal:
+ properties: {}
+ title: param
+ type: object
pix:
properties: {}
title: param
@@ -90017,6 +90821,7 @@ paths:
- oxxo
- p24
- paynow
+ - paypal
- pix
- promptpay
- sepa_debit
@@ -90170,6 +90975,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -90195,6 +91001,13 @@ paths:
type: string
title: setup_intent_payment_method_options_param
type: object
+ paypal:
+ properties:
+ billing_agreement_id:
+ maxLength: 5000
+ type: string
+ title: payment_method_options_param
+ type: object
sepa_debit:
properties:
mandate_options:
@@ -94674,6 +95487,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -94779,6 +95593,7 @@ paths:
- konbini
- link
- paynow
+ - paypal
- promptpay
- sepa_debit
- sofort
@@ -95724,6 +96539,7 @@ paths:
- cartes_bancaires
- diners
- discover
+ - eftpos_au
- interac
- jcb
- mastercard
@@ -95829,6 +96645,7 @@ paths:
- konbini
- link
- paynow
+ - paypal
- promptpay
- sepa_debit
- sofort
@@ -95897,7 +96714,7 @@ paths:
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#retrieve_customer_invoice)
+ 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
diff --git a/packages/openapi-typescript/scripts/download-schemas.ts b/packages/openapi-typescript/scripts/download-schemas.ts
index 4e2ecc32a..0523cd48c 100644
--- a/packages/openapi-typescript/scripts/download-schemas.ts
+++ b/packages/openapi-typescript/scripts/download-schemas.ts
@@ -6,12 +6,9 @@ import { fetch } from "undici";
import { error } from "../src/utils.js";
export const singleFile = {
- "github-api":
- "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.yaml",
- "github-api-next":
- "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions-next/api.github.com/api.github.com.yaml",
- "octokit-ghes-3.6-diff-to-api":
- "https://raw.githubusercontent.com/octokit/octokit-next.js/main/cache/types-openapi/ghes-3.6-diff-to-api.github.com.json",
+ "github-api": "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.yaml",
+ "github-api-next": "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions-next/api.github.com/api.github.com.yaml",
+ "octokit-ghes-3.6-diff-to-api": "https://raw.githubusercontent.com/octokit/octokit-next.js/main/cache/types-openapi/ghes-3.6-diff-to-api.github.com.json",
"stripe-api": "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.yaml",
};
export const multiFile = {
diff --git a/packages/openapi-typescript/scripts/update-examples.ts b/packages/openapi-typescript/scripts/update-examples.ts
index ce0646cba..151176259 100644
--- a/packages/openapi-typescript/scripts/update-examples.ts
+++ b/packages/openapi-typescript/scripts/update-examples.ts
@@ -12,11 +12,7 @@ async function generateSchemas() {
await execa("node", ["./bin/cli.js", `./examples/${name}${ext}`, "-o", `./examples/${name}.ts`], { cwd });
}),
...Object.entries(multiFile).map(async ([name, meta]) => {
- await execa(
- "node",
- ["./bin/cli.js", `./examples/${name}${meta.entry.substring(1)}`, "-o", `./examples/${name}.ts`],
- { cwd }
- );
+ await execa("node", ["./bin/cli.js", `./examples/${name}${meta.entry.substring(1)}`, "-o", `./examples/${name}.ts`], { cwd });
}),
]);
}