Copy disabled (too large)
Download .txt
Showing preview only (77,412K chars total). Download the full file to get everything.
Repository: openapi-ts/openapi-typescript
Branch: main
Commit: ae3174dcaf81
Files: 2395
Total size: 73.2 MB
Directory structure:
gitextract_547idzy3/
├── .changeset/
│ ├── config.json
│ ├── fix-empty-error-response.md
│ ├── honest-comics-worry.md
│ ├── loose-enum-autocomplete.md
│ └── yellow-meteors-rush.md
├── .github/
│ ├── CODEOWNERS
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── 01_openapi-typescript-bug.yml
│ │ ├── 01_openapi-typescript-feat.yml
│ │ ├── 02_openapi-fetch-bug.yml
│ │ ├── 02_openapi-fetch-feat.yml
│ │ ├── 03_openapi-react-query-bug.yml
│ │ ├── 03_openapi-react-query-feat.yml
│ │ └── config.yml
│ ├── pull_request_template.md
│ └── workflows/
│ ├── ci.yml
│ ├── issue-stale.yml
│ ├── issue.yml
│ ├── release.yml
│ └── size-limit.yml
├── .gitignore
├── .nvmrc
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── GOVERNANCE.md
├── LICENSE
├── MAINTAINERS.md
├── README.md
├── biome.json
├── docs/
│ ├── .gitignore
│ ├── .vitepress/
│ │ ├── config.ts
│ │ ├── en.ts
│ │ ├── ja.ts
│ │ ├── shared.ts
│ │ ├── theme/
│ │ │ ├── Contributors.vue
│ │ │ ├── CustomLayout.vue
│ │ │ ├── SponsorList.vue
│ │ │ ├── index.ts
│ │ │ └── style.css
│ │ └── zh.ts
│ ├── 6.x/
│ │ ├── about.md
│ │ ├── advanced.md
│ │ ├── cli.md
│ │ ├── introduction.md
│ │ └── node.md
│ ├── CONTRIBUTING.md
│ ├── README.md
│ ├── _redirects
│ ├── about.md
│ ├── advanced.md
│ ├── cli.md
│ ├── data/
│ │ ├── contributors.json
│ │ └── sponsors.json
│ ├── examples.md
│ ├── index.md
│ ├── introduction.md
│ ├── ja/
│ │ ├── about.md
│ │ ├── advanced.md
│ │ ├── cli.md
│ │ ├── examples.md
│ │ ├── index.md
│ │ ├── introduction.md
│ │ ├── migration-guide.md
│ │ ├── node.md
│ │ ├── openapi-fetch/
│ │ │ ├── api.md
│ │ │ ├── examples.md
│ │ │ ├── index.md
│ │ │ ├── middleware-auth.md
│ │ │ └── testing.md
│ │ └── openapi-react-query/
│ │ ├── index.md
│ │ ├── use-mutation.md
│ │ ├── use-query.md
│ │ └── use-suspense-query.md
│ ├── migration-guide.md
│ ├── node.md
│ ├── openapi-fetch/
│ │ ├── api.md
│ │ ├── examples.md
│ │ ├── index.md
│ │ ├── middleware-auth.md
│ │ └── testing.md
│ ├── openapi-react-query/
│ │ ├── index.md
│ │ ├── query-options.md
│ │ ├── use-infinite-query.md
│ │ ├── use-mutation.md
│ │ ├── use-query.md
│ │ └── use-suspense-query.md
│ ├── package.json
│ ├── public/
│ │ ├── googlec446be7f016b2162.html
│ │ ├── make-scrollable-code-focusable.js
│ │ └── robots.txt
│ ├── scripts/
│ │ └── update-contributors.js
│ ├── tsconfig.json
│ └── zh/
│ ├── about.md
│ ├── advanced.md
│ ├── cli.md
│ ├── examples.md
│ ├── index.md
│ ├── introduction.md
│ ├── node.md
│ └── openapi-fetch/
│ ├── api.md
│ ├── examples.md
│ ├── index.md
│ ├── middleware-auth.md
│ └── testing.md
├── package.json
├── packages/
│ ├── openapi-fetch/
│ │ ├── .npmignore
│ │ ├── CHANGELOG.md
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── biome.json
│ │ ├── build.config.ts
│ │ ├── examples/
│ │ │ ├── nextjs/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README.md
│ │ │ │ ├── app/
│ │ │ │ │ ├── layout.tsx
│ │ │ │ │ └── page.tsx
│ │ │ │ ├── lib/
│ │ │ │ │ └── api/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── v1.d.ts
│ │ │ │ │ └── v1.json
│ │ │ │ ├── next.config.js
│ │ │ │ ├── package.json
│ │ │ │ └── tsconfig.json
│ │ │ ├── sveltekit/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README.md
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ ├── app.d.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── hooks.server.ts
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── api/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── v1.d.ts
│ │ │ │ │ │ └── v1.json
│ │ │ │ │ └── routes/
│ │ │ │ │ ├── +page.svelte
│ │ │ │ │ └── page-data/
│ │ │ │ │ ├── +page.svelte
│ │ │ │ │ └── +page.ts
│ │ │ │ ├── svelte.config.js
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ └── vue-3/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── env.d.ts
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.vue
│ │ │ │ ├── assets/
│ │ │ │ │ ├── base.css
│ │ │ │ │ └── main.css
│ │ │ │ ├── composables/
│ │ │ │ │ └── catfact-query.ts
│ │ │ │ ├── generated/
│ │ │ │ │ └── catfact.d.ts
│ │ │ │ ├── lib/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── main.ts
│ │ │ │ └── schema/
│ │ │ │ └── catfact.json
│ │ │ ├── tsconfig.app.json
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── vite.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── src/
│ │ │ ├── index.d.ts
│ │ │ └── index.js
│ │ ├── test/
│ │ │ ├── bench/
│ │ │ │ └── index.bench.js
│ │ │ ├── common/
│ │ │ │ ├── create-client-e2e.test.js
│ │ │ │ ├── create-client.test.ts
│ │ │ │ ├── params.test.ts
│ │ │ │ ├── request.test.ts
│ │ │ │ ├── response.test.ts
│ │ │ │ └── schemas/
│ │ │ │ ├── common.d.ts
│ │ │ │ └── common.yaml
│ │ │ ├── e2e/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── schemas/
│ │ │ │ │ │ ├── e2e.d.ts
│ │ │ │ │ │ └── e2e.yaml
│ │ │ │ │ └── vite.config.ts
│ │ │ │ └── index.e2e.ts
│ │ │ ├── examples/
│ │ │ │ ├── examples.test.ts
│ │ │ │ └── schemas/
│ │ │ │ ├── github.d.ts
│ │ │ │ └── stripe.d.ts
│ │ │ ├── helpers.ts
│ │ │ ├── http-methods/
│ │ │ │ ├── delete.test.ts
│ │ │ │ ├── get.test.ts
│ │ │ │ ├── head.test.ts
│ │ │ │ ├── options.test.ts
│ │ │ │ ├── patch.test.ts
│ │ │ │ ├── post.test.ts
│ │ │ │ ├── put.test.ts
│ │ │ │ ├── request.test.ts
│ │ │ │ ├── schemas/
│ │ │ │ │ ├── delete.d.ts
│ │ │ │ │ ├── delete.yaml
│ │ │ │ │ ├── get.d.ts
│ │ │ │ │ ├── get.yaml
│ │ │ │ │ ├── head.d.ts
│ │ │ │ │ ├── head.yaml
│ │ │ │ │ ├── options.d.ts
│ │ │ │ │ ├── options.yaml
│ │ │ │ │ ├── patch.d.ts
│ │ │ │ │ ├── patch.yaml
│ │ │ │ │ ├── post.d.ts
│ │ │ │ │ ├── post.yaml
│ │ │ │ │ ├── put.d.ts
│ │ │ │ │ ├── put.yaml
│ │ │ │ │ ├── trace.d.ts
│ │ │ │ │ └── trace.yaml
│ │ │ │ └── trace.test.ts
│ │ │ ├── middleware/
│ │ │ │ ├── middleware.test.ts
│ │ │ │ └── schemas/
│ │ │ │ ├── middleware.d.ts
│ │ │ │ └── middleware.yaml
│ │ │ ├── never-response/
│ │ │ │ ├── never-response.test.ts
│ │ │ │ └── schemas/
│ │ │ │ ├── never-response.d.ts
│ │ │ │ └── never-response.yaml
│ │ │ ├── no-strict-null-checks/
│ │ │ │ ├── no-strict-null-checks.test.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── path-based-client/
│ │ │ │ ├── path-based-client.test.ts
│ │ │ │ └── schemas/
│ │ │ │ ├── path-based-client.d.ts
│ │ │ │ └── path-based-client.yaml
│ │ │ ├── read-write-visibility/
│ │ │ │ ├── read-write.test.ts
│ │ │ │ └── schemas/
│ │ │ │ ├── read-write.d.ts
│ │ │ │ └── read-write.yaml
│ │ │ ├── redocly.yaml
│ │ │ └── types.test.ts
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
│ ├── openapi-metadata/
│ │ └── README.md
│ ├── openapi-react-query/
│ │ ├── .npmignore
│ │ ├── CHANGELOG.md
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── biome.json
│ │ ├── build.config.ts
│ │ ├── package.json
│ │ ├── src/
│ │ │ └── index.ts
│ │ ├── test/
│ │ │ ├── fixtures/
│ │ │ │ ├── api.d.ts
│ │ │ │ ├── api.yaml
│ │ │ │ └── mock-server.ts
│ │ │ └── index.test.tsx
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
│ ├── openapi-typescript/
│ │ ├── .npmignore
│ │ ├── CHANGELOG.md
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── bin/
│ │ │ └── cli.js
│ │ ├── biome.json
│ │ ├── build.config.ts
│ │ ├── examples/
│ │ │ ├── README.md
│ │ │ ├── digital-ocean-api/
│ │ │ │ ├── DigitalOcean-public.v2.yaml
│ │ │ │ ├── description.yml
│ │ │ │ ├── resources/
│ │ │ │ │ ├── 1-clicks/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── oneClicks.yml
│ │ │ │ │ │ │ │ └── oneClicks_create.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ ├── oneClicks.yml
│ │ │ │ │ │ │ └── oneClicks_create.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── oneClicks.yml
│ │ │ │ │ │ │ └── oneClicks_create.yml
│ │ │ │ │ │ ├── oneClicks_install_kubernetes.yml
│ │ │ │ │ │ ├── oneClicks_list.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── oneClicks_all.yml
│ │ │ │ │ │ └── oneClicks_create.yml
│ │ │ │ │ ├── account/
│ │ │ │ │ │ ├── account_get.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ └── account_get.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ └── account_get.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ └── account.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ └── account.yml
│ │ │ │ │ ├── actions/
│ │ │ │ │ │ ├── actions_get.yml
│ │ │ │ │ │ ├── actions_list.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── actions_get.yml
│ │ │ │ │ │ │ │ └── actions_list.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── actions_get.yml
│ │ │ │ │ │ │ │ └── actions_list.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── actions_get.yml
│ │ │ │ │ │ │ │ └── actions_list.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── actions_get.yml
│ │ │ │ │ │ │ └── actions_list.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ └── action.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── action.yml
│ │ │ │ │ │ └── actions.yml
│ │ │ │ │ ├── apps/
│ │ │ │ │ │ ├── apps_assign_alertDestinations.yml
│ │ │ │ │ │ ├── apps_cancel_deployment.yml
│ │ │ │ │ │ ├── apps_commit_rollback.yml
│ │ │ │ │ │ ├── apps_create.yml
│ │ │ │ │ │ ├── apps_create_deployment.yml
│ │ │ │ │ │ ├── apps_create_rollback.yml
│ │ │ │ │ │ ├── apps_delete.yml
│ │ │ │ │ │ ├── apps_get.yml
│ │ │ │ │ │ ├── apps_get_deployment.yml
│ │ │ │ │ │ ├── apps_get_exec.yml
│ │ │ │ │ │ ├── apps_get_exec_active_deployment.yml
│ │ │ │ │ │ ├── apps_get_instanceSize.yml
│ │ │ │ │ │ ├── apps_get_logs.yml
│ │ │ │ │ │ ├── apps_get_logs_active_deployment.yml
│ │ │ │ │ │ ├── apps_get_logs_active_deployment_aggregate.yml
│ │ │ │ │ │ ├── apps_get_logs_aggregate.yml
│ │ │ │ │ │ ├── apps_get_metrics_bandwidth_usage.yml
│ │ │ │ │ │ ├── apps_get_tier.yml
│ │ │ │ │ │ ├── apps_list.yml
│ │ │ │ │ │ ├── apps_list_alerts.yml
│ │ │ │ │ │ ├── apps_list_deployments.yml
│ │ │ │ │ │ ├── apps_list_instanceSizes.yml
│ │ │ │ │ │ ├── apps_list_metrics_bandwidth_usage.yml
│ │ │ │ │ │ ├── apps_list_regions.yml
│ │ │ │ │ │ ├── apps_list_tiers.yml
│ │ │ │ │ │ ├── apps_restart.yml
│ │ │ │ │ │ ├── apps_revert_rollback.yml
│ │ │ │ │ │ ├── apps_toggle_database_trusted_source.yml
│ │ │ │ │ │ ├── apps_update.yml
│ │ │ │ │ │ ├── apps_validate_appSpec.yml
│ │ │ │ │ │ ├── apps_validate_rollback.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── apps_assign_alertDestinations.yml
│ │ │ │ │ │ │ │ ├── apps_cancel_deployment.yml
│ │ │ │ │ │ │ │ ├── apps_create.yml
│ │ │ │ │ │ │ │ ├── apps_create_deployment.yml
│ │ │ │ │ │ │ │ ├── apps_create_rollback.yml
│ │ │ │ │ │ │ │ ├── apps_delete.yml
│ │ │ │ │ │ │ │ ├── apps_get.yml
│ │ │ │ │ │ │ │ ├── apps_get_deployment.yml
│ │ │ │ │ │ │ │ ├── apps_get_exec.yml
│ │ │ │ │ │ │ │ ├── apps_get_exec_active_deployment.yml
│ │ │ │ │ │ │ │ ├── apps_get_instanceSize.yml
│ │ │ │ │ │ │ │ ├── apps_get_logs.yml
│ │ │ │ │ │ │ │ ├── apps_get_logs_active_deployment.yml
│ │ │ │ │ │ │ │ ├── apps_get_logs_active_deployment_aggregate.yml
│ │ │ │ │ │ │ │ ├── apps_get_logs_aggregate.yml
│ │ │ │ │ │ │ │ ├── apps_get_metrics_bandwidth_usage.yml
│ │ │ │ │ │ │ │ ├── apps_get_tier.yml
│ │ │ │ │ │ │ │ ├── apps_list.yml
│ │ │ │ │ │ │ │ ├── apps_list_alerts.yml
│ │ │ │ │ │ │ │ ├── apps_list_deployments.yml
│ │ │ │ │ │ │ │ ├── apps_list_instanceSizes.yml
│ │ │ │ │ │ │ │ ├── apps_list_metrics_bandwidth_usage.yml
│ │ │ │ │ │ │ │ ├── apps_list_regions.yml
│ │ │ │ │ │ │ │ ├── apps_list_tiers.yml
│ │ │ │ │ │ │ │ ├── apps_restart.yml
│ │ │ │ │ │ │ │ ├── apps_toggle_database_trusted_source.yml
│ │ │ │ │ │ │ │ ├── apps_update.yml
│ │ │ │ │ │ │ │ ├── apps_validate_rollback.yml
│ │ │ │ │ │ │ │ ├── commit_app_rollback.yml
│ │ │ │ │ │ │ │ ├── revert_app_rollback.yml
│ │ │ │ │ │ │ │ ├── rollback_app.yml
│ │ │ │ │ │ │ │ └── validate_app_rollback.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ ├── apps_assign_alertDestinations.yml
│ │ │ │ │ │ │ ├── apps_cancel_deployment.yml
│ │ │ │ │ │ │ ├── apps_create.yml
│ │ │ │ │ │ │ ├── apps_create_deployment.yml
│ │ │ │ │ │ │ ├── apps_create_rollback.yml
│ │ │ │ │ │ │ ├── apps_delete.yml
│ │ │ │ │ │ │ ├── apps_get.yml
│ │ │ │ │ │ │ ├── apps_get_deployment.yml
│ │ │ │ │ │ │ ├── apps_get_exec.yml
│ │ │ │ │ │ │ ├── apps_get_exec_active_deployment.yml
│ │ │ │ │ │ │ ├── apps_get_instanceSize.yml
│ │ │ │ │ │ │ ├── apps_get_logs.yml
│ │ │ │ │ │ │ ├── apps_get_logs_active_deployment.yml
│ │ │ │ │ │ │ ├── apps_get_logs_active_deployment_aggregate.yml
│ │ │ │ │ │ │ ├── apps_get_logs_aggregate.yml
│ │ │ │ │ │ │ ├── apps_get_metrics_bandwidth_usage.yml
│ │ │ │ │ │ │ ├── apps_get_tier.yml
│ │ │ │ │ │ │ ├── apps_list.yml
│ │ │ │ │ │ │ ├── apps_list_alerts.yml
│ │ │ │ │ │ │ ├── apps_list_deployments.yml
│ │ │ │ │ │ │ ├── apps_list_instanceSizes.yml
│ │ │ │ │ │ │ ├── apps_list_metrics_bandwidth_usage.yml
│ │ │ │ │ │ │ ├── apps_list_regions.yml
│ │ │ │ │ │ │ ├── apps_list_tiers.yml
│ │ │ │ │ │ │ ├── apps_restart.yml
│ │ │ │ │ │ │ ├── apps_toggle_database_trusted_source.yml
│ │ │ │ │ │ │ ├── apps_update.yml
│ │ │ │ │ │ │ ├── apps_validate_rollback.yml
│ │ │ │ │ │ │ ├── commit_app_rollback.yml
│ │ │ │ │ │ │ ├── revert_app_rollback.yml
│ │ │ │ │ │ │ ├── rollback_app.yml
│ │ │ │ │ │ │ └── validate_app_rollback.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── app.yml
│ │ │ │ │ │ │ ├── app_alert.yml
│ │ │ │ │ │ │ ├── app_alert_email.yml
│ │ │ │ │ │ │ ├── app_alert_phase.yml
│ │ │ │ │ │ │ ├── app_alert_progress.yml
│ │ │ │ │ │ │ ├── app_alert_progress_step.yml
│ │ │ │ │ │ │ ├── app_alert_progress_step_reason.yml
│ │ │ │ │ │ │ ├── app_alert_progress_step_status.yml
│ │ │ │ │ │ │ ├── app_alert_slack_webhook.yml
│ │ │ │ │ │ │ ├── app_alert_spec.yml
│ │ │ │ │ │ │ ├── app_alert_spec_operator.yml
│ │ │ │ │ │ │ ├── app_alert_spec_rule.yml
│ │ │ │ │ │ │ ├── app_alert_spec_window.yml
│ │ │ │ │ │ │ ├── app_component_base.yml
│ │ │ │ │ │ │ ├── app_component_instance_base.yml
│ │ │ │ │ │ │ ├── app_database_spec.yml
│ │ │ │ │ │ │ ├── app_domain_spec.yml
│ │ │ │ │ │ │ ├── app_domain_validation.yml
│ │ │ │ │ │ │ ├── app_egress_spec.yml
│ │ │ │ │ │ │ ├── app_egress_type_spec.yml
│ │ │ │ │ │ │ ├── app_functions_spec.yml
│ │ │ │ │ │ │ ├── app_ingress_spec.yml
│ │ │ │ │ │ │ ├── app_ingress_spec_rule.yml
│ │ │ │ │ │ │ ├── app_ingress_spec_rule_match.yml
│ │ │ │ │ │ │ ├── app_ingress_spec_rule_routing_component.yml
│ │ │ │ │ │ │ ├── app_ingress_spec_rule_routing_redirect.yml
│ │ │ │ │ │ │ ├── app_ingress_spec_rule_string_match.yml
│ │ │ │ │ │ │ ├── app_job_spec.yml
│ │ │ │ │ │ │ ├── app_job_spec_termination.yml
│ │ │ │ │ │ │ ├── app_log_destination_datadog_spec.yml
│ │ │ │ │ │ │ ├── app_log_destination_definition.yml
│ │ │ │ │ │ │ ├── app_log_destination_logtail_spec.yml
│ │ │ │ │ │ │ ├── app_log_destination_open_search_spec.yml
│ │ │ │ │ │ │ ├── app_log_destination_open_search_spec_basic_auth.yml
│ │ │ │ │ │ │ ├── app_log_destination_papertrail_spec.yml
│ │ │ │ │ │ │ ├── app_maintenance_spec.yml
│ │ │ │ │ │ │ ├── app_metrics_bandwidth_usage.yml
│ │ │ │ │ │ │ ├── app_metrics_bandwidth_usage_details.yml
│ │ │ │ │ │ │ ├── app_metrics_bandwidth_usage_request.yml
│ │ │ │ │ │ │ ├── app_propose.yml
│ │ │ │ │ │ │ ├── app_propose_response.yml
│ │ │ │ │ │ │ ├── app_response.yml
│ │ │ │ │ │ │ ├── app_rollback_validation_condition.yml
│ │ │ │ │ │ │ ├── app_route_spec.yml
│ │ │ │ │ │ │ ├── app_service_spec.yml
│ │ │ │ │ │ │ ├── app_service_spec_health_check.yml
│ │ │ │ │ │ │ ├── app_service_spec_termination.yml
│ │ │ │ │ │ │ ├── app_spec.yml
│ │ │ │ │ │ │ ├── app_static_site_spec.yml
│ │ │ │ │ │ │ ├── app_variable_definition.yml
│ │ │ │ │ │ │ ├── app_worker_spec.yml
│ │ │ │ │ │ │ ├── app_worker_spec_termination.yml
│ │ │ │ │ │ │ ├── apps_alert_response.yml
│ │ │ │ │ │ │ ├── apps_assign_app_alert_destinations_request.yml
│ │ │ │ │ │ │ ├── apps_bitbucket_source_spec.yml
│ │ │ │ │ │ │ ├── apps_cors_policy.yml
│ │ │ │ │ │ │ ├── apps_create_app_request.yml
│ │ │ │ │ │ │ ├── apps_create_deployment_request.yml
│ │ │ │ │ │ │ ├── apps_dedicated_egress_ip.yml
│ │ │ │ │ │ │ ├── apps_dedicated_egress_ip_status.yml
│ │ │ │ │ │ │ ├── apps_delete_app_response.yml
│ │ │ │ │ │ │ ├── apps_deploy_template.yml
│ │ │ │ │ │ │ ├── apps_deployment.yml
│ │ │ │ │ │ │ ├── apps_deployment_functions.yml
│ │ │ │ │ │ │ ├── apps_deployment_job.yml
│ │ │ │ │ │ │ ├── apps_deployment_phase.yml
│ │ │ │ │ │ │ ├── apps_deployment_progress.yml
│ │ │ │ │ │ │ ├── apps_deployment_progress_step.yml
│ │ │ │ │ │ │ ├── apps_deployment_progress_step_reason.yml
│ │ │ │ │ │ │ ├── apps_deployment_progress_step_status.yml
│ │ │ │ │ │ │ ├── apps_deployment_response.yml
│ │ │ │ │ │ │ ├── apps_deployment_service.yml
│ │ │ │ │ │ │ ├── apps_deployment_static_site.yml
│ │ │ │ │ │ │ ├── apps_deployment_worker.yml
│ │ │ │ │ │ │ ├── apps_deployments_response.yml
│ │ │ │ │ │ │ ├── apps_domain.yml
│ │ │ │ │ │ │ ├── apps_domain_phase.yml
│ │ │ │ │ │ │ ├── apps_domain_progress.yml
│ │ │ │ │ │ │ ├── apps_domain_progress_step.yml
│ │ │ │ │ │ │ ├── apps_domain_progress_step_reason.yml
│ │ │ │ │ │ │ ├── apps_domain_progress_step_status.yml
│ │ │ │ │ │ │ ├── apps_get_exec_response.yml
│ │ │ │ │ │ │ ├── apps_get_instance_size_response.yml
│ │ │ │ │ │ │ ├── apps_get_logs_request_type.yml
│ │ │ │ │ │ │ ├── apps_get_logs_response.yml
│ │ │ │ │ │ │ ├── apps_get_tier_response.yml
│ │ │ │ │ │ │ ├── apps_git_source_spec.yml
│ │ │ │ │ │ │ ├── apps_github_source_spec.yml
│ │ │ │ │ │ │ ├── apps_gitlab_source_spec.yml
│ │ │ │ │ │ │ ├── apps_image_source_spec.yml
│ │ │ │ │ │ │ ├── apps_instance_size.yml
│ │ │ │ │ │ │ ├── apps_list_alerts_response.yml
│ │ │ │ │ │ │ ├── apps_list_instance_sizes_response.yml
│ │ │ │ │ │ │ ├── apps_list_regions_response.yml
│ │ │ │ │ │ │ ├── apps_list_tiers_response.yml
│ │ │ │ │ │ │ ├── apps_propose_app_response.yml
│ │ │ │ │ │ │ ├── apps_propose_domain_response.yml
│ │ │ │ │ │ │ ├── apps_region.yml
│ │ │ │ │ │ │ ├── apps_response.yml
│ │ │ │ │ │ │ ├── apps_restart_request.yml
│ │ │ │ │ │ │ ├── apps_rollback_app_request.yml
│ │ │ │ │ │ │ ├── apps_string_match.yml
│ │ │ │ │ │ │ ├── apps_tier.yml
│ │ │ │ │ │ │ ├── apps_update_app_request.yml
│ │ │ │ │ │ │ ├── instance_size_cpu_type.yml
│ │ │ │ │ │ │ ├── propose_domain_response_app_domain.yml
│ │ │ │ │ │ │ ├── propose_domain_response_do_domain_record.yml
│ │ │ │ │ │ │ └── toggle_database_trusted_source_request.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_tiers.yml
│ │ │ │ │ │ ├── apps_get.yml
│ │ │ │ │ │ ├── apps_validate_rollback.yml
│ │ │ │ │ │ ├── assign_alert_destinations.yml
│ │ │ │ │ │ ├── cancel_deployment.yml
│ │ │ │ │ │ ├── delete_app.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── existing_deployments.yml
│ │ │ │ │ │ ├── get_exec.yml
│ │ │ │ │ │ ├── get_instance.yml
│ │ │ │ │ │ ├── get_metrics_bandwidth_usage.yml
│ │ │ │ │ │ ├── get_tier.yml
│ │ │ │ │ │ ├── list_alerts.yml
│ │ │ │ │ │ ├── list_apps.yml
│ │ │ │ │ │ ├── list_deployment.yml
│ │ │ │ │ │ ├── list_instance.yml
│ │ │ │ │ │ ├── list_logs.yml
│ │ │ │ │ │ ├── list_metrics_bandwidth_usage.yml
│ │ │ │ │ │ ├── list_regions.yml
│ │ │ │ │ │ ├── new_app.yml
│ │ │ │ │ │ ├── new_app_deployment.yml
│ │ │ │ │ │ ├── propose_app.yml
│ │ │ │ │ │ ├── toggle_database_trusted_source.yml
│ │ │ │ │ │ └── update_app.yml
│ │ │ │ │ ├── autoscale_pools/
│ │ │ │ │ │ ├── autoscale_pool_create.yml
│ │ │ │ │ │ ├── autoscale_pool_delete.yml
│ │ │ │ │ │ ├── autoscale_pool_delete_dangerous.yml
│ │ │ │ │ │ ├── autoscale_pool_get.yml
│ │ │ │ │ │ ├── autoscale_pool_list.yml
│ │ │ │ │ │ ├── autoscale_pool_list_history.yml
│ │ │ │ │ │ ├── autoscale_pool_list_members.yml
│ │ │ │ │ │ ├── autoscale_pool_update.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ └── curl/
│ │ │ │ │ │ │ ├── autoscale_pool_create.yml
│ │ │ │ │ │ │ ├── autoscale_pool_delete.yml
│ │ │ │ │ │ │ ├── autoscale_pool_delete_dangerous.yml
│ │ │ │ │ │ │ ├── autoscale_pool_get.yml
│ │ │ │ │ │ │ ├── autoscale_pool_history_events.yml
│ │ │ │ │ │ │ ├── autoscale_pool_members.yml
│ │ │ │ │ │ │ ├── autoscale_pool_update.yml
│ │ │ │ │ │ │ └── autoscale_pools_list.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── autoscale_pool.yml
│ │ │ │ │ │ │ ├── autoscale_pool_create.yml
│ │ │ │ │ │ │ ├── autoscale_pool_droplet_template.yml
│ │ │ │ │ │ │ ├── autoscale_pool_dynamic_config.yml
│ │ │ │ │ │ │ ├── autoscale_pool_static_config.yml
│ │ │ │ │ │ │ ├── current_utilization.yml
│ │ │ │ │ │ │ ├── history.yml
│ │ │ │ │ │ │ ├── member.yml
│ │ │ │ │ │ │ └── member_current_utilization.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_autoscale_pools.yml
│ │ │ │ │ │ ├── all_members.yml
│ │ │ │ │ │ ├── autoscale_pool_create.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── existing_autoscale_pool.yml
│ │ │ │ │ │ └── history_events.yml
│ │ │ │ │ ├── billing/
│ │ │ │ │ │ ├── balance_get.yml
│ │ │ │ │ │ ├── billingHistory_list.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── balance_get.yml
│ │ │ │ │ │ │ │ ├── billingHistory_list.yml
│ │ │ │ │ │ │ │ ├── invoices_get_byUUID.yml
│ │ │ │ │ │ │ │ ├── invoices_get_csvByUUID.yml
│ │ │ │ │ │ │ │ ├── invoices_get_pdfByUUID.yml
│ │ │ │ │ │ │ │ ├── invoices_get_summaryByUUID.yml
│ │ │ │ │ │ │ │ └── invoices_list.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ ├── balance_get.yml
│ │ │ │ │ │ │ ├── billingHistory_list.yml
│ │ │ │ │ │ │ ├── invoices_get_byUUID.yml
│ │ │ │ │ │ │ ├── invoices_get_csvByUUID.yml
│ │ │ │ │ │ │ ├── invoices_get_pdfByUUID.yml
│ │ │ │ │ │ │ ├── invoices_get_summaryByUUID.yml
│ │ │ │ │ │ │ └── invoices_list.yml
│ │ │ │ │ │ ├── invoices_get_byUUID.yml
│ │ │ │ │ │ ├── invoices_get_csvByUUID.yml
│ │ │ │ │ │ ├── invoices_get_pdfByUUID.yml
│ │ │ │ │ │ ├── invoices_get_summaryByUUID.yml
│ │ │ │ │ │ ├── invoices_list.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── balance.yml
│ │ │ │ │ │ │ ├── billing_address.yml
│ │ │ │ │ │ │ ├── billing_history.yml
│ │ │ │ │ │ │ ├── invoice_item.yml
│ │ │ │ │ │ │ ├── invoice_preview.yml
│ │ │ │ │ │ │ ├── invoice_summary.yml
│ │ │ │ │ │ │ ├── product_charge_item.yml
│ │ │ │ │ │ │ ├── product_usage_charges.yml
│ │ │ │ │ │ │ └── simple_charge.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── balance.yml
│ │ │ │ │ │ ├── billing_history.yml
│ │ │ │ │ │ ├── invoice.yml
│ │ │ │ │ │ ├── invoice_csv.yml
│ │ │ │ │ │ ├── invoice_pdf.yml
│ │ │ │ │ │ ├── invoice_summary.yml
│ │ │ │ │ │ └── invoices.yml
│ │ │ │ │ ├── cdn/
│ │ │ │ │ │ ├── cdn_create_endpoint.yml
│ │ │ │ │ │ ├── cdn_delete_endpoint.yml
│ │ │ │ │ │ ├── cdn_get_endpoint.yml
│ │ │ │ │ │ ├── cdn_list_endpoints.yml
│ │ │ │ │ │ ├── cdn_purge_cache.yml
│ │ │ │ │ │ ├── cdn_update_endpoint.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── endpoints_create.yml
│ │ │ │ │ │ │ │ ├── endpoints_delete.yml
│ │ │ │ │ │ │ │ ├── endpoints_get.yml
│ │ │ │ │ │ │ │ ├── endpoints_list.yml
│ │ │ │ │ │ │ │ ├── endpoints_update.yml
│ │ │ │ │ │ │ │ └── purge_cdn_cache.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── endpoints_create.yml
│ │ │ │ │ │ │ │ ├── endpoints_delete.yml
│ │ │ │ │ │ │ │ ├── endpoints_get.yml
│ │ │ │ │ │ │ │ ├── endpoints_list.yml
│ │ │ │ │ │ │ │ ├── endpoints_update.yml
│ │ │ │ │ │ │ │ └── purge_cdn_cache.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── endpoints_create.yml
│ │ │ │ │ │ │ │ ├── endpoints_delete.yml
│ │ │ │ │ │ │ │ ├── endpoints_get.yml
│ │ │ │ │ │ │ │ ├── endpoints_list.yml
│ │ │ │ │ │ │ │ ├── endpoints_update.yml
│ │ │ │ │ │ │ │ └── purge_cdn_cache.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── endpoints_create.yml
│ │ │ │ │ │ │ ├── endpoints_delete.yml
│ │ │ │ │ │ │ ├── endpoints_get.yml
│ │ │ │ │ │ │ ├── endpoints_list.yml
│ │ │ │ │ │ │ ├── endpoints_update.yml
│ │ │ │ │ │ │ └── purge_cdn_cache.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── cdn_endpoint.yml
│ │ │ │ │ │ │ ├── purge_cache.yml
│ │ │ │ │ │ │ └── update_endpoint.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_cdn_endpoints.yml
│ │ │ │ │ │ └── existing_endpoint.yml
│ │ │ │ │ ├── certificates/
│ │ │ │ │ │ ├── certificates_create.yml
│ │ │ │ │ │ ├── certificates_delete.yml
│ │ │ │ │ │ ├── certificates_get.yml
│ │ │ │ │ │ ├── certificates_list.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── certificates_create.yml
│ │ │ │ │ │ │ │ ├── certificates_delete.yml
│ │ │ │ │ │ │ │ ├── certificates_get.yml
│ │ │ │ │ │ │ │ └── certificates_list.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── certificates_create.yml
│ │ │ │ │ │ │ │ ├── certificates_delete.yml
│ │ │ │ │ │ │ │ ├── certificates_get.yml
│ │ │ │ │ │ │ │ └── certificates_list.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── certificates_create.yml
│ │ │ │ │ │ │ │ ├── certificates_delete.yml
│ │ │ │ │ │ │ │ ├── certificates_get.yml
│ │ │ │ │ │ │ │ └── certificates_list.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── certificates_create.yml
│ │ │ │ │ │ │ ├── certificates_delete.yml
│ │ │ │ │ │ │ ├── certificates_get.yml
│ │ │ │ │ │ │ └── certificates_list.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── certificate.yml
│ │ │ │ │ │ │ └── certificate_create.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_certificates.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── existing_certificate.yml
│ │ │ │ │ │ └── new_certificate.yml
│ │ │ │ │ ├── databases/
│ │ │ │ │ │ ├── databases_add.yml
│ │ │ │ │ │ ├── databases_add_connectionPool.yml
│ │ │ │ │ │ ├── databases_add_user.yml
│ │ │ │ │ │ ├── databases_create_cluster.yml
│ │ │ │ │ │ ├── databases_create_kafka_topic.yml
│ │ │ │ │ │ ├── databases_create_logsink.yml
│ │ │ │ │ │ ├── databases_create_replica.yml
│ │ │ │ │ │ ├── databases_delete.yml
│ │ │ │ │ │ ├── databases_delete_connectionPool.yml
│ │ │ │ │ │ ├── databases_delete_kafka_topic.yml
│ │ │ │ │ │ ├── databases_delete_logsink.yml
│ │ │ │ │ │ ├── databases_delete_onlineMigration.yml
│ │ │ │ │ │ ├── databases_delete_opensearch_index.yml
│ │ │ │ │ │ ├── databases_delete_user.yml
│ │ │ │ │ │ ├── databases_destroy_cluster.yml
│ │ │ │ │ │ ├── databases_destroy_replica.yml
│ │ │ │ │ │ ├── databases_events_logs.yml
│ │ │ │ │ │ ├── databases_get.yml
│ │ │ │ │ │ ├── databases_get_ca.yml
│ │ │ │ │ │ ├── databases_get_cluster.yml
│ │ │ │ │ │ ├── databases_get_cluster_metrics_credentials.yml
│ │ │ │ │ │ ├── databases_get_config.yml
│ │ │ │ │ │ ├── databases_get_connectionPool.yml
│ │ │ │ │ │ ├── databases_get_evictionPolicy.yml
│ │ │ │ │ │ ├── databases_get_kafka_topic.yml
│ │ │ │ │ │ ├── databases_get_logsink.yml
│ │ │ │ │ │ ├── databases_get_migrationStatus.yml
│ │ │ │ │ │ ├── databases_get_replica.yml
│ │ │ │ │ │ ├── databases_get_sql_mode.yml
│ │ │ │ │ │ ├── databases_get_user.yml
│ │ │ │ │ │ ├── databases_list.yml
│ │ │ │ │ │ ├── databases_list_backups.yml
│ │ │ │ │ │ ├── databases_list_clusters.yml
│ │ │ │ │ │ ├── databases_list_connectionPools.yml
│ │ │ │ │ │ ├── databases_list_firewall_rules.yml
│ │ │ │ │ │ ├── databases_list_kafka_topics.yml
│ │ │ │ │ │ ├── databases_list_logsink.yml
│ │ │ │ │ │ ├── databases_list_opensearch_indexes.yml
│ │ │ │ │ │ ├── databases_list_options.yml
│ │ │ │ │ │ ├── databases_list_replicas.yml
│ │ │ │ │ │ ├── databases_list_users.yml
│ │ │ │ │ │ ├── databases_patch_config.yml
│ │ │ │ │ │ ├── databases_promote_replica.yml
│ │ │ │ │ │ ├── databases_reset_auth.yml
│ │ │ │ │ │ ├── databases_update_clusterSize.yml
│ │ │ │ │ │ ├── databases_update_cluster_metrics_credentials.yml
│ │ │ │ │ │ ├── databases_update_connectionPool.yml
│ │ │ │ │ │ ├── databases_update_evictionPolicy.yml
│ │ │ │ │ │ ├── databases_update_firewall_rules.yml
│ │ │ │ │ │ ├── databases_update_installUpdate.yml
│ │ │ │ │ │ ├── databases_update_kafka_topic.yml
│ │ │ │ │ │ ├── databases_update_logsink.yml
│ │ │ │ │ │ ├── databases_update_maintenanceWindow.yml
│ │ │ │ │ │ ├── databases_update_onlineMigration.yml
│ │ │ │ │ │ ├── databases_update_region.yml
│ │ │ │ │ │ ├── databases_update_sql_mode.yml
│ │ │ │ │ │ ├── databases_update_user.yml
│ │ │ │ │ │ ├── databases_upgrade_major_version.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── databases_add.yml
│ │ │ │ │ │ │ │ ├── databases_add_connectionPool.yml
│ │ │ │ │ │ │ │ ├── databases_add_user.yml
│ │ │ │ │ │ │ │ ├── databases_create_cluster.yml
│ │ │ │ │ │ │ │ ├── databases_create_logsink.yml
│ │ │ │ │ │ │ │ ├── databases_create_replica.yml
│ │ │ │ │ │ │ │ ├── databases_create_topic.yml
│ │ │ │ │ │ │ │ ├── databases_delete.yml
│ │ │ │ │ │ │ │ ├── databases_delete_connectionPool.yml
│ │ │ │ │ │ │ │ ├── databases_delete_logsink.yml
│ │ │ │ │ │ │ │ ├── databases_delete_onlineMigration.yml
│ │ │ │ │ │ │ │ ├── databases_delete_opensearch_index.yml
│ │ │ │ │ │ │ │ ├── databases_delete_topic.yml
│ │ │ │ │ │ │ │ ├── databases_delete_user.yml
│ │ │ │ │ │ │ │ ├── databases_destroy_cluster.yml
│ │ │ │ │ │ │ │ ├── databases_destroy_replica.yml
│ │ │ │ │ │ │ │ ├── databases_get.yml
│ │ │ │ │ │ │ │ ├── databases_get_ca.yml
│ │ │ │ │ │ │ │ ├── databases_get_cluster.yml
│ │ │ │ │ │ │ │ ├── databases_get_cluster_metrics_credentials.yml
│ │ │ │ │ │ │ │ ├── databases_get_config.yml
│ │ │ │ │ │ │ │ ├── databases_get_connectionPool.yml
│ │ │ │ │ │ │ │ ├── databases_get_evictionPolicy.yml
│ │ │ │ │ │ │ │ ├── databases_get_logsink.yml
│ │ │ │ │ │ │ │ ├── databases_get_migrationStatus.yml
│ │ │ │ │ │ │ │ ├── databases_get_replica.yml
│ │ │ │ │ │ │ │ ├── databases_get_sql_mode.yml
│ │ │ │ │ │ │ │ ├── databases_get_topic.yml
│ │ │ │ │ │ │ │ ├── databases_get_user.yml
│ │ │ │ │ │ │ │ ├── databases_list.yml
│ │ │ │ │ │ │ │ ├── databases_list_backups.yml
│ │ │ │ │ │ │ │ ├── databases_list_clusters.yml
│ │ │ │ │ │ │ │ ├── databases_list_connectionPools.yml
│ │ │ │ │ │ │ │ ├── databases_list_events.yml
│ │ │ │ │ │ │ │ ├── databases_list_firewall_rules.yml
│ │ │ │ │ │ │ │ ├── databases_list_logsink.yml
│ │ │ │ │ │ │ │ ├── databases_list_opensearch_indexes.yml
│ │ │ │ │ │ │ │ ├── databases_list_options.yml
│ │ │ │ │ │ │ │ ├── databases_list_replicas.yml
│ │ │ │ │ │ │ │ ├── databases_list_topics.yml
│ │ │ │ │ │ │ │ ├── databases_list_users.yml
│ │ │ │ │ │ │ │ ├── databases_patch_config.yml
│ │ │ │ │ │ │ │ ├── databases_promote_replica.yml
│ │ │ │ │ │ │ │ ├── databases_reset_auth.yml
│ │ │ │ │ │ │ │ ├── databases_update_clusterSize.yml
│ │ │ │ │ │ │ │ ├── databases_update_cluster_metrics_credentials.yml
│ │ │ │ │ │ │ │ ├── databases_update_connectionPool.yml
│ │ │ │ │ │ │ │ ├── databases_update_evictionPolicy.yml
│ │ │ │ │ │ │ │ ├── databases_update_firewall_rules.yml
│ │ │ │ │ │ │ │ ├── databases_update_installUpdate.yml
│ │ │ │ │ │ │ │ ├── databases_update_logsink.yml
│ │ │ │ │ │ │ │ ├── databases_update_maintenanceWindow.yml
│ │ │ │ │ │ │ │ ├── databases_update_onlineMigration.yml
│ │ │ │ │ │ │ │ ├── databases_update_region.yml
│ │ │ │ │ │ │ │ ├── databases_update_sql_mode.yml
│ │ │ │ │ │ │ │ ├── databases_update_topic.yml
│ │ │ │ │ │ │ │ ├── databases_update_user.yml
│ │ │ │ │ │ │ │ └── databases_upgrade_version.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── databases_add.yml
│ │ │ │ │ │ │ │ ├── databases_add_connectionPool.yml
│ │ │ │ │ │ │ │ ├── databases_add_user.yml
│ │ │ │ │ │ │ │ ├── databases_create_cluster.yml
│ │ │ │ │ │ │ │ ├── databases_create_replica.yml
│ │ │ │ │ │ │ │ ├── databases_create_topic.yml
│ │ │ │ │ │ │ │ ├── databases_delete.yml
│ │ │ │ │ │ │ │ ├── databases_delete_connectionPool.yml
│ │ │ │ │ │ │ │ ├── databases_delete_opensearch_index.yml
│ │ │ │ │ │ │ │ ├── databases_delete_topic.yml
│ │ │ │ │ │ │ │ ├── databases_delete_user.yml
│ │ │ │ │ │ │ │ ├── databases_destroy_cluster.yml
│ │ │ │ │ │ │ │ ├── databases_destroy_replica.yml
│ │ │ │ │ │ │ │ ├── databases_get.yml
│ │ │ │ │ │ │ │ ├── databases_get_ca.yml
│ │ │ │ │ │ │ │ ├── databases_get_cluster.yml
│ │ │ │ │ │ │ │ ├── databases_get_cluster_metrics_credentials.yml
│ │ │ │ │ │ │ │ ├── databases_get_connectionPool.yml
│ │ │ │ │ │ │ │ ├── databases_get_evictionPolicy.yml
│ │ │ │ │ │ │ │ ├── databases_get_replica.yml
│ │ │ │ │ │ │ │ ├── databases_get_sql_mode.yml
│ │ │ │ │ │ │ │ ├── databases_get_topic.yml
│ │ │ │ │ │ │ │ ├── databases_get_user.yml
│ │ │ │ │ │ │ │ ├── databases_list.yml
│ │ │ │ │ │ │ │ ├── databases_list_backups.yml
│ │ │ │ │ │ │ │ ├── databases_list_clusters.yml
│ │ │ │ │ │ │ │ ├── databases_list_connectionPools.yml
│ │ │ │ │ │ │ │ ├── databases_list_events.yml
│ │ │ │ │ │ │ │ ├── databases_list_firewall_rules.yml
│ │ │ │ │ │ │ │ ├── databases_list_opensearch_indexes.yml
│ │ │ │ │ │ │ │ ├── databases_list_options.yml
│ │ │ │ │ │ │ │ ├── databases_list_replicas.yml
│ │ │ │ │ │ │ │ ├── databases_list_topics.yml
│ │ │ │ │ │ │ │ ├── databases_list_users.yml
│ │ │ │ │ │ │ │ ├── databases_promote_replica.yml
│ │ │ │ │ │ │ │ ├── databases_reset_auth.yml
│ │ │ │ │ │ │ │ ├── databases_update_clusterSize.yml
│ │ │ │ │ │ │ │ ├── databases_update_cluster_metrics_credentials.yml
│ │ │ │ │ │ │ │ ├── databases_update_connectionPool.yml
│ │ │ │ │ │ │ │ ├── databases_update_evictionPolicy.yml
│ │ │ │ │ │ │ │ ├── databases_update_firewall_rules.yml
│ │ │ │ │ │ │ │ ├── databases_update_installUpdate.yml
│ │ │ │ │ │ │ │ ├── databases_update_maintenanceWindow.yml
│ │ │ │ │ │ │ │ ├── databases_update_region.yml
│ │ │ │ │ │ │ │ ├── databases_update_sql_mode.yml
│ │ │ │ │ │ │ │ ├── databases_update_topic.yml
│ │ │ │ │ │ │ │ └── databases_update_user.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ ├── databases_add.yml
│ │ │ │ │ │ │ ├── databases_add_connectionPool.yml
│ │ │ │ │ │ │ ├── databases_add_user.yml
│ │ │ │ │ │ │ ├── databases_create_cluster.yml
│ │ │ │ │ │ │ ├── databases_create_replica.yml
│ │ │ │ │ │ │ ├── databases_delete.yml
│ │ │ │ │ │ │ ├── databases_delete_connectionPool.yml
│ │ │ │ │ │ │ ├── databases_delete_onlineMigration.yml
│ │ │ │ │ │ │ ├── databases_delete_user.yml
│ │ │ │ │ │ │ ├── databases_destroy_cluster.yml
│ │ │ │ │ │ │ ├── databases_destroy_replica.yml
│ │ │ │ │ │ │ ├── databases_get.yml
│ │ │ │ │ │ │ ├── databases_get_ca.yml
│ │ │ │ │ │ │ ├── databases_get_cluster.yml
│ │ │ │ │ │ │ ├── databases_get_config.yml
│ │ │ │ │ │ │ ├── databases_get_connectionPool.yml
│ │ │ │ │ │ │ ├── databases_get_evictionPolicy.yml
│ │ │ │ │ │ │ ├── databases_get_migrationStatus.yml
│ │ │ │ │ │ │ ├── databases_get_replica.yml
│ │ │ │ │ │ │ ├── databases_get_sql_mode.yml
│ │ │ │ │ │ │ ├── databases_get_user.yml
│ │ │ │ │ │ │ ├── databases_list.yml
│ │ │ │ │ │ │ ├── databases_list_backups.yml
│ │ │ │ │ │ │ ├── databases_list_clusters.yml
│ │ │ │ │ │ │ ├── databases_list_connectionPools.yml
│ │ │ │ │ │ │ ├── databases_list_firewall_rules.yml
│ │ │ │ │ │ │ ├── databases_list_options.yml
│ │ │ │ │ │ │ ├── databases_list_replicas.yml
│ │ │ │ │ │ │ ├── databases_list_users.yml
│ │ │ │ │ │ │ ├── databases_patch_config.yml
│ │ │ │ │ │ │ ├── databases_promote_replica.yml
│ │ │ │ │ │ │ ├── databases_reset_auth.yml
│ │ │ │ │ │ │ ├── databases_update_clusterSize.yml
│ │ │ │ │ │ │ ├── databases_update_connectionPool.yml
│ │ │ │ │ │ │ ├── databases_update_evictionPolicy.yml
│ │ │ │ │ │ │ ├── databases_update_firewall_rules.yml
│ │ │ │ │ │ │ ├── databases_update_installUpdate.yml
│ │ │ │ │ │ │ ├── databases_update_maintenanceWindow.yml
│ │ │ │ │ │ │ ├── databases_update_onlineMigration.yml
│ │ │ │ │ │ │ ├── databases_update_region.yml
│ │ │ │ │ │ │ ├── databases_update_sql_mode.yml
│ │ │ │ │ │ │ └── databases_upgrade_version.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── advanced_config/
│ │ │ │ │ │ │ │ ├── kafka_advanced_config.yml
│ │ │ │ │ │ │ │ ├── mongo_advanced_config.yml
│ │ │ │ │ │ │ │ ├── mysql_advanced_config.yml
│ │ │ │ │ │ │ │ ├── opensearch_advanced_config.yml
│ │ │ │ │ │ │ │ ├── pgbouncer_advanced_config.yml
│ │ │ │ │ │ │ │ ├── postgres_advanced_config.yml
│ │ │ │ │ │ │ │ ├── redis_advanced_config.yml
│ │ │ │ │ │ │ │ └── timescaledb_advanced_config.yml
│ │ │ │ │ │ │ ├── backup.yml
│ │ │ │ │ │ │ ├── ca.yml
│ │ │ │ │ │ │ ├── connection_pool.yml
│ │ │ │ │ │ │ ├── connection_pool_update.yml
│ │ │ │ │ │ │ ├── connection_pools.yml
│ │ │ │ │ │ │ ├── database.yml
│ │ │ │ │ │ │ ├── database_backup.yml
│ │ │ │ │ │ │ ├── database_cluster.yml
│ │ │ │ │ │ │ ├── database_cluster_resize.yml
│ │ │ │ │ │ │ ├── database_config.yml
│ │ │ │ │ │ │ ├── database_connection.yml
│ │ │ │ │ │ │ ├── database_layout_option.yml
│ │ │ │ │ │ │ ├── database_layout_options.yml
│ │ │ │ │ │ │ ├── database_maintenance_window.yml
│ │ │ │ │ │ │ ├── database_metrics_credentials.yml
│ │ │ │ │ │ │ ├── database_region_options.yml
│ │ │ │ │ │ │ ├── database_replica.yml
│ │ │ │ │ │ │ ├── database_service_endpoint.yml
│ │ │ │ │ │ │ ├── database_user.yml
│ │ │ │ │ │ │ ├── database_version_availabilities.yml
│ │ │ │ │ │ │ ├── database_version_availability.yml
│ │ │ │ │ │ │ ├── database_version_options.yml
│ │ │ │ │ │ │ ├── databases_basic_auth_credentials.yml
│ │ │ │ │ │ │ ├── events_logs.yml
│ │ │ │ │ │ │ ├── eviction_policy_model.yml
│ │ │ │ │ │ │ ├── firewall_rule.yml
│ │ │ │ │ │ │ ├── kafka.yml
│ │ │ │ │ │ │ ├── kafka_topic.yml
│ │ │ │ │ │ │ ├── kafka_topic_base.yml
│ │ │ │ │ │ │ ├── kafka_topic_config.yml
│ │ │ │ │ │ │ ├── kafka_topic_create.yml
│ │ │ │ │ │ │ ├── kafka_topic_partition.yml
│ │ │ │ │ │ │ ├── kafka_topic_update.yml
│ │ │ │ │ │ │ ├── kafka_topic_verbose.yml
│ │ │ │ │ │ │ ├── logsink/
│ │ │ │ │ │ │ │ ├── elasticsearch_logsink.yml
│ │ │ │ │ │ │ │ ├── opensearch_logsink.yml
│ │ │ │ │ │ │ │ └── rsyslog_logsink.yml
│ │ │ │ │ │ │ ├── logsink_base.yml
│ │ │ │ │ │ │ ├── logsink_base_verbose.yml
│ │ │ │ │ │ │ ├── logsink_create.yml
│ │ │ │ │ │ │ ├── logsink_update.yml
│ │ │ │ │ │ │ ├── logsink_verbose.yml
│ │ │ │ │ │ │ ├── mongo.yml
│ │ │ │ │ │ │ ├── mysql.yml
│ │ │ │ │ │ │ ├── mysql_settings.yml
│ │ │ │ │ │ │ ├── online_migration.yml
│ │ │ │ │ │ │ ├── opensearch_connection.yml
│ │ │ │ │ │ │ ├── opensearch_index.yml
│ │ │ │ │ │ │ ├── opensearch_index_base.yml
│ │ │ │ │ │ │ ├── options.yml
│ │ │ │ │ │ │ ├── pgbouncer.yml
│ │ │ │ │ │ │ ├── postgres.yml
│ │ │ │ │ │ │ ├── redis.yml
│ │ │ │ │ │ │ ├── source_database.yml
│ │ │ │ │ │ │ ├── sql_mode.yml
│ │ │ │ │ │ │ ├── timescaledb.yml
│ │ │ │ │ │ │ ├── user_settings.yml
│ │ │ │ │ │ │ └── version.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── ca.yml
│ │ │ │ │ │ ├── connection_pool.yml
│ │ │ │ │ │ ├── connection_pools.yml
│ │ │ │ │ │ ├── database.yml
│ │ │ │ │ │ ├── database_backups.yml
│ │ │ │ │ │ ├── database_cluster.yml
│ │ │ │ │ │ ├── database_clusters.yml
│ │ │ │ │ │ ├── database_config.yml
│ │ │ │ │ │ ├── database_metrics_auth.yml
│ │ │ │ │ │ ├── database_replica.yml
│ │ │ │ │ │ ├── database_replicas.yml
│ │ │ │ │ │ ├── databases.yml
│ │ │ │ │ │ ├── events_logs.yml
│ │ │ │ │ │ ├── eviction_policy_response.yml
│ │ │ │ │ │ ├── firewall_rules.yml
│ │ │ │ │ │ ├── kafka_topic.yml
│ │ │ │ │ │ ├── kafka_topics.yml
│ │ │ │ │ │ ├── logsink.yml
│ │ │ │ │ │ ├── logsinks.yml
│ │ │ │ │ │ ├── online_migration.yml
│ │ │ │ │ │ ├── opensearch_indexes.yml
│ │ │ │ │ │ ├── options.yml
│ │ │ │ │ │ ├── sql_mode.yml
│ │ │ │ │ │ ├── user.yml
│ │ │ │ │ │ └── users.yml
│ │ │ │ │ ├── domains/
│ │ │ │ │ │ ├── domains_create.yml
│ │ │ │ │ │ ├── domains_create_record.yml
│ │ │ │ │ │ ├── domains_delete.yml
│ │ │ │ │ │ ├── domains_delete_record.yml
│ │ │ │ │ │ ├── domains_get.yml
│ │ │ │ │ │ ├── domains_get_record.yml
│ │ │ │ │ │ ├── domains_list.yml
│ │ │ │ │ │ ├── domains_list_records.yml
│ │ │ │ │ │ ├── domains_patch_record.yml
│ │ │ │ │ │ ├── domains_update_record.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── domains_create.yml
│ │ │ │ │ │ │ │ ├── domains_create_record.yml
│ │ │ │ │ │ │ │ ├── domains_delete.yml
│ │ │ │ │ │ │ │ ├── domains_delete_record.yml
│ │ │ │ │ │ │ │ ├── domains_get.yml
│ │ │ │ │ │ │ │ ├── domains_get_record.yml
│ │ │ │ │ │ │ │ ├── domains_list.yml
│ │ │ │ │ │ │ │ ├── domains_list_records.yml
│ │ │ │ │ │ │ │ ├── domains_patch_record.yml
│ │ │ │ │ │ │ │ └── domains_update_record.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── domains_create.yml
│ │ │ │ │ │ │ │ ├── domains_create_record.yml
│ │ │ │ │ │ │ │ ├── domains_delete.yml
│ │ │ │ │ │ │ │ ├── domains_delete_record.yml
│ │ │ │ │ │ │ │ ├── domains_get.yml
│ │ │ │ │ │ │ │ ├── domains_get_record.yml
│ │ │ │ │ │ │ │ ├── domains_list.yml
│ │ │ │ │ │ │ │ ├── domains_list_records.yml
│ │ │ │ │ │ │ │ └── domains_update_record.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── domains_create.yml
│ │ │ │ │ │ │ │ ├── domains_create_record.yml
│ │ │ │ │ │ │ │ ├── domains_delete.yml
│ │ │ │ │ │ │ │ ├── domains_delete_record.yml
│ │ │ │ │ │ │ │ ├── domains_get.yml
│ │ │ │ │ │ │ │ ├── domains_get_record.yml
│ │ │ │ │ │ │ │ ├── domains_list.yml
│ │ │ │ │ │ │ │ ├── domains_list_records.yml
│ │ │ │ │ │ │ │ ├── domains_patch_record.yml
│ │ │ │ │ │ │ │ └── domains_update_record.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── domains_create.yml
│ │ │ │ │ │ │ ├── domains_create_record.yml
│ │ │ │ │ │ │ ├── domains_delete.yml
│ │ │ │ │ │ │ ├── domains_delete_record.yml
│ │ │ │ │ │ │ ├── domains_get.yml
│ │ │ │ │ │ │ ├── domains_get_record.yml
│ │ │ │ │ │ │ ├── domains_list.yml
│ │ │ │ │ │ │ ├── domains_list_records.yml
│ │ │ │ │ │ │ └── domains_update_record.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── domain.yml
│ │ │ │ │ │ │ ├── domain_record.yml
│ │ │ │ │ │ │ └── domain_record_types.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_domain_records_response.yml
│ │ │ │ │ │ ├── all_domains_response.yml
│ │ │ │ │ │ ├── create_domain_response.yml
│ │ │ │ │ │ ├── created_domain_record.yml
│ │ │ │ │ │ ├── domain_record.yml
│ │ │ │ │ │ └── existing_domain.yml
│ │ │ │ │ ├── droplets/
│ │ │ │ │ │ ├── dropletActions_get.yml
│ │ │ │ │ │ ├── dropletActions_list.yml
│ │ │ │ │ │ ├── dropletActions_post.yml
│ │ │ │ │ │ ├── dropletActions_post_byTag.yml
│ │ │ │ │ │ ├── droplets_create.yml
│ │ │ │ │ │ ├── droplets_destroy.yml
│ │ │ │ │ │ ├── droplets_destroy_byTag.yml
│ │ │ │ │ │ ├── droplets_destroy_retryWithAssociatedResources.yml
│ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesDangerous.yml
│ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesSelective.yml
│ │ │ │ │ │ ├── droplets_get.yml
│ │ │ │ │ │ ├── droplets_get_backup_policy.yml
│ │ │ │ │ │ ├── droplets_get_destroyAssociatedResourcesStatus.yml
│ │ │ │ │ │ ├── droplets_list.yml
│ │ │ │ │ │ ├── droplets_list_associatedResources.yml
│ │ │ │ │ │ ├── droplets_list_backup_policies.yml
│ │ │ │ │ │ ├── droplets_list_backups.yml
│ │ │ │ │ │ ├── droplets_list_firewalls.yml
│ │ │ │ │ │ ├── droplets_list_kernels.yml
│ │ │ │ │ │ ├── droplets_list_neighbors.yml
│ │ │ │ │ │ ├── droplets_list_neighborsIds.yml
│ │ │ │ │ │ ├── droplets_list_snapshots.yml
│ │ │ │ │ │ ├── droplets_list_supported_backup_policies.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── dropletActions_get.yml
│ │ │ │ │ │ │ │ ├── dropletActions_list.yml
│ │ │ │ │ │ │ │ ├── dropletActions_post.yml
│ │ │ │ │ │ │ │ ├── dropletActions_post_byTag.yml
│ │ │ │ │ │ │ │ ├── droplets_create.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_byTag.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_retryWithAssociatedResources.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesDangerous.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesSelective.yml
│ │ │ │ │ │ │ │ ├── droplets_get.yml
│ │ │ │ │ │ │ │ ├── droplets_get_DestroyAssociatedResourcesStatus.yml
│ │ │ │ │ │ │ │ ├── droplets_get_backup_policy.yml
│ │ │ │ │ │ │ │ ├── droplets_list.yml
│ │ │ │ │ │ │ │ ├── droplets_list_associatedResources.yml
│ │ │ │ │ │ │ │ ├── droplets_list_backup_policies.yml
│ │ │ │ │ │ │ │ ├── droplets_list_backups.yml
│ │ │ │ │ │ │ │ ├── droplets_list_kernels.yml
│ │ │ │ │ │ │ │ ├── droplets_list_neighbors.yml
│ │ │ │ │ │ │ │ ├── droplets_list_neighborsIds.yml
│ │ │ │ │ │ │ │ ├── droplets_list_snapshots.yml
│ │ │ │ │ │ │ │ └── droplets_list_supported_backup_policies.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── dropletActions_get.yml
│ │ │ │ │ │ │ │ ├── dropletActions_list.yml
│ │ │ │ │ │ │ │ ├── dropletActions_post.yml
│ │ │ │ │ │ │ │ ├── dropletActions_post_byTag.yml
│ │ │ │ │ │ │ │ ├── droplets_create.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_byTag.yml
│ │ │ │ │ │ │ │ ├── droplets_get.yml
│ │ │ │ │ │ │ │ ├── droplets_get_backup_policy.yml
│ │ │ │ │ │ │ │ ├── droplets_list.yml
│ │ │ │ │ │ │ │ ├── droplets_list_backup_policies.yml
│ │ │ │ │ │ │ │ ├── droplets_list_backups.yml
│ │ │ │ │ │ │ │ ├── droplets_list_kernels.yml
│ │ │ │ │ │ │ │ ├── droplets_list_snapshots.yml
│ │ │ │ │ │ │ │ └── droplets_list_supported_backup_policies.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── dropletActions_get.yml
│ │ │ │ │ │ │ │ ├── dropletActions_list.yml
│ │ │ │ │ │ │ │ ├── dropletActions_post.yml
│ │ │ │ │ │ │ │ ├── dropletActions_post_byTag.yml
│ │ │ │ │ │ │ │ ├── droplets_create.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_byTag.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_retryWithAssociatedResources.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesDangerous.yml
│ │ │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesSelective.yml
│ │ │ │ │ │ │ │ ├── droplets_get.yml
│ │ │ │ │ │ │ │ ├── droplets_get_DestroyAssociatedResourcesStatus.yml
│ │ │ │ │ │ │ │ ├── droplets_get_backup_policy.yml
│ │ │ │ │ │ │ │ ├── droplets_list.yml
│ │ │ │ │ │ │ │ ├── droplets_list_associatedResources.yml
│ │ │ │ │ │ │ │ ├── droplets_list_backup_policies.yml
│ │ │ │ │ │ │ │ ├── droplets_list_backups.yml
│ │ │ │ │ │ │ │ ├── droplets_list_kernels.yml
│ │ │ │ │ │ │ │ ├── droplets_list_neighbors.yml
│ │ │ │ │ │ │ │ ├── droplets_list_neighborsIds.yml
│ │ │ │ │ │ │ │ ├── droplets_list_snapshots.yml
│ │ │ │ │ │ │ │ └── droplets_list_supported_backup_policies.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── dropletActions_get.yml
│ │ │ │ │ │ │ ├── dropletActions_list.yml
│ │ │ │ │ │ │ ├── dropletActions_post.yml
│ │ │ │ │ │ │ ├── dropletActions_post_byTag.yml
│ │ │ │ │ │ │ ├── droplets_create.yml
│ │ │ │ │ │ │ ├── droplets_destroy.yml
│ │ │ │ │ │ │ ├── droplets_destroy_byTag.yml
│ │ │ │ │ │ │ ├── droplets_get.yml
│ │ │ │ │ │ │ ├── droplets_list.yml
│ │ │ │ │ │ │ ├── droplets_list_backups.yml
│ │ │ │ │ │ │ ├── droplets_list_kernels.yml
│ │ │ │ │ │ │ └── droplets_list_snapshots.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── associated_resource.yml
│ │ │ │ │ │ │ ├── associated_resource_status.yml
│ │ │ │ │ │ │ ├── destroyed_associated_resource.yml
│ │ │ │ │ │ │ ├── droplet.yml
│ │ │ │ │ │ │ ├── droplet_actions.yml
│ │ │ │ │ │ │ ├── droplet_backup_policy.yml
│ │ │ │ │ │ │ ├── droplet_backup_policy_record.yml
│ │ │ │ │ │ │ ├── droplet_create.yml
│ │ │ │ │ │ │ ├── droplet_multi_create.yml
│ │ │ │ │ │ │ ├── droplet_next_backup_window.yml
│ │ │ │ │ │ │ ├── droplet_single_create.yml
│ │ │ │ │ │ │ ├── droplet_snapshot.yml
│ │ │ │ │ │ │ ├── kernel.yml
│ │ │ │ │ │ │ ├── neighbor_ids.yml
│ │ │ │ │ │ │ ├── network_v4.yml
│ │ │ │ │ │ │ ├── network_v6.yml
│ │ │ │ │ │ │ ├── selective_destroy_associated_resource.yml
│ │ │ │ │ │ │ └── supported_droplet_backup_policy.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_droplet_actions.yml
│ │ │ │ │ │ ├── all_droplet_backup_policies.yml
│ │ │ │ │ │ ├── all_droplet_backups.yml
│ │ │ │ │ │ ├── all_droplet_snapshots.yml
│ │ │ │ │ │ ├── all_droplets.yml
│ │ │ │ │ │ ├── all_firewalls.yml
│ │ │ │ │ │ ├── all_kernels.yml
│ │ │ │ │ │ ├── associated_resources_list.yml
│ │ │ │ │ │ ├── associated_resources_status.yml
│ │ │ │ │ │ ├── droplet_action.yml
│ │ │ │ │ │ ├── droplet_actions_response.yml
│ │ │ │ │ │ ├── droplet_backup_policy.yml
│ │ │ │ │ │ ├── droplet_create.yml
│ │ │ │ │ │ ├── droplet_neighbors_ids.yml
│ │ │ │ │ │ ├── droplets_supported_backup_policies.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── existing_droplet.yml
│ │ │ │ │ │ └── neighbor_droplets.yml
│ │ │ │ │ ├── firewalls/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── firewalls_add_rules.yml
│ │ │ │ │ │ │ │ ├── firewalls_add_tags.yml
│ │ │ │ │ │ │ │ ├── firewalls_assign_droplet.yml
│ │ │ │ │ │ │ │ ├── firewalls_create.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_droplets.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_rules.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_tags.yml
│ │ │ │ │ │ │ │ ├── firewalls_get.yml
│ │ │ │ │ │ │ │ ├── firewalls_list.yml
│ │ │ │ │ │ │ │ └── firewalls_update.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── firewalls_add_rules.yml
│ │ │ │ │ │ │ │ ├── firewalls_add_tags.yml
│ │ │ │ │ │ │ │ ├── firewalls_assign_droplet.yml
│ │ │ │ │ │ │ │ ├── firewalls_create.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_droplets.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_rules.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_tags.yml
│ │ │ │ │ │ │ │ ├── firewalls_get.yml
│ │ │ │ │ │ │ │ ├── firewalls_list.yml
│ │ │ │ │ │ │ │ └── firewalls_update.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── firewalls_add_rules.yml
│ │ │ │ │ │ │ │ ├── firewalls_add_tags.yml
│ │ │ │ │ │ │ │ ├── firewalls_assign_droplet.yml
│ │ │ │ │ │ │ │ ├── firewalls_create.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_droplets.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_rules.yml
│ │ │ │ │ │ │ │ ├── firewalls_delete_tags.yml
│ │ │ │ │ │ │ │ ├── firewalls_get.yml
│ │ │ │ │ │ │ │ ├── firewalls_list.yml
│ │ │ │ │ │ │ │ └── firewalls_update.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── firewalls_add_rules.yml
│ │ │ │ │ │ │ ├── firewalls_add_tags.yml
│ │ │ │ │ │ │ ├── firewalls_assign_droplet.yml
│ │ │ │ │ │ │ ├── firewalls_create.yml
│ │ │ │ │ │ │ ├── firewalls_delete.yml
│ │ │ │ │ │ │ ├── firewalls_delete_droplets.yml
│ │ │ │ │ │ │ ├── firewalls_delete_rules.yml
│ │ │ │ │ │ │ ├── firewalls_delete_tags.yml
│ │ │ │ │ │ │ ├── firewalls_get.yml
│ │ │ │ │ │ │ ├── firewalls_list.yml
│ │ │ │ │ │ │ └── firewalls_update.yml
│ │ │ │ │ │ ├── firewalls_add_rules.yml
│ │ │ │ │ │ ├── firewalls_add_tags.yml
│ │ │ │ │ │ ├── firewalls_assign_droplets.yml
│ │ │ │ │ │ ├── firewalls_create.yml
│ │ │ │ │ │ ├── firewalls_delete.yml
│ │ │ │ │ │ ├── firewalls_delete_droplets.yml
│ │ │ │ │ │ ├── firewalls_delete_rules.yml
│ │ │ │ │ │ ├── firewalls_delete_tags.yml
│ │ │ │ │ │ ├── firewalls_get.yml
│ │ │ │ │ │ ├── firewalls_list.yml
│ │ │ │ │ │ ├── firewalls_update.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── firewall.yml
│ │ │ │ │ │ │ └── firewall_rule.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── create_firewall_response.yml
│ │ │ │ │ │ ├── get_firewall_response.yml
│ │ │ │ │ │ ├── list_firewalls_response.yml
│ │ │ │ │ │ └── put_firewall_response.yml
│ │ │ │ │ ├── floating_ips/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── create_floating_ip.yml
│ │ │ │ │ │ │ │ ├── delete_floating_ip.yml
│ │ │ │ │ │ │ │ ├── get_floating_ip.yml
│ │ │ │ │ │ │ │ ├── get_floating_ip_action.yml
│ │ │ │ │ │ │ │ ├── list_floating_ip_actions.yml
│ │ │ │ │ │ │ │ ├── list_floating_ips.yml
│ │ │ │ │ │ │ │ └── post_floating_ip_action.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── create_floating_ip.yml
│ │ │ │ │ │ │ │ ├── delete_floating_ip.yml
│ │ │ │ │ │ │ │ ├── get_floating_ip.yml
│ │ │ │ │ │ │ │ ├── get_floating_ip_action.yml
│ │ │ │ │ │ │ │ ├── list_floating_ip_actions.yml
│ │ │ │ │ │ │ │ ├── list_floating_ips.yml
│ │ │ │ │ │ │ │ └── post_floating_ip_action.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── create_floating_ip.yml
│ │ │ │ │ │ │ ├── delete_floating_ip.yml
│ │ │ │ │ │ │ ├── get_floating_ip.yml
│ │ │ │ │ │ │ ├── get_floating_ip_action.yml
│ │ │ │ │ │ │ ├── list_floating_ip_actions.yml
│ │ │ │ │ │ │ ├── list_floating_ips.yml
│ │ │ │ │ │ │ └── post_floating_ip_action.yml
│ │ │ │ │ │ ├── floatingIPsAction_get.yml
│ │ │ │ │ │ ├── floatingIPsAction_list.yml
│ │ │ │ │ │ ├── floatingIPsAction_post.yml
│ │ │ │ │ │ ├── floatingIPs_create.yml
│ │ │ │ │ │ ├── floatingIPs_delete.yml
│ │ │ │ │ │ ├── floatingIPs_get.yml
│ │ │ │ │ │ ├── floatingIPs_list.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── floating_ip.yml
│ │ │ │ │ │ │ ├── floating_ip_actions.yml
│ │ │ │ │ │ │ └── floating_ip_create.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── floating_ip.yml
│ │ │ │ │ │ ├── floating_ip_action.yml
│ │ │ │ │ │ ├── floating_ip_actions.yml
│ │ │ │ │ │ ├── floating_ip_created.yml
│ │ │ │ │ │ └── floating_ip_list.yml
│ │ │ │ │ ├── functions/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── create_namespace.yml
│ │ │ │ │ │ │ │ ├── create_trigger.yml
│ │ │ │ │ │ │ │ ├── delete_namespace.yml
│ │ │ │ │ │ │ │ ├── delete_trigger.yml
│ │ │ │ │ │ │ │ ├── get_namespace.yml
│ │ │ │ │ │ │ │ ├── get_trigger.yml
│ │ │ │ │ │ │ │ ├── list_namespaces.yml
│ │ │ │ │ │ │ │ ├── list_triggers.yml
│ │ │ │ │ │ │ │ └── update_trigger.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ ├── create_namespace.yml
│ │ │ │ │ │ │ ├── create_trigger.yml
│ │ │ │ │ │ │ ├── delete_namespace.yml
│ │ │ │ │ │ │ ├── delete_trigger.yml
│ │ │ │ │ │ │ ├── get_namespace.yml
│ │ │ │ │ │ │ ├── get_trigger.yml
│ │ │ │ │ │ │ ├── list_namespaces.yml
│ │ │ │ │ │ │ ├── list_triggers.yml
│ │ │ │ │ │ │ └── update_trigger.yml
│ │ │ │ │ │ ├── functions_create_namespace.yml
│ │ │ │ │ │ ├── functions_create_trigger.yml
│ │ │ │ │ │ ├── functions_delete_namespace.yml
│ │ │ │ │ │ ├── functions_delete_trigger.yml
│ │ │ │ │ │ ├── functions_get_namespace.yml
│ │ │ │ │ │ ├── functions_get_trigger.yml
│ │ │ │ │ │ ├── functions_list_namespaces.yml
│ │ │ │ │ │ ├── functions_list_triggers.yml
│ │ │ │ │ │ ├── functions_update_trigger.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── create_namespace.yml
│ │ │ │ │ │ │ ├── create_trigger.yml
│ │ │ │ │ │ │ ├── namespace_info.yml
│ │ │ │ │ │ │ ├── scheduled_details.yml
│ │ │ │ │ │ │ ├── trigger_info.yml
│ │ │ │ │ │ │ └── update_trigger.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── list_namespaces.yml
│ │ │ │ │ │ ├── list_triggers.yml
│ │ │ │ │ │ ├── namespace_bad_request.yml
│ │ │ │ │ │ ├── namespace_created.yml
│ │ │ │ │ │ ├── namespace_limit_reached.yml
│ │ │ │ │ │ ├── namespace_not_allowed.yml
│ │ │ │ │ │ ├── namespace_not_found.yml
│ │ │ │ │ │ ├── trigger_bad_request.yml
│ │ │ │ │ │ ├── trigger_limit_reached.yml
│ │ │ │ │ │ ├── trigger_not_found.yml
│ │ │ │ │ │ └── trigger_response.yml
│ │ │ │ │ ├── gen-ai/
│ │ │ │ │ │ ├── definitions.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ └── curl/
│ │ │ │ │ │ │ ├── genai_attach_agent.yml
│ │ │ │ │ │ │ ├── genai_attach_agent_function.yml
│ │ │ │ │ │ │ ├── genai_attach_knowledge_base.yml
│ │ │ │ │ │ │ ├── genai_cancel_indexing_job.yml
│ │ │ │ │ │ │ ├── genai_create_agent.yml
│ │ │ │ │ │ │ ├── genai_create_agent_api_key.yml
│ │ │ │ │ │ │ ├── genai_create_indexing_job.yml
│ │ │ │ │ │ │ ├── genai_create_knowledge_base.yml
│ │ │ │ │ │ │ ├── genai_create_knowledge_base_data_source.yml
│ │ │ │ │ │ │ ├── genai_delete_agent.yml
│ │ │ │ │ │ │ ├── genai_delete_agent_api_key.yml
│ │ │ │ │ │ │ ├── genai_delete_knowledge_base.yml
│ │ │ │ │ │ │ ├── genai_delete_knowledge_base_data_source.yml
│ │ │ │ │ │ │ ├── genai_detach_agent.yml
│ │ │ │ │ │ │ ├── genai_detach_agent_function.yml
│ │ │ │ │ │ │ ├── genai_detach_knowledge_base.yml
│ │ │ │ │ │ │ ├── genai_get_agent.yml
│ │ │ │ │ │ │ ├── genai_get_agent_children.yml
│ │ │ │ │ │ │ ├── genai_get_indexing_job.yml
│ │ │ │ │ │ │ ├── genai_get_knowledge_base.yml
│ │ │ │ │ │ │ ├── genai_list_agent_api_keys.yml
│ │ │ │ │ │ │ ├── genai_list_agents.yml
│ │ │ │ │ │ │ ├── genai_list_datacenter_regions.yml
│ │ │ │ │ │ │ ├── genai_list_indexing_job_data_sources.yml
│ │ │ │ │ │ │ ├── genai_list_indexing_jobs.yml
│ │ │ │ │ │ │ ├── genai_list_knowledge_base_data_sources.yml
│ │ │ │ │ │ │ ├── genai_list_knowledge_bases.yml
│ │ │ │ │ │ │ ├── genai_list_models.yml
│ │ │ │ │ │ │ ├── genai_regenerate_agent_api_key.yml
│ │ │ │ │ │ │ ├── genai_update_agent.yml
│ │ │ │ │ │ │ ├── genai_update_agent_api_key.yml
│ │ │ │ │ │ │ ├── genai_update_agent_deployment_visibility.yml
│ │ │ │ │ │ │ ├── genai_update_agent_function.yml
│ │ │ │ │ │ │ ├── genai_update_attached_agent.yml
│ │ │ │ │ │ │ └── genai_update_knowledge_base.yml
│ │ │ │ │ │ ├── genai_attach_agent.yml
│ │ │ │ │ │ ├── genai_attach_agent_function.yml
│ │ │ │ │ │ ├── genai_attach_knowledge_base.yml
│ │ │ │ │ │ ├── genai_cancel_indexing_job.yml
│ │ │ │ │ │ ├── genai_create_agent.yml
│ │ │ │ │ │ ├── genai_create_agent_api_key.yml
│ │ │ │ │ │ ├── genai_create_indexing_job.yml
│ │ │ │ │ │ ├── genai_create_knowledge_base.yml
│ │ │ │ │ │ ├── genai_create_knowledge_base_data_source.yml
│ │ │ │ │ │ ├── genai_delete_agent.yml
│ │ │ │ │ │ ├── genai_delete_agent_api_key.yml
│ │ │ │ │ │ ├── genai_delete_knowledge_base.yml
│ │ │ │ │ │ ├── genai_delete_knowledge_base_data_source.yml
│ │ │ │ │ │ ├── genai_detach_agent.yml
│ │ │ │ │ │ ├── genai_detach_agent_function.yml
│ │ │ │ │ │ ├── genai_detach_knowledge_base.yml
│ │ │ │ │ │ ├── genai_get_agent.yml
│ │ │ │ │ │ ├── genai_get_agent_children.yml
│ │ │ │ │ │ ├── genai_get_indexing_job.yml
│ │ │ │ │ │ ├── genai_get_knowledge_base.yml
│ │ │ │ │ │ ├── genai_list_agent_api_keys.yml
│ │ │ │ │ │ ├── genai_list_agents.yml
│ │ │ │ │ │ ├── genai_list_datacenter_regions.yml
│ │ │ │ │ │ ├── genai_list_indexing_job_data_sources.yml
│ │ │ │ │ │ ├── genai_list_indexing_jobs.yml
│ │ │ │ │ │ ├── genai_list_knowledge_base_data_sources.yml
│ │ │ │ │ │ ├── genai_list_knowledge_bases.yml
│ │ │ │ │ │ ├── genai_list_models.yml
│ │ │ │ │ │ ├── genai_regenerate_agent_api_key.yml
│ │ │ │ │ │ ├── genai_update_agent.yml
│ │ │ │ │ │ ├── genai_update_agent_api_key.yml
│ │ │ │ │ │ ├── genai_update_agent_deployment_visibility.yml
│ │ │ │ │ │ ├── genai_update_agent_function.yml
│ │ │ │ │ │ ├── genai_update_attached_agent.yml
│ │ │ │ │ │ └── genai_update_knowledge_base.yml
│ │ │ │ │ ├── images/
│ │ │ │ │ │ ├── attributes.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── imageActions_get.yml
│ │ │ │ │ │ │ │ ├── imageActions_list.yml
│ │ │ │ │ │ │ │ ├── imageActions_post.yml
│ │ │ │ │ │ │ │ ├── images_create_custom.yml
│ │ │ │ │ │ │ │ ├── images_delete.yml
│ │ │ │ │ │ │ │ ├── images_get.yml
│ │ │ │ │ │ │ │ ├── images_list.yml
│ │ │ │ │ │ │ │ └── images_update.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── imageActions_get.yml
│ │ │ │ │ │ │ │ ├── imageActions_list.yml
│ │ │ │ │ │ │ │ ├── imageActions_post.yml
│ │ │ │ │ │ │ │ ├── images_delete.yml
│ │ │ │ │ │ │ │ ├── images_get.yml
│ │ │ │ │ │ │ │ ├── images_list.yml
│ │ │ │ │ │ │ │ └── images_update.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── imageActions_get.yml
│ │ │ │ │ │ │ │ ├── imageActions_list.yml
│ │ │ │ │ │ │ │ ├── imageActions_post.yml
│ │ │ │ │ │ │ │ ├── images_create_custom.yml
│ │ │ │ │ │ │ │ ├── images_delete.yml
│ │ │ │ │ │ │ │ ├── images_get.yml
│ │ │ │ │ │ │ │ ├── images_list.yml
│ │ │ │ │ │ │ │ └── images_update.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── imageActions_get.yml
│ │ │ │ │ │ │ ├── imageActions_post.yml
│ │ │ │ │ │ │ ├── images_delete.yml
│ │ │ │ │ │ │ ├── images_get.yml
│ │ │ │ │ │ │ ├── images_list.yml
│ │ │ │ │ │ │ └── images_update.yml
│ │ │ │ │ │ ├── imageActions_get.yml
│ │ │ │ │ │ ├── imageActions_list.yml
│ │ │ │ │ │ ├── imageActions_post.yml
│ │ │ │ │ │ ├── images_create_custom.yml
│ │ │ │ │ │ ├── images_delete.yml
│ │ │ │ │ │ ├── images_get.yml
│ │ │ │ │ │ ├── images_list.yml
│ │ │ │ │ │ ├── images_update.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── image.yml
│ │ │ │ │ │ │ ├── image_action.yml
│ │ │ │ │ │ │ ├── image_new_custom.yml
│ │ │ │ │ │ │ └── image_update.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_images.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── existing_image.yml
│ │ │ │ │ │ ├── get_image_action_response.yml
│ │ │ │ │ │ ├── get_image_actions_response.yml
│ │ │ │ │ │ ├── new_custom_image.yml
│ │ │ │ │ │ ├── post_image_action_response.yml
│ │ │ │ │ │ └── updated_image.yml
│ │ │ │ │ ├── kubernetes/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_add_registry.yml
│ │ │ │ │ │ │ │ ├── kubernetes_create_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_node.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesDangerous.yml
│ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesSelective.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_availableUpgrades.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_clusterLintResults.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_clusterUser.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_credentials.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_associatedResources.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_clusters.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_options.yml
│ │ │ │ │ │ │ │ ├── kubernetes_remove_registry.yml
│ │ │ │ │ │ │ │ ├── kubernetes_run_clusterLint.yml
│ │ │ │ │ │ │ │ ├── kubernetes_update_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_update_nodePool.yml
│ │ │ │ │ │ │ │ └── kubernetes_upgrade_cluster.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_add_registry.yml
│ │ │ │ │ │ │ │ ├── kubernetes_create_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_node.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesDangerous.yml
│ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesSelective.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_availableUpgrades.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_credentials.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_associatedResources.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_clusters.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_options.yml
│ │ │ │ │ │ │ │ ├── kubernetes_remove_registry.yml
│ │ │ │ │ │ │ │ ├── kubernetes_update_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_update_nodePool.yml
│ │ │ │ │ │ │ │ └── kubernetes_upgrade_cluster.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_add_registry.yml
│ │ │ │ │ │ │ │ ├── kubernetes_create_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_node.yml
│ │ │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesDangerous.yml
│ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesSelective.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_availableUpgrades.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_clusterLintResults.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_clusterUser.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_credentials.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml
│ │ │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_associatedResources.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_clusters.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml
│ │ │ │ │ │ │ │ ├── kubernetes_list_options.yml
│ │ │ │ │ │ │ │ ├── kubernetes_remove_registry.yml
│ │ │ │ │ │ │ │ ├── kubernetes_run_clusterLint.yml
│ │ │ │ │ │ │ │ ├── kubernetes_update_cluster.yml
│ │ │ │ │ │ │ │ ├── kubernetes_update_nodePool.yml
│ │ │ │ │ │ │ │ └── kubernetes_upgrade_cluster.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml
│ │ │ │ │ │ │ ├── kubernetes_create_cluster.yml
│ │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml
│ │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml
│ │ │ │ │ │ │ ├── kubernetes_get_cluster.yml
│ │ │ │ │ │ │ ├── kubernetes_get_credentials.yml
│ │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml
│ │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml
│ │ │ │ │ │ │ ├── kubernetes_list_clusters.yml
│ │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml
│ │ │ │ │ │ │ ├── kubernetes_list_options.yml
│ │ │ │ │ │ │ ├── kubernetes_update_cluster.yml
│ │ │ │ │ │ │ └── kubernetes_update_nodePool.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── kubernetes_add_nodePool.yml
│ │ │ │ │ │ ├── kubernetes_add_registry.yml
│ │ │ │ │ │ ├── kubernetes_create_cluster.yml
│ │ │ │ │ │ ├── kubernetes_delete_cluster.yml
│ │ │ │ │ │ ├── kubernetes_delete_node.yml
│ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml
│ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesDangerous.yml
│ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesSelective.yml
│ │ │ │ │ │ ├── kubernetes_get_availableUpgrades.yml
│ │ │ │ │ │ ├── kubernetes_get_cluster.yml
│ │ │ │ │ │ ├── kubernetes_get_clusterLintResults.yml
│ │ │ │ │ │ ├── kubernetes_get_clusterUser.yml
│ │ │ │ │ │ ├── kubernetes_get_credentials.yml
│ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml
│ │ │ │ │ │ ├── kubernetes_get_nodePool.yml
│ │ │ │ │ │ ├── kubernetes_list_associatedResources.yml
│ │ │ │ │ │ ├── kubernetes_list_clusters.yml
│ │ │ │ │ │ ├── kubernetes_list_nodePools.yml
│ │ │ │ │ │ ├── kubernetes_list_options.yml
│ │ │ │ │ │ ├── kubernetes_recycle_nodePool.yml
│ │ │ │ │ │ ├── kubernetes_remove_registry.yml
│ │ │ │ │ │ ├── kubernetes_run_clusterLint.yml
│ │ │ │ │ │ ├── kubernetes_update_cluster.yml
│ │ │ │ │ │ ├── kubernetes_update_nodePool.yml
│ │ │ │ │ │ ├── kubernetes_upgrade_cluster.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── associated_kubernetes_resources.yml
│ │ │ │ │ │ │ ├── cluster.yml
│ │ │ │ │ │ │ ├── cluster_registries.yml
│ │ │ │ │ │ │ ├── cluster_update.yml
│ │ │ │ │ │ │ ├── clusterlint_request.yml
│ │ │ │ │ │ │ ├── clusterlint_results.yml
│ │ │ │ │ │ │ ├── control_plane_firewall.yml
│ │ │ │ │ │ │ ├── credentials.yml
│ │ │ │ │ │ │ ├── maintenance_policy.yml
│ │ │ │ │ │ │ ├── node.yml
│ │ │ │ │ │ │ ├── node_pool.yml
│ │ │ │ │ │ │ ├── options.yml
│ │ │ │ │ │ │ └── user.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_clusters.yml
│ │ │ │ │ │ ├── all_node_pools.yml
│ │ │ │ │ │ ├── all_options.yml
│ │ │ │ │ │ ├── associated_kubernetes_resources_list.yml
│ │ │ │ │ │ ├── available_upgrades.yml
│ │ │ │ │ │ ├── cluster_create.yml
│ │ │ │ │ │ ├── cluster_user.yml
│ │ │ │ │ │ ├── clusterlint_results.yml
│ │ │ │ │ │ ├── clusterlint_run.yml
│ │ │ │ │ │ ├── credentials.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── existing_cluster.yml
│ │ │ │ │ │ ├── existing_node_pool.yml
│ │ │ │ │ │ ├── kubeconfig.yml
│ │ │ │ │ │ ├── node_pool_create.yml
│ │ │ │ │ │ ├── node_pool_update.yml
│ │ │ │ │ │ └── updated_cluster.yml
│ │ │ │ │ ├── load_balancers/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_create.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_delete.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_delete_cache.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_get.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_list.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml
│ │ │ │ │ │ │ │ └── loadBalancers_update.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_create.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_delete.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_delete_cache.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_get.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_list.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml
│ │ │ │ │ │ │ │ └── loadBalancers_update.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_create.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_delete.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_get.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_list.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml
│ │ │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml
│ │ │ │ │ │ │ │ └── loadBalancers_update.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml
│ │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml
│ │ │ │ │ │ │ ├── loadBalancers_create.yml
│ │ │ │ │ │ │ ├── loadBalancers_delete.yml
│ │ │ │ │ │ │ ├── loadBalancers_get.yml
│ │ │ │ │ │ │ ├── loadBalancers_list.yml
│ │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml
│ │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml
│ │ │ │ │ │ │ └── loadBalancers_update.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── loadBalancers_add_droplets.yml
│ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml
│ │ │ │ │ │ ├── loadBalancers_create.yml
│ │ │ │ │ │ ├── loadBalancers_delete.yml
│ │ │ │ │ │ ├── loadBalancers_delete_cache.yml
│ │ │ │ │ │ ├── loadBalancers_get.yml
│ │ │ │ │ │ ├── loadBalancers_list.yml
│ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml
│ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml
│ │ │ │ │ │ ├── loadBalancers_update.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── attributes.yml
│ │ │ │ │ │ │ ├── domains.yml
│ │ │ │ │ │ │ ├── forwarding_rule.yml
│ │ │ │ │ │ │ ├── glb_settings.yml
│ │ │ │ │ │ │ ├── health_check.yml
│ │ │ │ │ │ │ ├── lb_firewall.yml
│ │ │ │ │ │ │ ├── load_balancer.yml
│ │ │ │ │ │ │ ├── load_balancer_base.yml
│ │ │ │ │ │ │ ├── load_balancer_create.yml
│ │ │ │ │ │ │ └── sticky_sessions.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_load_balancers.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── existing_load_balancer.yml
│ │ │ │ │ │ ├── load_balancer_create.yml
│ │ │ │ │ │ └── updated_load_balancer.yml
│ │ │ │ │ ├── monitoring/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── monitoring_create_alertPolicy.yml
│ │ │ │ │ │ │ │ ├── monitoring_create_destination.yml
│ │ │ │ │ │ │ │ ├── monitoring_create_sink.yml
│ │ │ │ │ │ │ │ ├── monitoring_delete_alertPolicy.yml
│ │ │ │ │ │ │ │ ├── monitoring_delete_destination.yml
│ │ │ │ │ │ │ │ ├── monitoring_delete_sink.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_DropletCpuMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_alertPolicy.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_appCPUPercentageMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_appMemoryPercentageMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_appRestartCountMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_destination.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletBandwidthMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemFreeMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemSizeMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad15Metrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad1Metrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad5Metrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryAvailableMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryCachedMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryFreeMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryTotalMetrics.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_cpu_utilization.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_instances.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_memory_utilization.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_cpu_utilization.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_instances.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_memory_utilization.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_connections.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_downtime.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_health_checks.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_50p.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_95p.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_99p.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_avg.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_responses.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_50p.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_95p.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_avg.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_queue_size.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_connections_current.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_connections_limit.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_cpu_utilization.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_firewall_dropped_bytes.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_firewall_dropped_packets.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_http_requests_per_second.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_http_responses.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_http.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_tcp.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_udp.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_nlb_udp_network_throughput.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_current.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_limit.yml
│ │ │ │ │ │ │ │ ├── monitoring_get_sink.yml
│ │ │ │ │ │ │ │ ├── monitoring_list_alertPolicy.yml
│ │ │ │ │ │ │ │ ├── monitoring_list_destinations.yml
│ │ │ │ │ │ │ │ ├── monitoring_list_sinks.yml
│ │ │ │ │ │ │ │ ├── monitoring_update_alertPolicy.yml
│ │ │ │ │ │ │ │ └── monitoring_update_destination.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ ├── monitoring_create_alertPolicy.yml
│ │ │ │ │ │ │ ├── monitoring_delete_alertPolicy.yml
│ │ │ │ │ │ │ ├── monitoring_get_DropletCpuMetrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_alertPolicy.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletBandwidthMetrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemFreeMetrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemSizeMetrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletLoad15Metrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletLoad1Metrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletLoad5Metrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryAvailableMetrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryCachedMetrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryFreeMetrics.yml
│ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryTotalMetrics.yml
│ │ │ │ │ │ │ ├── monitoring_list_alertPolicy.yml
│ │ │ │ │ │ │ └── monitoring_update_alertPolicy.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── alert_policy.yml
│ │ │ │ │ │ │ ├── alert_policy_request.yml
│ │ │ │ │ │ │ ├── alerts.yml
│ │ │ │ │ │ │ ├── destination.yml
│ │ │ │ │ │ │ ├── destination_omit_credentials.yml
│ │ │ │ │ │ │ ├── destination_request.yml
│ │ │ │ │ │ │ ├── list_alert_policy.yml
│ │ │ │ │ │ │ ├── metrics.yml
│ │ │ │ │ │ │ ├── metrics_data.yml
│ │ │ │ │ │ │ ├── metrics_result.yml
│ │ │ │ │ │ │ ├── opensearch_config.yml
│ │ │ │ │ │ │ ├── opensearch_config_omit_credentials.yml
│ │ │ │ │ │ │ ├── opensearch_config_request.yml
│ │ │ │ │ │ │ ├── sink_resource.yml
│ │ │ │ │ │ │ ├── sinks_response.yml
│ │ │ │ │ │ │ └── slack_details.yml
│ │ │ │ │ │ ├── monitoring_create_alertPolicy.yml
│ │ │ │ │ │ ├── monitoring_create_destination.yml
│ │ │ │ │ │ ├── monitoring_create_sink.yml
│ │ │ │ │ │ ├── monitoring_delete_alertPolicy.yml
│ │ │ │ │ │ ├── monitoring_delete_destination.yml
│ │ │ │ │ │ ├── monitoring_delete_sink.yml
│ │ │ │ │ │ ├── monitoring_get_DropletCpuMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_alertPolicy.yml
│ │ │ │ │ │ ├── monitoring_get_appCPUPercentageMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_appMemoryPercentageMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_appRestartCountMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_destination.yml
│ │ │ │ │ │ ├── monitoring_get_dropletBandwidthMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletFilesystemFreeMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletFilesystemSizeMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletLoad15Metrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletLoad1Metrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletLoad5Metrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletMemoryAvailableMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletMemoryCachedMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletMemoryFreeMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_dropletMemoryTotalMetrics.yml
│ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_cpu_utilization.yml
│ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_instances.yml
│ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_memory_utilization.yml
│ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_cpu_utilization.yml
│ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_instances.yml
│ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_memory_utilization.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_connections.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_downtime.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_health_checks.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_50p.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_95p.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_99p.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_avg.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_responses.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_50p.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_95p.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_avg.yml
│ │ │ │ │ │ ├── monitoring_get_lb_droplets_queue_size.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_connections_current.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_connections_limit.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_cpu_utilization.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_firewall_dropped_bytes.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_firewall_dropped_packets.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_http_requests_per_second.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_http_responses.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_http.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_tcp.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_udp.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_nlb_udp_network_throughput.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_current.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml
│ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_limit.yml
│ │ │ │ │ │ ├── monitoring_get_sink.yml
│ │ │ │ │ │ ├── monitoring_list_alertPolicy.yml
│ │ │ │ │ │ ├── monitoring_list_destinations.yml
│ │ │ │ │ │ ├── monitoring_list_sinks.yml
│ │ │ │ │ │ ├── monitoring_update_alertPolicy.yml
│ │ │ │ │ │ ├── monitoring_update_destination.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── alert_policy_response.yml
│ │ │ │ │ │ ├── app_metric_response.yml
│ │ │ │ │ │ ├── destination.yml
│ │ │ │ │ │ ├── droplet_bandwidth_metric_response.yml
│ │ │ │ │ │ ├── droplet_cpu_metric_response.yml
│ │ │ │ │ │ ├── droplet_filesystem_metric_response.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── list_alert_policy_response.yml
│ │ │ │ │ │ ├── list_sinks.yml
│ │ │ │ │ │ ├── metric_response.yml
│ │ │ │ │ │ ├── monitoring_list_destinations.yml
│ │ │ │ │ │ └── sinks.yml
│ │ │ │ │ ├── projects/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── projects_assign_resources.yml
│ │ │ │ │ │ │ │ ├── projects_assign_resources_default.yml
│ │ │ │ │ │ │ │ ├── projects_create.yml
│ │ │ │ │ │ │ │ ├── projects_delete.yml
│ │ │ │ │ │ │ │ ├── projects_get.yml
│ │ │ │ │ │ │ │ ├── projects_get_default.yml
│ │ │ │ │ │ │ │ ├── projects_list.yml
│ │ │ │ │ │ │ │ ├── projects_list_resources.yml
│ │ │ │ │ │ │ │ ├── projects_list_resources_default.yml
│ │ │ │ │ │ │ │ ├── projects_patch.yml
│ │ │ │ │ │ │ │ ├── projects_patch_default.yml
│ │ │ │ │ │ │ │ ├── projects_update.yml
│ │ │ │ │ │ │ │ └── projects_update_default.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── projects_assign_resources.yml
│ │ │ │ │ │ │ │ ├── projects_assign_resources_default.yml
│ │ │ │ │ │ │ │ ├── projects_create.yml
│ │ │ │ │ │ │ │ ├── projects_delete.yml
│ │ │ │ │ │ │ │ ├── projects_get.yml
│ │ │ │ │ │ │ │ ├── projects_get_default.yml
│ │ │ │ │ │ │ │ ├── projects_list.yml
│ │ │ │ │ │ │ │ ├── projects_list_resources.yml
│ │ │ │ │ │ │ │ ├── projects_list_resources_default.yml
│ │ │ │ │ │ │ │ ├── projects_patch.yml
│ │ │ │ │ │ │ │ ├── projects_patch_default.yml
│ │ │ │ │ │ │ │ ├── projects_update.yml
│ │ │ │ │ │ │ │ └── projects_update_default.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── projects_assign_resources.yml
│ │ │ │ │ │ │ │ ├── projects_assign_resources_default.yml
│ │ │ │ │ │ │ │ ├── projects_create.yml
│ │ │ │ │ │ │ │ ├── projects_delete.yml
│ │ │ │ │ │ │ │ ├── projects_get.yml
│ │ │ │ │ │ │ │ ├── projects_get_default.yml
│ │ │ │ │ │ │ │ ├── projects_list.yml
│ │ │ │ │ │ │ │ ├── projects_list_resources.yml
│ │ │ │ │ │ │ │ ├── projects_list_resources_default.yml
│ │ │ │ │ │ │ │ ├── projects_patch.yml
│ │ │ │ │ │ │ │ ├── projects_patch_default.yml
│ │ │ │ │ │ │ │ ├── projects_update.yml
│ │ │ │ │ │ │ │ └── projects_update_default.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── projects_assign_resources.yml
│ │ │ │ │ │ │ ├── projects_assign_resources_default.yml
│ │ │ │ │ │ │ ├── projects_create.yml
│ │ │ │ │ │ │ ├── projects_delete.yml
│ │ │ │ │ │ │ ├── projects_get.yml
│ │ │ │ │ │ │ ├── projects_get_default.yml
│ │ │ │ │ │ │ ├── projects_list.yml
│ │ │ │ │ │ │ ├── projects_list_resources.yml
│ │ │ │ │ │ │ ├── projects_list_resources_default.yml
│ │ │ │ │ │ │ ├── projects_patch.yml
│ │ │ │ │ │ │ ├── projects_patch_default.yml
│ │ │ │ │ │ │ ├── projects_update.yml
│ │ │ │ │ │ │ └── projects_update_default.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── project.yml
│ │ │ │ │ │ │ ├── project_assignment.yml
│ │ │ │ │ │ │ └── resource.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ ├── projects_assign_resources.yml
│ │ │ │ │ │ ├── projects_assign_resources_default.yml
│ │ │ │ │ │ ├── projects_create.yml
│ │ │ │ │ │ ├── projects_delete.yml
│ │ │ │ │ │ ├── projects_get.yml
│ │ │ │ │ │ ├── projects_get_default.yml
│ │ │ │ │ │ ├── projects_list.yml
│ │ │ │ │ │ ├── projects_list_resources.yml
│ │ │ │ │ │ ├── projects_list_resources_default.yml
│ │ │ │ │ │ ├── projects_patch.yml
│ │ │ │ │ │ ├── projects_patch_default.yml
│ │ │ │ │ │ ├── projects_update.yml
│ │ │ │ │ │ ├── projects_update_default.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── assigned_resources_list.yml
│ │ │ │ │ │ ├── default_project.yml
│ │ │ │ │ │ ├── existing_project.yml
│ │ │ │ │ │ ├── precondition_failed.yml
│ │ │ │ │ │ ├── projects_list.yml
│ │ │ │ │ │ └── resources_list.yml
│ │ │ │ │ ├── regions/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ └── regions_list.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ └── regions_list.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ └── regions_list.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ └── regions_list.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ └── region.yml
│ │ │ │ │ │ ├── regions_list.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ └── all_regions.yml
│ │ │ │ │ ├── registry/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── registry_create.yml
│ │ │ │ │ │ │ │ ├── registry_delete.yml
│ │ │ │ │ │ │ │ ├── registry_delete_repositoryManifest.yml
│ │ │ │ │ │ │ │ ├── registry_delete_repositoryTag.yml
│ │ │ │ │ │ │ │ ├── registry_get.yml
│ │ │ │ │ │ │ │ ├── registry_get_dockerCredentials.yml
│ │ │ │ │ │ │ │ ├── registry_get_garbageCollection.yml
│ │ │ │ │ │ │ │ ├── registry_get_options.yml
│ │ │ │ │ │ │ │ ├── registry_get_subscription.yml
│ │ │ │ │ │ │ │ ├── registry_list_garbageCollections.yml
│ │ │ │ │ │ │ │ ├── registry_list_repositories.yml
│ │ │ │ │ │ │ │ ├── registry_list_repositoriesV2.yml
│ │ │ │ │ │ │ │ ├── registry_list_repositoriesV2_next_page.yml
│ │ │ │ │ │ │ │ ├── registry_list_repositoryManifests.yml
│ │ │ │ │ │ │ │ ├── registry_list_repositoryTags.yml
│ │ │ │ │ │ │ │ ├── registry_run_garbageCollection.yml
│ │ │ │ │ │ │ │ ├── registry_update_garbageCollection.yml
│ │ │ │ │ │ │ │ ├── registry_update_subscription.yml
│ │ │ │ │ │ │ │ └── registry_validate_name.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ ├── registry_create.yml
│ │ │ │ │ │ │ ├── registry_delete.yml
│ │ │ │ │ │ │ ├── registry_delete_repositoryManifest.yml
│ │ │ │ │ │ │ ├── registry_delete_repositoryTag.yml
│ │ │ │ │ │ │ ├── registry_get.yml
│ │ │ │ │ │ │ ├── registry_get_dockerCredentials.yml
│ │ │ │ │ │ │ ├── registry_get_garbageCollection.yml
│ │ │ │ │ │ │ ├── registry_get_options.yml
│ │ │ │ │ │ │ ├── registry_get_subscription.yml
│ │ │ │ │ │ │ ├── registry_list_garbageCollections.yml
│ │ │ │ │ │ │ ├── registry_list_repositories.yml
│ │ │ │ │ │ │ ├── registry_list_repositoriesV2.yml
│ │ │ │ │ │ │ ├── registry_list_repositoryManifests.yml
│ │ │ │ │ │ │ ├── registry_list_repositoryTags.yml
│ │ │ │ │ │ │ ├── registry_run_garbageCollection.yml
│ │ │ │ │ │ │ ├── registry_update_garbageCollection.yml
│ │ │ │ │ │ │ ├── registry_update_subscription.yml
│ │ │ │ │ │ │ └── registry_validate_name.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── docker_credentials.yml
│ │ │ │ │ │ │ ├── garbage_collection.yml
│ │ │ │ │ │ │ ├── registry.yml
│ │ │ │ │ │ │ ├── registry_create.yml
│ │ │ │ │ │ │ ├── repository.yml
│ │ │ │ │ │ │ ├── repository_blob.yml
│ │ │ │ │ │ │ ├── repository_manifest.yml
│ │ │ │ │ │ │ ├── repository_tag.yml
│ │ │ │ │ │ │ ├── repository_v2.yml
│ │ │ │ │ │ │ ├── subscription.yml
│ │ │ │ │ │ │ ├── subscription_tier.yml
│ │ │ │ │ │ │ ├── update_registry.yml
│ │ │ │ │ │ │ └── validate_registry.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ ├── registry_create.yml
│ │ │ │ │ │ ├── registry_delete.yml
│ │ │ │ │ │ ├── registry_delete_repositoryManifest.yml
│ │ │ │ │ │ ├── registry_delete_repositoryTag.yml
│ │ │ │ │ │ ├── registry_get.yml
│ │ │ │ │ │ ├── registry_get_dockerCredentials.yml
│ │ │ │ │ │ ├── registry_get_garbageCollection.yml
│ │ │ │ │ │ ├── registry_get_options.yml
│ │ │ │ │ │ ├── registry_get_subscription.yml
│ │ │ │ │ │ ├── registry_list_garbageCollections.yml
│ │ │ │ │ │ ├── registry_list_repositories.yml
│ │ │ │ │ │ ├── registry_list_repositoriesV2.yml
│ │ │ │ │ │ ├── registry_list_repositoryManifests.yml
│ │ │ │ │ │ ├── registry_list_repositoryTags.yml
│ │ │ │ │ │ ├── registry_run_garbageCollection.yml
│ │ │ │ │ │ ├── registry_update_garbageCollection.yml
│ │ │ │ │ │ ├── registry_update_subscription.yml
│ │ │ │ │ │ ├── registry_validate_name.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── all_repositories.yml
│ │ │ │ │ │ ├── all_repositories_v2.yml
│ │ │ │ │ │ ├── docker_credentials.yml
│ │ │ │ │ │ ├── garbage_collection.yml
│ │ │ │ │ │ ├── garbage_collections.yml
│ │ │ │ │ │ ├── registry_info.yml
│ │ │ │ │ │ ├── registry_options_response.yml
│ │ │ │ │ │ ├── repository_manifests.yml
│ │ │ │ │ │ ├── repository_tags.yml
│ │ │ │ │ │ └── subscription_response.yml
│ │ │ │ │ ├── reserved_ips/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── create_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── delete_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── get_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── get_reserved_ip_action.yml
│ │ │ │ │ │ │ │ ├── list_reserved_ip_actions.yml
│ │ │ │ │ │ │ │ ├── list_reserved_ips.yml
│ │ │ │ │ │ │ │ └── post_reserved_ip_action.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── create_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── delete_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── get_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── get_reserved_ip_action.yml
│ │ │ │ │ │ │ │ ├── list_reserved_ip_actions.yml
│ │ │ │ │ │ │ │ ├── list_reserved_ips.yml
│ │ │ │ │ │ │ │ └── post_reserved_ip_action.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── create_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── delete_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── get_reserved_ip.yml
│ │ │ │ │ │ │ │ ├── get_reserved_ip_action.yml
│ │ │ │ │ │ │ │ ├── list_reserved_ip_actions.yml
│ │ │ │ │ │ │ │ ├── list_reserved_ips.yml
│ │ │ │ │ │ │ │ └── post_reserved_ip_action.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── create_reserved_ip.yml
│ │ │ │ │ │ │ ├── delete_reserved_ip.yml
│ │ │ │ │ │ │ ├── get_reserved_ip.yml
│ │ │ │ │ │ │ ├── get_reserved_ip_action.yml
│ │ │ │ │ │ │ ├── list_reserved_ip_actions.yml
│ │ │ │ │ │ │ ├── list_reserved_ips.yml
│ │ │ │ │ │ │ └── post_reserved_ip_action.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── reserved_ip.yml
│ │ │ │ │ │ │ ├── reserved_ip_actions.yml
│ │ │ │ │ │ │ └── reserved_ip_create.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ ├── reservedIPsActions_get.yml
│ │ │ │ │ │ ├── reservedIPsActions_list.yml
│ │ │ │ │ │ ├── reservedIPsActions_post.yml
│ │ │ │ │ │ ├── reservedIPs_create.yml
│ │ │ │ │ │ ├── reservedIPs_delete.yml
│ │ │ │ │ │ ├── reservedIPs_get.yml
│ │ │ │ │ │ ├── reservedIPs_list.yml
│ │ │ │ │ │ └── responses/
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── reserved_ip.yml
│ │ │ │ │ │ ├── reserved_ip_action.yml
│ │ │ │ │ │ ├── reserved_ip_actions.yml
│ │ │ │ │ │ ├── reserved_ip_created.yml
│ │ │ │ │ │ └── reserved_ip_list.yml
│ │ │ │ │ ├── sizes/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ └── sizes_list.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ └── sizes_list.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ └── sizes_list.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ └── sizes_list.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── disk_info.yml
│ │ │ │ │ │ │ ├── gpu_info.yml
│ │ │ │ │ │ │ └── size.yml
│ │ │ │ │ │ ├── responses/
│ │ │ │ │ │ │ └── all_sizes.yml
│ │ │ │ │ │ └── sizes_list.yml
│ │ │ │ │ ├── snapshots/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── snapshots_delete.yml
│ │ │ │ │ │ │ │ ├── snapshots_get.yml
│ │ │ │ │ │ │ │ └── snapshots_list.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── snapshots_delete.yml
│ │ │ │ │ │ │ │ ├── snapshots_get.yml
│ │ │ │ │ │ │ │ └── snapshots_list.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── snapshots_delete.yml
│ │ │ │ │ │ │ │ ├── snapshots_get.yml
│ │ │ │ │ │ │ │ └── snapshots_list.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── snapshots_delete.yml
│ │ │ │ │ │ │ ├── snapshots_get.yml
│ │ │ │ │ │ │ └── snapshots_list.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── snapshots.yml
│ │ │ │ │ │ │ └── snapshots_base.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ ├── responses/
│ │ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ │ ├── not_a_snapshot.yml
│ │ │ │ │ │ │ ├── snapshots.yml
│ │ │ │ │ │ │ └── snapshots_existing.yml
│ │ │ │ │ │ ├── snapshots_delete.yml
│ │ │ │ │ │ ├── snapshots_get.yml
│ │ │ │ │ │ └── snapshots_list.yml
│ │ │ │ │ ├── ssh_keys/
│ │ │ │ │ │ ├── attributes/
│ │ │ │ │ │ │ ├── ssh_key_fingerprint.yml
│ │ │ │ │ │ │ ├── ssh_key_id.yml
│ │ │ │ │ │ │ └── ssh_key_name.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── sshKeys_create.yml
│ │ │ │ │ │ │ │ ├── sshKeys_delete.yml
│ │ │ │ │ │ │ │ ├── sshKeys_get.yml
│ │ │ │ │ │ │ │ ├── sshKeys_list.yml
│ │ │ │ │ │ │ │ └── sshKeys_patch.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── sshKeys_create.yml
│ │ │ │ │ │ │ │ ├── sshKeys_delete.yml
│ │ │ │ │ │ │ │ ├── sshKeys_get.yml
│ │ │ │ │ │ │ │ ├── sshKeys_list.yml
│ │ │ │ │ │ │ │ └── sshKeys_patch.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── sshKeys_create.yml
│ │ │ │ │ │ │ │ ├── sshKeys_delete.yml
│ │ │ │ │ │ │ │ ├── sshKeys_get.yml
│ │ │ │ │ │ │ │ ├── sshKeys_list.yml
│ │ │ │ │ │ │ │ └── sshKeys_patch.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── sshKeys_create.yml
│ │ │ │ │ │ │ ├── sshKeys_delete.yml
│ │ │ │ │ │ │ ├── sshKeys_get.yml
│ │ │ │ │ │ │ ├── sshKeys_list.yml
│ │ │ │ │ │ │ └── sshKeys_patch.yml
│ │ │ │ │ │ ├── links/
│ │ │ │ │ │ │ ├── sshKeys_delete_by_fingerprint.yml
│ │ │ │ │ │ │ ├── sshKeys_delete_by_id.yml
│ │ │ │ │ │ │ ├── sshKeys_get_by_fingerprint.yml
│ │ │ │ │ │ │ └── sshKeys_get_by_id.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ └── sshKeys.yml
│ │ │ │ │ │ ├── parameters/
│ │ │ │ │ │ │ └── ssh_key_identifier.yml
│ │ │ │ │ │ ├── responses/
│ │ │ │ │ │ │ ├── sshKeys_all.yml
│ │ │ │ │ │ │ ├── sshKeys_existing.yml
│ │ │ │ │ │ │ └── sshKeys_new.yml
│ │ │ │ │ │ ├── sshKeys_create.yml
│ │ │ │ │ │ ├── sshKeys_delete.yml
│ │ │ │ │ │ ├── sshKeys_get.yml
│ │ │ │ │ │ ├── sshKeys_list.yml
│ │ │ │ │ │ └── sshKeys_update.yml
│ │ │ │ │ ├── tags/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── tags_assign_resources.yml
│ │ │ │ │ │ │ │ ├── tags_create.yml
│ │ │ │ │ │ │ │ ├── tags_delete.yml
│ │ │ │ │ │ │ │ ├── tags_get.yml
│ │ │ │ │ │ │ │ ├── tags_list.yml
│ │ │ │ │ │ │ │ └── tags_unassign_resources.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── tags_assign_resources.yml
│ │ │ │ │ │ │ │ ├── tags_create.yml
│ │ │ │ │ │ │ │ ├── tags_delete.yml
│ │ │ │ │ │ │ │ ├── tags_get.yml
│ │ │ │ │ │ │ │ ├── tags_list.yml
│ │ │ │ │ │ │ │ └── tags_unassign_resources.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── tags_assign_resources.yml
│ │ │ │ │ │ │ │ ├── tags_create.yml
│ │ │ │ │ │ │ │ ├── tags_delete.yml
│ │ │ │ │ │ │ │ ├── tags_get.yml
│ │ │ │ │ │ │ │ ├── tags_list.yml
│ │ │ │ │ │ │ │ └── tags_unassign_resources.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── tags_assign_resources.yml
│ │ │ │ │ │ │ ├── tags_create.yml
│ │ │ │ │ │ │ ├── tags_delete.yml
│ │ │ │ │ │ │ ├── tags_get.yml
│ │ │ │ │ │ │ ├── tags_list.yml
│ │ │ │ │ │ │ └── tags_unassign_resources.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── tags.yml
│ │ │ │ │ │ │ ├── tags_metadata.yml
│ │ │ │ │ │ │ └── tags_resource.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ ├── responses/
│ │ │ │ │ │ │ ├── tags_all.yml
│ │ │ │ │ │ │ ├── tags_bad_request.yml
│ │ │ │ │ │ │ ├── tags_existing.yml
│ │ │ │ │ │ │ └── tags_new.yml
│ │ │ │ │ │ ├── tags_assign_resources.yml
│ │ │ │ │ │ ├── tags_create.yml
│ │ │ │ │ │ ├── tags_delete.yml
│ │ │ │ │ │ ├── tags_get.yml
│ │ │ │ │ │ ├── tags_list.yml
│ │ │ │ │ │ └── tags_unassign_resources.yml
│ │ │ │ │ ├── uptime/
│ │ │ │ │ │ ├── create_alert.yml
│ │ │ │ │ │ ├── create_check.yml
│ │ │ │ │ │ ├── delete_alert.yml
│ │ │ │ │ │ ├── delete_check.yml
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── alert_create.yml
│ │ │ │ │ │ │ │ ├── alert_delete.yml
│ │ │ │ │ │ │ │ ├── alert_get.yml
│ │ │ │ │ │ │ │ ├── alert_list.yml
│ │ │ │ │ │ │ │ ├── alert_update.yml
│ │ │ │ │ │ │ │ ├── check_create.yml
│ │ │ │ │ │ │ │ ├── check_delete.yml
│ │ │ │ │ │ │ │ ├── check_get.yml
│ │ │ │ │ │ │ │ ├── check_list.yml
│ │ │ │ │ │ │ │ ├── check_state_get.yml
│ │ │ │ │ │ │ │ └── check_update.yml
│ │ │ │ │ │ │ └── python/
│ │ │ │ │ │ │ ├── alert_create.yml
│ │ │ │ │ │ │ ├── alert_delete.yml
│ │ │ │ │ │ │ ├── alert_get.yml
│ │ │ │ │ │ │ ├── alert_list.yml
│ │ │ │ │ │ │ ├── alert_update.yml
│ │ │ │ │ │ │ ├── check_create.yml
│ │ │ │ │ │ │ ├── check_delete.yml
│ │ │ │ │ │ │ ├── check_get.yml
│ │ │ │ │ │ │ ├── check_list.yml
│ │ │ │ │ │ │ ├── check_state_get.yml
│ │ │ │ │ │ │ └── check_update.yml
│ │ │ │ │ │ ├── get_alert.yml
│ │ │ │ │ │ ├── get_check.yml
│ │ │ │ │ │ ├── get_check_state.yml
│ │ │ │ │ │ ├── list_alerts.yml
│ │ │ │ │ │ ├── list_checks.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── alert.yml
│ │ │ │ │ │ │ ├── check.yml
│ │ │ │ │ │ │ ├── notification.yml
│ │ │ │ │ │ │ └── state.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ ├── responses/
│ │ │ │ │ │ │ ├── all_alerts.yml
│ │ │ │ │ │ │ ├── all_checks.yml
│ │ │ │ │ │ │ ├── existing_alert.yml
│ │ │ │ │ │ │ ├── existing_check.yml
│ │ │ │ │ │ │ └── existing_check_state.yml
│ │ │ │ │ │ ├── update_alert.yml
│ │ │ │ │ │ └── update_check.yml
│ │ │ │ │ ├── volumes/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ │ ├── volumeActions_attach.yml
│ │ │ │ │ │ │ │ ├── volumeActions_attach_byId.yml
│ │ │ │ │ │ │ │ ├── volumeActions_get.yml
│ │ │ │ │ │ │ │ ├── volumeActions_list.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_create.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_get_byId.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_list.yml
│ │ │ │ │ │ │ │ ├── volumes_create.yml
│ │ │ │ │ │ │ │ ├── volumes_delete.yml
│ │ │ │ │ │ │ │ ├── volumes_delete_byName.yml
│ │ │ │ │ │ │ │ ├── volumes_get.yml
│ │ │ │ │ │ │ │ └── volumes_list.yml
│ │ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ │ ├── volumeActions_attach_byId.yml
│ │ │ │ │ │ │ │ ├── volumeActions_get.yml
│ │ │ │ │ │ │ │ ├── volumeActions_list.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_create.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_list.yml
│ │ │ │ │ │ │ │ ├── volumes_create.yml
│ │ │ │ │ │ │ │ ├── volumes_delete.yml
│ │ │ │ │ │ │ │ ├── volumes_get.yml
│ │ │ │ │ │ │ │ └── volumes_list.yml
│ │ │ │ │ │ │ ├── python/
│ │ │ │ │ │ │ │ ├── volumeActions_attach.yml
│ │ │ │ │ │ │ │ ├── volumeActions_attach_byId.yml
│ │ │ │ │ │ │ │ ├── volumeActions_get.yml
│ │ │ │ │ │ │ │ ├── volumeActions_list.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_create.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_get_byId.yml
│ │ │ │ │ │ │ │ ├── volumeSnapshots_list.yml
│ │ │ │ │ │ │ │ ├── volumes_create.yml
│ │ │ │ │ │ │ │ ├── volumes_delete.yml
│ │ │ │ │ │ │ │ ├── volumes_delete_byName.yml
│ │ │ │ │ │ │ │ ├── volumes_get.yml
│ │ │ │ │ │ │ │ └── volumes_list.yml
│ │ │ │ │ │ │ └── ruby/
│ │ │ │ │ │ │ ├── volumeActions_attach_byId.yml
│ │ │ │ │ │ │ ├── volumeActions_get.yml
│ │ │ │ │ │ │ ├── volumeActions_list.yml
│ │ │ │ │ │ │ ├── volumeSnapshots_create.yml
│ │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml
│ │ │ │ │ │ │ ├── volumeSnapshots_list.yml
│ │ │ │ │ │ │ ├── volumes_create.yml
│ │ │ │ │ │ │ ├── volumes_delete.yml
│ │ │ │ │ │ │ ├── volumes_get.yml
│ │ │ │ │ │ │ └── volumes_list.yml
│ │ │ │ │ │ ├── examples.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ ├── attributes.yml
│ │ │ │ │ │ │ ├── volumeAction.yml
│ │ │ │ │ │ │ ├── volume_action_post_attach.yml
│ │ │ │ │ │ │ ├── volume_action_post_base.yml
│ │ │ │ │ │ │ ├── volume_action_post_detach.yml
│ │ │ │ │ │ │ ├── volume_action_post_resize.yml
│ │ │ │ │ │ │ ├── volume_base.yml
│ │ │ │ │ │ │ ├── volume_full.yml
│ │ │ │ │ │ │ ├── volumes_ext4.yml
│ │ │ │ │ │ │ └── volumes_xfs.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ ├── responses/
│ │ │ │ │ │ │ ├── volume.yml
│ │ │ │ │ │ │ ├── volumeAction.yml
│ │ │ │ │ │ │ ├── volumeActions.yml
│ │ │ │ │ │ │ ├── volumeSnapshot.yml
│ │ │ │ │ │ │ ├── volumeSnapshots.yml
│ │ │ │ │ │ │ └── volumes.yml
│ │ │ │ │ │ ├── volumeActions_get.yml
│ │ │ │ │ │ ├── volumeActions_list.yml
│ │ │ │ │ │ ├── volumeActions_post.yml
│ │ │ │ │ │ ├── volumeActions_post_byId.yml
│ │ │ │ │ │ ├── volumeSnapshots_create.yml
│ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml
│ │ │ │ │ │ ├── volumeSnapshots_get_byId.yml
│ │ │ │ │ │ ├── volumeSnapshots_list.yml
│ │ │ │ │ │ ├── volumes_create.yml
│ │ │ │ │ │ ├── volumes_delete.yml
│ │ │ │ │ │ ├── volumes_delete_byName.yml
│ │ │ │ │ │ ├── volumes_get.yml
│ │ │ │ │ │ └── volumes_list.yml
│ │ │ │ │ ├── vpc_peerings/
│ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ └── curl/
│ │ │ │ │ │ │ ├── vpc_peerings_create.yml
│ │ │ │ │ │ │ ├── vpc_peerings_delete.yml
│ │ │ │ │ │ │ ├── vpc_peerings_get.yml
│ │ │ │ │ │ │ ├── vpc_peerings_list.yml
│ │ │ │ │ │ │ └── vpc_peerings_update.yml
│ │ │ │ │ │ ├── models/
│ │ │ │ │ │ │ └── vpc_peering.yml
│ │ │ │ │ │ ├── parameters.yml
│ │ │ │ │ │ ├── responses/
│ │ │ │ │ │ │ ├── active_vpc_peering.yml
│ │ │ │ │ │ │ ├── all_vpc_peerings.yml
│ │ │ │ │ │ │ ├── deleting_vpc_peering.yml
│ │ │ │ │ │ │ └── provisioning_vpc_peering.yml
│ │ │ │ │ │ ├── vpc_peerings_create.yml
│ │ │ │ │ │ ├── vpc_peerings_delete.yml
│ │ │ │ │ │ ├── vpc_peerings_get.yml
│ │ │ │ │ │ ├── vpc_peerings_list.yml
│ │ │ │ │ │ └── vpc_peerings_update.yml
│ │ │ │ │ └── vpcs/
│ │ │ │ │ ├── examples/
│ │ │ │ │ │ ├── curl/
│ │ │ │ │ │ │ ├── vpcs_create.yml
│ │ │ │ │ │ │ ├── vpcs_create_peerings.yml
│ │ │ │ │ │ │ ├── vpcs_delete.yml
│ │ │ │ │ │ │ ├── vpcs_get.yml
│ │ │ │ │ │ │ ├── vpcs_list.yml
│ │ │ │ │ │ │ ├── vpcs_list_members.yml
│ │ │ │ │ │ │ ├── vpcs_list_peerings.yml
│ │ │ │ │ │ │ ├── vpcs_patch.yml
│ │ │ │ │ │ │ ├── vpcs_update.yml
│ │ │ │ │ │ │ └── vpcs_update_peerings.yml
│ │ │ │ │ │ ├── go/
│ │ │ │ │ │ │ ├── vpcs_create.yml
│ │ │ │ │ │ │ ├── vpcs_delete.yml
│ │ │ │ │ │ │ ├── vpcs_get.yml
│ │ │ │ │ │ │ ├── vpcs_list.yml
│ │ │ │ │ │ │ ├── vpcs_patch.yml
│ │ │ │ │ │ │ └── vpcs_update.yml
│ │ │ │ │ │ └── python/
│ │ │ │ │ │ ├── vpcs_create.yml
│ │ │ │ │ │ ├── vpcs_delete.yml
│ │ │ │ │ │ ├── vpcs_get.yml
│ │ │ │ │ │ ├── vpcs_list.yml
│ │ │ │ │ │ ├── vpcs_list_members.yml
│ │ │ │ │ │ ├── vpcs_patch.yml
│ │ │ │ │ │ └── vpcs_update.yml
│ │ │ │ │ ├── models/
│ │ │ │ │ │ ├── vpc.yml
│ │ │ │ │ │ └── vpc_member.yml
│ │ │ │ │ ├── parameters.yml
│ │ │ │ │ ├── responses/
│ │ │ │ │ │ ├── all_vpcs.yml
│ │ │ │ │ │ ├── existing_vpc.yml
│ │ │ │ │ │ ├── vpc_members.yml
│ │ │ │ │ │ ├── vpc_peering.yml
│ │ │ │ │ │ └── vpc_peerings.yml
│ │ │ │ │ ├── vpcs_create.yml
│ │ │ │ │ ├── vpcs_create_peerings.yml
│ │ │ │ │ ├── vpcs_delete.yml
│ │ │ │ │ ├── vpcs_get.yml
│ │ │ │ │ ├── vpcs_list.yml
│ │ │ │ │ ├── vpcs_list_members.yml
│ │ │ │ │ ├── vpcs_list_peerings.yml
│ │ │ │ │ ├── vpcs_patch.yml
│ │ │ │ │ ├── vpcs_update.yml
│ │ │ │ │ └── vpcs_update_peerings.yml
│ │ │ │ └── shared/
│ │ │ │ ├── attributes/
│ │ │ │ │ ├── distribution.yml
│ │ │ │ │ ├── existing_tags_array.yml
│ │ │ │ │ ├── region_slug.yml
│ │ │ │ │ ├── regions_array.yml
│ │ │ │ │ ├── tags_array.yml
│ │ │ │ │ └── urn.yml
│ │ │ │ ├── headers.yml
│ │ │ │ ├── meta.yml
│ │ │ │ ├── meta_optional_total.yml
│ │ │ │ ├── models/
│ │ │ │ │ ├── action_link.yml
│ │ │ │ │ ├── error.yml
│ │ │ │ │ ├── error_with_root_causes.yml
│ │ │ │ │ └── meta_properties.yml
│ │ │ │ ├── pages.yml
│ │ │ │ ├── parameters.yml
│ │ │ │ └── responses/
│ │ │ │ ├── accepted.yml
│ │ │ │ ├── bad_request.yml
│ │ │ │ ├── conflict.yml
│ │ │ │ ├── no_content.yml
│ │ │ │ ├── no_content_with_content_type.yml
│ │ │ │ ├── not_found.yml
│ │ │ │ ├── server_error.yml
│ │ │ │ ├── too_many_requests.yml
│ │ │ │ ├── unauthorized.yml
│ │ │ │ └── unexpected_error.yml
│ │ │ ├── digital-ocean-api.ts
│ │ │ ├── enum-root-types.ts
│ │ │ ├── enum-root-types.yaml
│ │ │ ├── github-api-export-type-immutable.ts
│ │ │ ├── github-api-immutable.ts
│ │ │ ├── github-api-next.ts
│ │ │ ├── github-api-next.yaml
│ │ │ ├── github-api-required.ts
│ │ │ ├── github-api-root-types.ts
│ │ │ ├── github-api.ts
│ │ │ ├── github-api.yaml
│ │ │ ├── octokit-ghes-3.6-diff-to-api.json
│ │ │ ├── octokit-ghes-3.6-diff-to-api.ts
│ │ │ ├── simple-example.ts
│ │ │ ├── simple-example.yaml
│ │ │ ├── stripe-api.ts
│ │ │ └── stripe-api.yaml
│ │ ├── package.json
│ │ ├── scripts/
│ │ │ ├── download-schemas.ts
│ │ │ ├── schemas.ts
│ │ │ └── update-examples.ts
│ │ ├── src/
│ │ │ ├── index.ts
│ │ │ ├── lib/
│ │ │ │ ├── redoc.ts
│ │ │ │ ├── ts.ts
│ │ │ │ └── utils.ts
│ │ │ ├── transform/
│ │ │ │ ├── components-object.ts
│ │ │ │ ├── header-object.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── media-type-object.ts
│ │ │ │ ├── operation-object.ts
│ │ │ │ ├── parameter-object.ts
│ │ │ │ ├── parameters-array.ts
│ │ │ │ ├── path-item-object.ts
│ │ │ │ ├── paths-enum.ts
│ │ │ │ ├── paths-object.ts
│ │ │ │ ├── request-body-object.ts
│ │ │ │ ├── response-object.ts
│ │ │ │ ├── responses-object.ts
│ │ │ │ ├── schema-object.ts
│ │ │ │ └── webhooks-object.ts
│ │ │ └── types.ts
│ │ ├── test/
│ │ │ ├── cjs.test.js
│ │ │ ├── cli.test.ts
│ │ │ ├── discriminators.test.ts
│ │ │ ├── fixtures/
│ │ │ │ ├── _jsonschema-remote-obj.yaml
│ │ │ │ ├── _parameters-test-partial.yaml
│ │ │ │ ├── _path-object-refs-paths.yaml
│ │ │ │ ├── _remote-ref-full.yaml
│ │ │ │ ├── _remote-ref-partial.yaml
│ │ │ │ ├── anchor-with-ref-test-2.yaml
│ │ │ │ ├── anchor-with-ref-test.yaml
│ │ │ │ ├── generate-params-test.yaml
│ │ │ │ ├── jsonschema-defs.yaml
│ │ │ │ ├── multi-line-descriptions.yaml
│ │ │ │ ├── parameters-test.yaml
│ │ │ │ ├── path-item-components.yaml
│ │ │ │ ├── path-object-refs.yaml
│ │ │ │ ├── redocly/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── openapi/
│ │ │ │ │ │ ├── a.yaml
│ │ │ │ │ │ ├── b.yaml
│ │ │ │ │ │ └── c.yaml
│ │ │ │ │ └── redocly.yaml
│ │ │ │ ├── redocly-flag/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── openapi/
│ │ │ │ │ │ ├── a.yaml
│ │ │ │ │ │ ├── b.yaml
│ │ │ │ │ │ └── c.yaml
│ │ │ │ │ ├── redocly.alt.yaml
│ │ │ │ │ └── redocly.yaml
│ │ │ │ ├── redocly-lint-error/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── openapi/
│ │ │ │ │ │ └── openapi.yaml
│ │ │ │ │ └── redocly.yaml
│ │ │ │ └── yaml-merge.yaml
│ │ │ ├── index.test.ts
│ │ │ ├── invalid.test.ts
│ │ │ ├── lib/
│ │ │ │ ├── ts.test.ts
│ │ │ │ └── utils.test.ts
│ │ │ ├── node-api.test.ts
│ │ │ ├── test-helpers.ts
│ │ │ ├── transform/
│ │ │ │ ├── components-object.test.ts
│ │ │ │ ├── header-object.test.ts
│ │ │ │ ├── operation-object.test.ts
│ │ │ │ ├── path-item-object.test.ts
│ │ │ │ ├── paths-enum.test.ts
│ │ │ │ ├── paths-object.test.ts
│ │ │ │ ├── request-body-object.test.ts
│ │ │ │ ├── response-object.test.ts
│ │ │ │ ├── schema-object/
│ │ │ │ │ ├── array.test.ts
│ │ │ │ │ ├── boolean.test.ts
│ │ │ │ │ ├── composition.test.ts
│ │ │ │ │ ├── empty.test.ts
│ │ │ │ │ ├── enum.test.ts
│ │ │ │ │ ├── number.test.ts
│ │ │ │ │ ├── object.test.ts
│ │ │ │ │ └── string.test.ts
│ │ │ │ └── webhooks-object.test.ts
│ │ │ └── yaml.test.ts
│ │ ├── tsconfig.examples.json
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
│ ├── openapi-typescript-helpers/
│ │ ├── .gitignore
│ │ ├── .npmignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── biome.json
│ │ ├── build.config.ts
│ │ ├── package.json
│ │ ├── src/
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ └── swr-openapi/
│ └── README.md
├── pnpm-workspace.yaml
├── renovate.json
├── tsconfig.json
├── turbo.json
└── vitest.workspace.ts
================================================
FILE CONTENTS
================================================
================================================
FILE: .changeset/config.json
================================================
{
"$schema": "https://unpkg.com/@changesets/config@3.0.1/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "openapi-ts/openapi-typescript" }],
"ignore": ["openapi-typescript-docs", "@example/*"],
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main"
}
================================================
FILE: .changeset/fix-empty-error-response.md
================================================
---
"openapi-fetch": patch
---
fix(openapi-fetch): handle empty error responses when Content-Length header is stripped
================================================
FILE: .changeset/honest-comics-worry.md
================================================
---
"openapi-react-query": patch
---
Tag generated querykeys with `DataTag`, allowing us to infer the return type (data/error) associated with a given queryKey, making methods like `queryClient.setQueryData()` type-safe.
================================================
FILE: .changeset/loose-enum-autocomplete.md
================================================
---
"openapi-typescript": patch
---
Support `additionalProperties: true` on string enums by generating a loose autocomplete union (`(enum literals) | (string & {})`), preserving editor suggestions while still accepting arbitrary string values.
================================================
FILE: .changeset/yellow-meteors-rush.md
================================================
---
"openapi-typescript": minor
---
Add ability to set flags in redocly.yaml
================================================
FILE: .github/CODEOWNERS
================================================
* @openapi-ts/maintainers
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: # Replace with GitHub username(s)
patreon: # Replace with a single Patreon username
open_collective: openapi-ts
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
================================================
FILE: .github/ISSUE_TEMPLATE/01_openapi-typescript-bug.yml
================================================
name: "openapi-typescript: Bug report"
description: Report a bug or unexpected behavior
labels:
- openapi-ts
- bug
- triage
body:
- type: input
id: version
attributes:
label: openapi-typescript version
placeholder: x.x.x
validations:
required: true
- type: input
id: node
attributes:
label: Node.js version
placeholder: 20.x.x
validations:
required: true
- type: input
id: os
attributes:
label: OS + version
placeholder: macOS 15.1.1
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: A brief description of the bug. Provide either a screenshot or the full error message!
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction
description: How can this be reproduced / when did the error occur? Does the issue occur in a specific browser, or all browsers? Bonus points for a GitHub repository link.
validations:
required: true
- type: textarea
attributes:
label: Expected result
description: (In case it’s not obvious)
validations:
required: true
- type: checkboxes
id: required
attributes:
label: Required
options:
- label: My OpenAPI schema is valid and passes the [Redocly validator](https://redocly.com/docs/cli/commands/lint/) (`npx @redocly/cli@latest lint`)
required: true
- type: checkboxes
id: extra
attributes:
label: Extra
options:
- label: I’m willing to open a PR (see [CONTRIBUTING.md](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/CONTRIBUTING.md))
================================================
FILE: .github/ISSUE_TEMPLATE/01_openapi-typescript-feat.yml
================================================
name: "openapi-typescript: Feature request"
description: Propose new functionality or a breaking change
labels:
- openapi-ts
- enhancement
projects:
- openapi-ts/2
body:
- type: textarea
id: description
attributes:
label: Description
description: Brief description of the problem you’re trying to solve, and why this could be useful.
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposal
description: Outline the change to the library. If this is for the CLI, propose a flag name and/or workflow. If this is for Node API, propose how this would be consumed. Reference any prior art or similar examples.
validations:
required: true
- type: checkboxes
id: extra
attributes:
label: Extra
options:
- label: I’m willing to open a PR (see [CONTRIBUTING.md](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/CONTRIBUTING.md))
================================================
FILE: .github/ISSUE_TEMPLATE/02_openapi-fetch-bug.yml
================================================
name: "openapi-fetch: Bug report"
description: Report a bug or unexpected behavior
labels:
- openapi-fetch
- bug
- triage
body:
- type: input
id: version
attributes:
label: openapi-fetch version
placeholder: x.x.x
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: A brief description of the bug. Provide either a screenshot or the full error message!
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction
description: How can this be reproduced / when did the error occur? Does the issue occur in a specific browser, or all browsers? Bonus points for a GitHub repository link.
validations:
required: true
- type: textarea
attributes:
label: Expected result
description: (In case it’s not obvious)
validations:
required: true
- type: checkboxes
id: extra
attributes:
label: Extra
options:
- label: I’m willing to open a PR (see [CONTRIBUTING.md](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-fetch/CONTRIBUTING.md))
================================================
FILE: .github/ISSUE_TEMPLATE/02_openapi-fetch-feat.yml
================================================
name: "openapi-fetch: Feature request"
description: Propose new functionality or a breaking change
labels:
- openapi-fetch
- enhancement
projects:
- openapi-ts/3
body:
- type: textarea
id: description
attributes:
label: Description
description: Brief description of the problem you’re trying to solve, and why this could be useful.
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposal
description: Describe the proposed syntax change. Please reference any prior art or similar examples.
validations:
required: true
- type: checkboxes
id: extra
attributes:
label: Extra
options:
- label: I’m willing to open a PR (see [CONTRIBUTING.md](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-fetch/CONTRIBUTING.md))
================================================
FILE: .github/ISSUE_TEMPLATE/03_openapi-react-query-bug.yml
================================================
name: "openapi-react-query: Bug report"
description: Report a bug or unexpected behavior
labels:
- openapi-react-query
- bug
- triage
body:
- type: input
id: version
attributes:
label: openapi-react-query version
placeholder: x.x.x
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: A brief description of the bug. Provide either a screenshot or the full error message!
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction
description: How can this be reproduced / when did the error occur? Does the issue occur in a specific browser, or all browsers? Bonus points for a GitHub repository link.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected result
description: (In case it’s not obvious)
validations:
required: true
- type: checkboxes
id: extra
attributes:
label: Extra
options:
- label: I’m willing to open a PR (see [CONTRIBUTING.md](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-react-query/CONTRIBUTING.md))
================================================
FILE: .github/ISSUE_TEMPLATE/03_openapi-react-query-feat.yml
================================================
name: "openapi-react-query: Feature request"
description: Propose new functionality or a breaking change
labels:
- openapi-react-query
- enhancement
body:
- type: textarea
id: description
attributes:
label: Description
description: Brief description of the problem you’re trying to solve, and why this could be useful.
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposal
description: Describe the proposed syntax change. Please reference any prior art or similar examples.
validations:
required: true
- type: checkboxes
id: extra
attributes:
label: Extra
options:
- label: I’m willing to open a PR (see [CONTRIBUTING.md](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-react-query/CONTRIBUTING.md))
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
================================================
FILE: .github/pull_request_template.md
================================================
## Changes
_What does this PR change? Link to any related issue(s)._
## How to Review
_How can a reviewer review your changes? What should be kept in mind for this review?_
## Checklist
- [ ] Unit tests updated
- [ ] `docs/` updated (if necessary)
- [ ] `pnpm run update:examples` run (only applicable for openapi-typescript)
================================================
FILE: .github/workflows/ci.yml
================================================
name: ci
on:
push:
branches:
- main
- "renovate/**"
pull_request:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: latest
- uses: pnpm/action-setup@v5
with:
run_install: true
- run: pnpm run lint
test-node-versions:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22, 24]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v5
with:
run_install: true
- run: pnpm test
test-e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: latest
- uses: pnpm/action-setup@v5
with:
run_install: true
- run: pnpm exec playwright install --with-deps
- run: pnpm run test-e2e
test-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: latest
- uses: pnpm/action-setup@v5
with:
run_install: true
- run: pnpm test
test-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: latest
- uses: pnpm/action-setup@v5
with:
run_install: true
- run: pnpm test
================================================
FILE: .github/workflows/issue-stale.yml
================================================
name: Close inactive issues
on:
workflow_dispatch:
schedule:
- cron: "30 1 * * *"
jobs:
close-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10
with:
stale-issue-message: "This issue is stale because it has been open for 180 days with no activity. If there is no activity in the next 7 days, the issue will be closed."
close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale. Please open a new issue if you believe you are encountering a related problem."
ascending: false
operations-per-run: 300
days-before-issue-stale: 180
days-before-issue-close: 7
days-before-pr-stale: -1
days-before-pr-close: -1
stale-issue-label: "stale"
exempt-issue-labels: "Issue accepted"
enable-statistics: true
================================================
FILE: .github/workflows/issue.yml
================================================
name: Issue creation
on:
issues:
types:
- opened
jobs:
auto-assign:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Auto-assign issue
uses: pozil/auto-assign-issue@v2
with:
teams: maintainers
numOfAssignee: 1
allowSelfAssign: true
env:
GITHUB_TOKEN: ${{ secrets.OPENAPI_TS_BOT_GITHUB_TOKEN }}
================================================
FILE: .github/workflows/release.yml
================================================
name: release
on:
push:
branches:
- main
permissions:
id-token: write # Required for OIDC
contents: write
pull-requests: write
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- name: Git setup
uses: actions/checkout@v6
- name: Node setup
uses: actions/setup-node@v6
with:
node-version: latest
- name: pnpm setup
uses: pnpm/action-setup@v5
with:
run_install: true
# Do not remove! This ensures a build happens every time
- name: Build all packages
run: pnpm run build
- name: Changesets version and/or publish
uses: changesets/action@v1
with:
version: pnpm run version
publish: pnpm exec changeset publish
commit: "[ci] release"
title: "[ci] release"
env:
GITHUB_TOKEN: ${{ secrets.OPENAPI_TS_BOT_GITHUB_TOKEN }}
================================================
FILE: .github/workflows/size-limit.yml
================================================
name: "Size Limit"
on:
pull_request:
branches: [main]
types: [opened, synchronize]
jobs:
size-limit:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: latest
- uses: pnpm/action-setup@v5
with:
run_install: true
- uses: andresz1/size-limit-action@v1.8.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
package_manager: pnpm
================================================
FILE: .gitignore
================================================
.DS_Store
.turbo
dist
node_modules
coverage
packages/openapi-typescript/test/fixtures/cli-outputs/out
# IntelliJ IDEA settings folder
/.idea
================================================
FILE: .nvmrc
================================================
24
================================================
FILE: .vscode/extensions.json
================================================
{
"recommendations": ["biomejs.biome"]
}
================================================
FILE: .vscode/settings.json
================================================
{
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[json]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescript][typescriptreact]": {
"editor.defaultFormatter": "biomejs.biome"
}
}
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
`openapi-ts@googlegroups.com`.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
Contributions are welcome!
## Setup
This monorepo uses [pnpm workspaces](https://pnpm.io/) that lets packages pull from local versions rather than remote. It also uses [Turborepo](https://turbo.build/repo/docs) to run commands more easily. After installing pnpm, running the following commands from the root will set everything up:
```sh
pnpm i
pnpm run build
```
## Workspace vs local commands
The “workspace“ is the root `package.json`. Running commands here will run on all packages. For example, running `pnpm run build` in the workspace root will build all packages. But running `cd packages/openapi-typescript && pnpm run build` will only build that one package.
It’s worth noting that some packages depend on others in the monorepo. For example, `openapi-fetch` depends on `openapi-typescript` building built. `openapi-react-query` relies on `openapi-fetch` which relies on `openapi-typescript`. If running commands per-package, you’d have to manually build each package before the test suite could run. But running `pnpm run build` in the workspace root once will build all packages for you, so that you can run any test suite.
> ![NOTE]
>
> Note that if any package changes, be sure to rebuild before running tests! Of course, CI will always do this, but in case you see differences between local vs CI, this is usually the culprit—a stale build.
Again, Turborepo is there so that you don’t have to think about all the packages as much, if you’re just contributing to one. But these tips may help you troubleshoot if something unexpected happens.
## Structure
This monorepo has 2 main sections: the `docs/` that deploy to `openapi-ts.dev`, and `packages/` which are all the npm packages. Each npm package has its own `CONTRIBUTING.md` doc that describes setup needed for that package.
```
┬── docs/
└── packages/
├── openapi-fetch/
├── openapi-react-query/
├── openapi-typescript/
└── openapi-typescript-helpers/
```
================================================
FILE: GOVERNANCE.md
================================================
# Governance
This document outlines the governance model for openapi-typescript.
## Contributor model
The following elected roles are outlined for this project, and carry with it additional responsibilities and permissions for managing this open source project. All members must follow the [Code of Conduct](./CODE_OF_CONDUCT.md). Consequences for member violations are detailed in [Moderation](#moderation).
In this document, the term “maintainers” refers to both elected Leads and Core Contributors collectively. It does not include past contributors.
### Core Contributor
A Core Contributor owns the codebase(s) and is responsible for shepherding outside PRs to merge, and is responsible for project quality, maintenance, and direction.
A Core Contributor is invited to join by a Lead after demonstrating regular involvement, either in the form of multiple PRs opened, and/or participating in Issue discussions.
### Lead
A Lead maintains all responsibilities of a Core Contributor, and also manages the GitHub organization and additional resources like the website deployment, npm package credentials, domain, and sponsorship allocation. Leads organize the regular meetings and facilitate communication among the group. A Lead also may be a tiebreaker in the case of disagreement from a Core Contributor.
A Lead is a self-volunteer from a Core Contributor who has served for 6 months or more, and wants to take on more involvement in the direction of the project.
## Project direction
Project direction is determined by the current maintainers of the project, but involves anything tangentially related to the translation between the OpenAPI specification and TypeScript.
### Roadmap
The roadmap exists in the form of GitHub issues—feature requests and bug reports—that maintainers decide to prioritize in the order they choose. Beyond that, maintainers may decide to expand the project scope to additional tools given time, capacity, and mutual interest.
## Code review
Code reviews are done by at least one Lead or Core Contributor, given the following criteria are met:
1. The `main` branch must always be passing all CI checks before merging.
2. Packages >= `1.0` follow semantic versioning (“semver”), where breaking changes necessitate a new major version release. Packages < `1.0` follow the pattern of minor versions may introduce breaking changes, and patches are everything else.
3. PRs opened by non-maintainers need at least 1 maintainer approval to merge.
4. PRs opened by maintainers are encouraged to seek review(s) from peers, but may merge and release work without review if it meets all other criteria and standards of work.
5. PR authors should attempt to respond to all comments on a PR in a best-faith effort, or track followup work either in GitHub Issues if the scope/direction is clear, or GitHub Discussions if not.
## Financial contributions
openapi-typescript is a 100% volunteer open source project, and is not financial backed by any legal entity. To maintain this free public resource that operates under an open source license and model, openapi-typescript accepts **Sponsorship** for funding the project.
openapi-typescript does not currently participate in bounties under the belief that it rewards quick fixes over long term maintenance. Bounties also take funds away from Core Contributors that still have significant work to do in shepherding outside contributions, and are ultimately responsible for the long term quality of this project.
### Sponsorship
Sponsorship can be placed through [Open Collective](https://opencollective.com/openapi-ts). The rewards and tiers are communicated through Open Collective. At this time GitHub Sponsors isn’t supported.
### Fund Allocation
Fund allocation is made transparent through Open Collective. The funds are distributed first to pay for recurring expenses, and the rest are distributed evenly among maintainers.
### Recurring expenses
Recurring expenses include, but aren’t limited to domain cost, website hosting, and GitHub organization costs—bare essentials needed to run the project and provide documentation for free.
### Lead/Core Contributor payout
The remaining funds are distributed evenly among maintainers on a monthly basis, keeping the project at a $0 monthly balance (for now). Maintainers get paid the month they join the project. Payout amounts and dates are made public via [Open Collective](https://opencollective.com/openapi-ts).
## Moderation
Moderation is the process of handling violations of the [Code of Conduct](./CODE_OF_CONDUCT.md).
### Reporting
Anyone may report a violation. Violations can be reported:
- In **private**, via `openapi-ts@googlegroups.com` which is listed in the Code of Conduct. All Core Contributors monitor this email address.
- In **private**, via email to one or more Core Contributor
- In **public**, via a GitHub comment (mentioning `@openapi-ts/maintainers`).
### Reviewing
The incident will be reviewed by all maintainers to determine if a Code of Conduct violation occurred (barring any conflict of interest). As soon as consensus is reached, the reporter will be notified of whether or not a violation occurred, and what the resolution is.
### Resolution
In the case action is needed, it may result in any or all of the following, but not limited to:
- Private or public apology
- Ban from participating in the GitHub organization (including code contributions, and Issue and Discussion comments). This may be temporary or permanent.
- In the case a maintainer violated the Code of Conduct, a ban includes stripping of their elected title and all access from the project.
- A community Discussion post notifying the rest of the community of the action taken (though details of the violation may be omitted at the discretion of maintainers to protect personal information of any involved parties).
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2020 Drew Powers
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: MAINTAINERS.md
================================================
# Maintainers
Additional criteria on top of the base [CONTRIBUTING.md](CONTRIBUTING.md) guidelines, this is meant to serve as a basic guide to how this project has reviewed PRs, accepted or rejected changes, and related topics.
## Project North Star
The project’s #1 goal is **generate valid TypeScript for any OpenAPI schema**—emphasis on “any.” We should be able to express any valid OpenAPI document as type-safe TypeScript definition files.
This project also _did_ historically value **zero runtime**, in the belief that a fast, performant library is a good developer experience. But after the `openapi-fetch` experiment, learned that maybe **some runtime** is OK. As of the time of writing this, “zero runtime” is still in the docs everywhere almost like a tagline. But if we’re really splitting hairs here, it’s really **all runtime costs are justified** that is the _true_ goal (but that’s not as pithy). Historically we just haven’t been able to justify any runtime costs. But if that decision arose in the future, runtime is OK if it’s necessary and there are no alternatives.
## Reviewing
Keeping the North Star in mind, here’s the necessary criteria for a PR:
- **Tests written.** No exceptions. They make a change, they MUST write a test.
- Be skeptical of PRs that ONLY alter existing tests! They may have taken away the only proof their change is backwards-compatible if the previous tests that failed now pass. Ideally _net-new_ tests are ALWAYS added, even for bugfixes, because preexisting tests weren’t written with this new PR in mind.
- **Changeset applied.** We need authors to write a changeset. However, in case of emergency, or the author has dropped off the face of the earth, we can update changelogs ourselves, but at least prompt the author to add one themselves (also, changesets gives them credit automatically, so it’s less work for us if the changeset merges in the same PR as the original author, otherwise manual edits are needed).
And lastly, if it’s backwards-compatible, perhaps give less scrutiny over it than if output is greatly-affected.
### Breaking changes & backwards-compatibility
This is where reviews get harder. If a PR does introduce breaking changes, it’s up to you to determine whether or not folks would see this as a bugfix or not. A general rule of thumb:
- It might be a `patch` if the output is higher resolution, i.e. provides more type detail that was missing previously.
- It might be a `major` release if the example changes are thousands and thousands of lines (and the changes are complex and layered).
- It might be a `major` release if the output seems laterally-different, such as replacing `|` for `&`.
There’s more subjectivity to it than one realizes. In general, try and estimate how many people _may_ be impacted. Use the OpenAPI example specs as a reference—you can at least see how much it changes the output for a handful of real-world scenarios. Try and wait to ship sweeping, high-impact changes for major releases if at all possible.
### Breaking changes in disguise
[Here’s an example of a PR](https://github.com/openapi-ts/openapi-typescript/pull/2608) that on the surface seems to meet all criteria, but is actually risky to merge (this is not a criticism of the author! they did a great job and this is solely commentary on this library):
- Good, clear PR description
- Good, clear tests
- All existing tests pass, so it _seems_ like a backwards-compatible change
- The `examples/` changed (GitHub API, etc.) don’t change _that much_
However, it touches on the [intersections vs unions debacle](#intersections-vs-unions-debacle) and based on historic precedent requires more scrutiny. In reality, [every change breaks someone’s workflow](https://xkcd.com/1172/). So even though this change is minor, **this should probably be slated for a major release if possible.**
## Releasing
The release process is:
1. Contributor adds a `changeset` via the 🦋 **Changeset bot** instructions left in a comment. They’ll pick `patch` or `minor` (we don’t allow contributors to ship major versions)
2. On merge, the `release.yml` GitHub Action runs, and if there are any changes in the `.changeset` folder, it will make a PR and update the versions appropriately (and use the `GITHUB_TOKEN` to see who made the commit, and what the original PR was, so the CHANGELOG notes are automatically updated)
3. It will open a `[ci] Release` PR with the changes to review.
This is where you come in! With that PR:
1. [ ] **Review the libraries and changes.** Does the changelog accurately reflect the real changes? Is a library bumped that had no changes (e.g. did someone accidentally write a changeset just for docs)?
2. [ ] **Check for accidental major bumps.** Changesets has [a wontfix bug](https://github.com/changesets/changesets/issues/1011) where they bump major versions willy-nilly. They’ve tried to explain it and justify it, but I strongly disagree. I also don’t have time to switch from changesets. In a single-library world, this shouldn’t matter as much, but in a multi-library monorepo we’d have to check for this every release 😞
3. [ ] (Optional) **Update changelog if needed.** Some PRs may have skipped changelog. If a maintainer added a changelog for a contributor, make sure the contributor gets credit in the changelog. Maybe the changelog has typos. Changesets is only helping with **generation.** As a maintainer you have full authority to manually correct the changelog if needed (that’s why we have these review PRs—to make corrections as part of the process).
If everything looks good, ✅ Approve and merge! The packages will be released as soon as the `release.yml` GitHub Action runs (it’s triggered from the changes to `package.json`s, so if you ever needed to manually release, any commit on `main` with version bumps will publish a new release, regardless of CHANGELOGs).
### Versioning
This project follows generic semver:
- **major** for breaking changes
- **minor** for new functionality (new flag)
- **patch** for bugfixes or minor updates (generally-speaking, if output improves but no options are added, this is probably a patch).
For 0.x projects (which, again, no longer apply), we’d switch to use `patch` for any **backwards-compatible change** and `minor` for all **breaking changes** (i.e. disregard feature vs bug).
## History
Notable timeline events that can save some churn.
### 2.0 and the switch to literal translation
v1 of this library tried to convert everything to PascalCase, but that blows up if a name isn’t a valid JS identifier (e.g. it can’t start with a number, contain dashes, etc.). v2 rewrote to allow object keys instead, which in TypeScript does require the annoying-but-necessary `components["schemas"]["foo"]["bar"]` syntax.
The PR change has a summary here: https://github.com/openapi-ts/openapi-typescript/pull/178.
This is relevant because folks still request this, and we’ve allowed different flags over time, such as `--root-type` (v7). But it always explodes into more and more options because folks want to customize, such as `--root-types-keep-casing`, `--root-types-no-schema-prefix`.
If there’s one takeaway I can take from this it’s no matter what you do, you can’t make everyone happy. But if people are only requesting **aesthetic** changes then you’ve done a good job. You don’t have to entertain aesthetic suggestions if they’re unblocked (in fact I’d recommend you don’t).
### Intersections vs Unions debacle
TypeScript intersections are the bane of this library. Though reading these aren’t required, here is a list of some issues where a simple `|` or `&` does not do what one would think:
- [#894](https://github.com/openapi-ts/openapi-typescript/issues/894): anyOf should not result in intersection type
- [#958](https://github.com/openapi-ts/openapi-typescript/issues/958): Generates `& { property: unknown; }` with `allOf` union
- [#1077](https://github.com/openapi-ts/openapi-typescript/issues/1077): The generated `OneOf` type can cause issues for large files
- [#1019](https://github.com/openapi-ts/openapi-typescript/issues/1019): Use of `OneOf` type causing upcasting to any
The tricky part is with all these seemingly-unrelated problems, making one tiny change here may solve for one case and break another. At the center of it is the issue that `|` is NOT a strict XOR discriminator, and in some scenarios almost behaves like `&` does. The TL;DR here is **test, test, test.** Treat the generated type as meaningless. Instead, [go into a TypeScript playground](https://www.typescriptlang.org/play/), and test that a structure throws the errors you’d want to see. [Write type tests](https://vitest.dev/guide/testing-types.html) to prevent tricky regressions.
### openapi-fetch
In 2023 we added openapi-fetch to the project, which was designed to be a type-safe wrapper for `fetch()`. The original idea was: it’s just `fetch()`, with TypeScript flavorings. But as projects are wont to do, the little additions for the sake of quality-of-life crept in, because users really need:
- The ability to control serialization. If you have `{ users: [1, 2, 3] }`, how does the server want that? [simple exploded](https://swagger.io/docs/specification/v3_0/serialization/)? [matrix unexploded](https://swagger.io/docs/specification/v3_0/serialization/)?
- The ability to set defaults. If an OpenAPI spec has a required param but provides a default, how can a user avoid copy/pasting that everywhere?
- File uploads. This was particularly tricky to do in a type-safe way.
Not to mention this library required changes to `openapi-typescript` core to generate the necessary types to make it possible. It resulted in learning the following lessons:
- **Pure `.d.ts`-only fetch clients are not valuable.** We’re talking _pure_-pure, which was what openapi-fetch was. There was no codegen, and it had zero runtime knowledge of your schema. Folks found this to be usable for simple cases, but inevitably as their project grew they did want an SDK that saved them from duplicating code.
- **Bad SDKs are still bad, though.** swagger-codegen and the like, generating a net-new function that just copy-pastes everything, is still a bad experience. openapi-fetch was ~3kb minified! Some bad SDKs can be 0.25MB-0.5MB or more in real-world cases. Half a megabyte of wasteful boilerplate. So there’s a balance her!
- **Performance isn’t a major concern.** Even though openapi-fetch was significantly faster than axios, etc. no one seemed to care. Users wanted type safety, not speed.
### 2026 Roadmap
The [2026 roadmap post](https://github.com/openapi-ts/openapi-typescript/discussions/2559) deprecated openapi-fetch and all other non-core projects to focus efforts. This turned the originally-single-library-project-turned-multi-library-monorepo back into the single project library again. This reduction in scope was necessary after 2025 not producing many significant changes or improvements to the core libraries, and open issues slowly ticking up with the number of comments. The general consensus was that `openapi-typescript` is well-liked but slowly falling behind, and the other libraries weren’t quite meeting the quality bar.
Since we can’t magically conjure more resources and time, we had to make the hard choice of deprecating everything but `openapi-typescript` so we can have one great library instead of several mediocre/buggy ones.
================================================
FILE: README.md
================================================
# openapi-typescript
Tools for consuming OpenAPI schemas in TypeScript.
## 📦 Packages
<a href="./packages/openapi-typescript"><img src="./docs/public/assets/openapi-ts.svg" alt="openapi-typescript" width="200" height="40" /><br />
Generate TypeScript types from static OpenAPI schemas
</a>
<a href="./packages/openapi-fetch"><img src="./docs/public/assets/openapi-fetch.svg" alt="openapi-fetch" width="216" height="40" /><br />
Ultra-fast fetching for TypeScript generated automatically from your OpenAPI schema.
</a>
## ⭐ Sponsors
### 🥇 Gold Sponsors
<p align="center">
<a href="https://zuplo.link/openapi-ts-gh"><img width="288" height="120" alt="Zuplo" src="./docs/public/assets/zuplo.svg"></a>
<a href="https://www.speakeasy.com/editor?utm_source=pow_openapi_ts" target="_blank"><img width="288" height="120" src="./docs/public/assets/speakeasy.png" /></a>
</p>
### 🥈 Silver Sponsors
<p align="center"><a href="https://github.com/nanabit-inc"><img width="128" height="128" alt="nanabit" src="https://avatars.githubusercontent.com/u/154126976?s=200&v=4"></a></p>
### Backers
<p align="center">
<a href="https://github.com/customerio"><img width="64" height="64" alt="@customerio on GitHub" src="https://avatars.githubusercontent.com/u/1152079?s=200&v=4"></a>
<a href="https://github.com/shaunpersad"><img width="64" height="64" alt="@shaunpersad on GitHub" src="https://avatars.githubusercontent.com/u/1702976?s=52&v=4"></a>
<a href="https://github.com/yoshi2no"><img width="64" height="64" alt="@yoshi2no on GitHub" src="https://avatars.githubusercontent.com/u/57059705?v=4"></a>
<a href="https://github.com/siketyan"><img width="64" height="64" alt="@siketyan on GitHub" src="https://avatars.githubusercontent.com/u/12772118?v=4"></a>
</p>
Become a sponsor by supporting this project on [OpenCollective](https://opencollective.com/openapi-ts)!
<a href="https://opencollective.com/openapi-ts/donate" target="_blank">
<img src="https://opencollective.com/openapi-ts/donate/button@2x.png?color=blue" width="300" />
</a>
## 🤝 Contributing
Contributions are appreciated and welcome! See the appropriate guide for each package:
- [Contributing to openapi-typescript](./packages/openapi-typescript/CONTRIBUTING.md)
- [Contributing to openapi-fetch](./packages/openapi-fetch/CONTRIBUTING.md)
- [Contributing to docs](./docs/CONTRIBUTING.md)
## ♥️ Thanks
- Thanks to [the Project Sponsors](#-sponsors) for keeping this project going!
- Thanks to [dozens of lovely, smart contributors](https://github.com/openapi-ts/openapi-typescript/graphs/contributors) that made this library possible
- Thanks to [Vitepress](https://vitepress.dev/) for the docs site
- Thanks to [Cloudflare Pages](https://pages.cloudflare.com/) for docs site hosting
- Thanks to [Algolia](https://www.algolia.com/) for the docs site search
================================================
FILE: biome.json
================================================
{
"$schema": "https://biomejs.dev/schemas/2.3.14/schema.json",
"root": true,
"files": {
"includes": ["**", "!**/dist", "!**/package.json"]
},
"assist": {
"enabled": true,
"actions": {
"source": {
"organizeImports": "on"
}
}
},
"formatter": {
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 120
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"complexity": {
"noExcessiveNestedTestSuites": "off",
"useArrowFunction": "off"
},
"suspicious": {
"noConsole": "error",
"noExplicitAny": "off"
},
"style": {
"noUselessElse": "off",
"useBlockStatements": "error"
}
}
}
}
================================================
FILE: docs/.gitignore
================================================
.vitepress/cache
.vitepress/dist
================================================
FILE: docs/.vitepress/config.ts
================================================
import { defineConfig } from "vitepress";
import en from "./en";
import zh from "./zh";
import ja from "./ja";
import shared from "./shared";
// https://vitepress.dev/reference/site-config
export default defineConfig({
...shared,
locales: {
root: { label: "English", ...en },
zh: { label: "简体中文", ...zh },
ja: { label: "日本語", ...ja },
},
});
================================================
FILE: docs/.vitepress/en.ts
================================================
import { defineConfig } from "vitepress";
import sharedConfig from "./shared";
export default defineConfig({
description: "Consume OpenAPI 3.0 & 3.1 schemas in TypeScript",
themeConfig: {
nav: [
{
text: "Version",
items: [
{ text: "7.x", link: "/introduction" },
{ text: "6.x", link: "/6.x/introduction" },
],
},
],
sidebar: {
// 6.x docs
"/6.x/": [
{
text: "openapi-typescript (6.x)",
items: [
{ text: "Introduction", link: "/6.x/introduction" },
{ text: "CLI", link: "/6.x/cli" },
{ text: "Node.js API", link: "/6.x/node" },
{ text: "Advanced", link: "/6.x/advanced" },
{ text: "About", link: "/6.x/about" },
],
},
{
text: "openapi-fetch",
items: [
{ text: "Getting Started", link: "/openapi-fetch/" },
{
text: "Middleware & Auth",
link: "/openapi-fetch/middleware-auth",
},
{ text: "Testing", link: "/openapi-fetch/testing" },
{ text: "Examples", link: "/openapi-fetch/examples" },
{ text: "API", link: "/openapi-fetch/api" },
],
},
],
// default (7.x) docs
"/": [
{
text: "openapi-typescript (7.x)",
items: [
{ text: "Introduction", link: "/introduction" },
{ text: "CLI", link: "/cli" },
{ text: "Node.js API", link: "/node" },
{ text: "Examples", link: "/examples" },
{ text: "Migrating from 6.x", link: "/migration-guide" },
{ text: "Advanced", link: "/advanced" },
],
},
{
text: "openapi-fetch",
items: [
{ text: "Getting Started", link: "/openapi-fetch/" },
{
text: "Middleware & Auth",
link: "/openapi-fetch/middleware-auth",
},
{ text: "Testing", link: "/openapi-fetch/testing" },
{ text: "Examples", link: "/openapi-fetch/examples" },
{ text: "API", link: "/openapi-fetch/api" },
],
},
{
text: "openapi-react-query",
base: "/openapi-react-query",
items: [
{ text: "Getting Started", link: "/" },
{ text: "useQuery", link: "/use-query" },
{ text: "useMutation", link: "/use-mutation" },
{ text: "useSuspenseQuery", link: "/use-suspense-query" },
{ text: "useInfiniteQuery", link: "/use-infinite-query" },
{ text: "queryOptions", link: "/query-options" },
],
},
{ text: "About", link: "/about" },
],
},
search: {
provider: "algolia",
options: {
appId: "NA92XVKBVS",
apiKey: "4f3ce9ca7edc3b83c209e6656ab29eb8",
indexName: "openapi-ts",
},
},
socialLinks: [
{
icon: "github",
link: "https://github.com/openapi-ts/openapi-typescript",
},
],
footer: {
message:
'Released under the <a href="https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/LICENSE">MIT License</a>. Powered by <a href="https://netlify.com">Netlify</a>.',
},
},
});
================================================
FILE: docs/.vitepress/ja.ts
================================================
import { defineConfig, type DefaultTheme } from "vitepress";
export default defineConfig({
lang: "ja",
description: "OpenAPI 3.0および3.1のスキーマをTypeScriptで使用する方法。",
themeConfig: {
nav: [
{
text: "バージョン",
items: [
{ text: "7.x", link: "/ja/introduction" },
{ text: "6.x", link: "/6.x/introduction" },
],
},
],
sidebar: {
"/ja/": [
{
text: "openapi-typescript (7.x)",
items: [
{ text: "イントロダクション", link: "/ja/introduction" },
{ text: "CLI", link: "/ja/cli" },
{ text: "Node.js API", link: "/ja/node" },
{ text: "使用例", link: "/ja/examples" },
{ text: "6.xからのマイグレーション", link: "/ja/migration-guide" },
{ text: "高度な機能", link: "/ja/advanced" },
],
},
{
text: "openapi-fetch",
items: [
{ text: "始める", link: "/ja/openapi-fetch/" },
{
text: "ミドルウェア & 認証",
link: "/ja/openapi-fetch/middleware-auth",
},
{ text: "テスト", link: "/ja/openapi-fetch/testing" },
{ text: "使用例", link: "/ja/openapi-fetch/examples" },
{ text: "API", link: "/ja/openapi-fetch/api" },
],
},
{
text: "openapi-react-query",
items: [
{ text: "始める", link: "/ja/openapi-react-query/" },
{ text: "useQuery", link: "/ja/openapi-react-query/use-query" },
{ text: "useMutation", link: "/ja/openapi-react-query/use-mutation" },
{ text: "useSuspenseQuery", link: "/ja/openapi-react-query/use-suspense-query" },
],
},
],
},
docFooter: {
prev: "前のページ",
next: "次のページ",
},
outline: {
label: "目次",
},
sidebarMenuLabel: "メニュー",
returnToTopLabel: "最上部に戻る",
footer: {
message:
'<a href="https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/LICENSE">MITライセンス</a> に基づいて配布されています。',
},
},
});
export const jaSearch: DefaultTheme.AlgoliaSearchOptions["locales"] = {
ja: {
placeholder: "ドキュメントを検索",
translations: {
button: {
buttonText: "検索",
buttonAriaLabel: "検索",
},
modal: {
searchBox: {
resetButtonTitle: "クエリをクリア",
resetButtonAriaLabel: "クエリをクリア",
cancelButtonText: "キャンセル",
cancelButtonAriaLabel: "キャンセル",
},
startScreen: {
recentSearchesTitle: "最近の検索",
noRecentSearchesText: "最近の検索履歴はありません",
saveRecentSearchButtonTitle: "最近の検索に保存",
removeRecentSearchButtonTitle: "最近の検索から削除",
favoriteSearchesTitle: "お気に入り",
removeFavoriteSearchButtonTitle: "お気に入りから削除",
},
errorScreen: {
titleText: "結果を取得できません",
helpText: "ネットワーク接続を確認してください",
},
footer: {
selectText: "選択",
navigateText: "移動",
closeText: "閉じる",
},
noResultsScreen: {
noResultsText: "関連する結果が見つかりません",
suggestedQueryText: "別のクエリを試してみてください",
reportMissingResultsText: "このクエリに結果があるべきだと思いますか?",
reportMissingResultsLinkText: "フィードバックを送信",
},
},
},
},
};
================================================
FILE: docs/.vitepress/shared.ts
================================================
import type { UserConfig, DefaultTheme } from "vitepress";
import { zhSearch } from "./zh";
import { jaSearch } from "./ja";
const HOSTNAME = "https://openapi-ts.dev";
const shared: UserConfig = {
title: "OpenAPI TypeScript",
cleanUrls: true,
srcExclude: ["**/*/CONTRIBUTRING.md", "**/*/README.md"],
ignoreDeadLinks: [/CODE_OF_CONDUCT/],
head: [
["link", { rel: "shortcut icon", href: "/favicon.svg", type: "image/svg" }],
[
"script",
{
defer: "",
src: "https://static.cloudflareinsights.com/beacon.min.js",
"data-cf-beacon": '{"token": "a2adac3f69344a25a38525e84400dd6c"}',
},
],
],
sitemap: {
hostname: HOSTNAME,
},
themeConfig: {
siteTitle: false,
logo: "/assets/openapi-ts.svg",
outline: "deep",
search: {
provider: "algolia",
options: {
appId: "NA92XVKBVS",
apiKey: "4f3ce9ca7edc3b83c209e6656ab29eb8",
indexName: "openapi-ts",
locales: { ...zhSearch, ...jaSearch },
},
},
socialLinks: [
{
icon: {
svg: '<svg fill="#202020" viewBox="0 0 16 16" height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path fill-opacity=".4" d="M12.995 8.195c0 .937-.312 1.912-.78 2.693l1.99 1.99c.976-1.327 1.6-2.966 1.6-4.683 0-1.795-.624-3.434-1.561-4.76l-2.068 2.028c.468.781.78 1.679.78 2.732z"></path><path d="M8 13.151a4.995 4.995 0 1 1 0-9.99c1.015 0 1.951.273 2.732.82l1.95-2.03a7.805 7.805 0 1 0 .04 12.449l-1.951-2.03a5.07 5.07 0 0 1-2.732.781z"></path></svg>',
},
link: "https://opencollective.com/openapi-ts",
},
{ icon: "github", link: "https://github.com/openapi-ts/openapi-typescript" },
],
} satisfies DefaultTheme.Config,
transformPageData({ relativePath, frontmatter }) {
frontmatter.head ??= [];
frontmatter.head.push([
"link",
{ rel: "canonical", href: `${HOSTNAME}/${relativePath.replace(/(index\.md|\.md)$/, "")}` },
]);
},
};
export default shared;
================================================
FILE: docs/.vitepress/theme/Contributors.vue
================================================
<script setup lang="ts">
defineProps<{
contributors: {
username: string;
avatar: string;
links: { icon: string; link: string }[];
title?: string;
}[];
}>();
</script>
<style scoped>
.contributor-list {
gap: 0.75rem;
display: flex;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
}
.contributor-list li {
border-radius: 50%;
margin: 0;
overflow: hidden;
padding: 0;
}
.contributor-avatar {
display: block;
height: 3rem;
width: 3rem;
}
</style>
<template>
<ul class="contributor-list">
<li v-for="contributor in contributors" :key="contributor.username">
<a :href="contributor.links[0].link" :title="contributor.name">
<img class="contributor-avatar" width="48" height="48" :src="contributor.avatar" :alt="contributor.name" />
</a>
</li>
</ul>
</template>
================================================
FILE: docs/.vitepress/theme/CustomLayout.vue
================================================
<script setup>
import DefaultTheme from "vitepress/theme";
import sponsors from "../../data/sponsors.json";
const { Layout } = DefaultTheme;
</script>
<template>
<Layout>
<!-- Gold sponsor banner -->
<template #layout-top
><a
class="banner"
href="https://zuplo.link/openapi-ts-web"
target="_blank"
>
<svg
class="banner-logo"
xmlns="http://www.w3.org/2000/svg"
aria-role="img"
aria-title="Zuplo"
fill="#ff00bd"
viewBox="0 0 147 33"
>
<path
d="M27.142 19.978H16.62L27.83 8.746a.758.758 0 0 0-.534-1.293H9.488V0h19.534a7.573 7.573 0 0 1 4.065 1.125 7.591 7.591 0 0 1 2.836 3.126 7.402 7.402 0 0 1-1.461 8.398l-7.32 7.328z"
></path>
<path
d="M9.489 11.042h10.524l-11.19 11.21a.772.772 0 0 0 .543 1.316h17.759v7.452H7.61a7.574 7.574 0 0 1-4.065-1.125A7.593 7.593 0 0 1 .71 26.768a7.403 7.403 0 0 1 1.462-8.397zm73.297 5.728c0 2.657-1.034 4.283-3.46 4.244-2.227-.04-3.38-1.666-3.38-4.283V6.696h-5.488v10.43c0 5.038 3.142 8.607 8.868 8.647 5.25.04 8.948-3.807 8.948-8.606V6.697h-5.488zm53.306-10.512c-5.925 0-10.098 4.204-10.098 9.757 0 5.552 4.175 9.756 10.098 9.756 5.923 0 10.099-4.204 10.099-9.756 0-5.553-4.173-9.757-10.099-9.757m0 14.794c-2.744 0-4.69-2.063-4.69-5.037 0-2.975 1.948-5.038 4.69-5.038 2.743 0 4.691 2.063 4.691 5.038 0 2.974-1.947 5.037-4.691 5.037M101.966 6.258c-5.926 0-10.099 4.204-10.099 9.757 0 .073.009.144.01.22h-.01v15.772h5.408V24.75a10.911 10.911 0 0 0 4.691 1.02c5.926 0 10.099-4.204 10.099-9.756 0-5.553-4.173-9.756-10.099-9.756m0 14.794c-2.744 0-4.69-2.063-4.69-5.037 0-2.975 1.948-5.038 4.69-5.038 2.742 0 4.691 2.063 4.691 5.038 0 2.974-1.947 5.037-4.691 5.037M49.868 11.41h10.814l-10.814 8.452v5.473h17.514v-4.716h-10.84l10.84-8.473V6.694H49.868zm74.501 13.925h-1.831a7.462 7.462 0 0 1-5.262-2.177 7.421 7.421 0 0 1-2.183-5.248V.005h5.518V17.91a1.927 1.927 0 0 0 1.927 1.921h1.831z"
></path>
</svg>
<span>
Sponsored by Zuplo<span class="banner-mobile"
>, a managed API platform powered by OpenAPI</span
>
</span>
<span class="banner-pseudo-link">Start Free →</span>
</a></template
>
<!-- Sidebar sponsors -->
<template #sidebar-nav-after>
<div class="sidenav-sponsors">
<h5>Gold Sponsors</h5>
<ul class="sponsor-list sponsor-list--gold">
<li v-for="sponsor in sponsors.gold" :key="sponsor.name">
<a :href="sponsor.url" target="_blank" :title="sponsor.name">
<img :src="sponsor.logo" :alt="sponsor.description" />
</a>
</li>
</ul>
<h5>Silver Sponsors</h5>
<ul class="sponsor-list sponsor-list--silver">
<li v-for="sponsor in sponsors.silver" :key="sponsor.name">
<a :href="sponsor.url" target="_blank" :title="sponsor.name">
<img :src="sponsor.logo" :alt="sponsor.description" />
</a>
</li>
</ul>
<p class="sidebar-hosting">
Powered by <a href="https://netlify.com">Netlify</a>
</p>
</div>
</template>
</Layout>
</template>
<style scoped>
.banner {
--zuplo-brand: #ff00bd;
background-color: var(--vp-c-bg);
border-bottom: 1px solid var(--vp-c-divider);
color: inherit;
display: flex;
font-size: var(--banner-font-size);
font-weight: 500;
gap: var(--banner-gap);
height: var(--banner-height);
line-height: 1;
justify-content: center;
align-items: center;
min-height: 1rem;
padding-left: 1.5rem;
padding-right: 1.5rem;
position: fixed;
top: 0;
left: 0;
width: 100%;
text-decoration: none;
z-index: 100;
}
.banner-logo {
line-height: 1;
height: calc(0.4375 * var(--banner-height));
min-height: calc(0.4375 * var(--banner-height));
min-width: 3.5rem;
width: auto;
}
.banner-mobile {
display: none;
}
@media (width >= 720px) {
.banner-mobile {
display: inline;
}
}
.banner-pseudo-link {
background-color: var(--zuplo-brand);
border-radius: 0.375rem;
color: #fff;
display: inline-flex;
font-size: 0.875em;
font-weight: 600;
line-height: calc(0.625 * var(--banner-height));
padding: 0 0.75em;
white-space: nowrap;
}
.sidenav-sponsors h5 {
color: var(--vp-c-text-2);
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.0625em;
text-transform: uppercase;
}
.sidenav-sponsors ul {
display: flex;
flex-wrap: wrap;
gap: 1.25rem;
list-style: none;
margin: 1rem 0;
padding: 0;
}
.sponsor-list--gold {
img {
height: auto;
width: 100%;
}
}
.sponsor-list--silver img {
height: 3rem;
width: auto;
}
.sidebar-hosting {
color: var(--vp-c-text-3);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 0.0625em;
margin-block-start: 2rem;
text-transform: uppercase;
a {
color: var(--vp-c-brand-1);
text-decoration: underline;
&:hover,
&:focus-visible {
color: var(--vp-c-brand-2);
}
}
}
</style>
<style>
:root {
--banner-gap: 1.5rem;
--banner-height: 2.25rem;
--banner-font-size: 0.875rem;
--vp-layout-top-height: var(
--banner-height
); /* Vitepress’ variable that allows for banners */
}
@media (width >= 720px) {
:root {
--banner-gap: 2rem;
}
}
@media (width >= 1200px) {
:root {
--banner-gap: 2.5rem;
--banner-height: 2.5rem;
--banner-font-size: 1rem;
}
}
/** tighten up nav a scootch */
.Layout {
--vp-nav-height: 56px;
}
</style>
================================================
FILE: docs/.vitepress/theme/SponsorList.vue
================================================
<script setup>
import sponsors from "../../data/sponsors.json";
</script>
<template>
<ul class="sponsors-list">
<li
v-for="sponsor in sponsors.gold"
class="sponsor sponsor--gold"
:key="sponsor.name"
>
<a :href="sponsor.url" target="_blank" :title="sponsor.name">
<img :src="sponsor.logo" :alt="sponsor.description" />
</a>
</li>
</ul>
<ul class="sponsors-list">
<li
v-for="sponsor in sponsors.silver"
class="sponsor sponsor--silver"
:key="sponsor.name"
>
<a :href="sponsor.url" target="_blank" :title="sponsor.name">
<img :src="sponsor.logo" :alt="sponsor.description" />
</a>
</li>
</ul>
</template>
<style scoped>
.sponsors-list {
align-items: center;
display: flex;
flex-wrap: wrap;
list-style: none;
justify-content: center;
gap: 1.5rem;
margin: 0 auto 3rem;
padding: 0;
}
.sponsor--gold img {
height: 8rem;
width: auto;
}
.sponsor--silver img {
height: 3rem;
width: auto;
}
.sponsors-list li {
margin: 0;
padding: 0;
}
</style>
================================================
FILE: docs/.vitepress/theme/index.ts
================================================
// https://vitepress.dev/guide/custom-theme
import type { Theme } from "vitepress";
import DefaultTheme from "vitepress/theme";
import CustomLayout from "./CustomLayout.vue";
import SponsorList from "./SponsorList.vue";
import "./style.css";
export default {
extends: DefaultTheme,
Layout: CustomLayout,
enhanceApp({ app, router, siteData }) {
app.component("SponsorList", SponsorList);
},
} satisfies Theme;
================================================
FILE: docs/.vitepress/theme/style.css
================================================
/**
* Customize default theme styling by overriding CSS variables:
* https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
*/
/**
* Fonts
*/
@font-face {
font-family: "Inter";
font-style: normal;
font-display: swap;
src: url("/assets/InterVariable.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-display: swap;
src: url("/assets/InterVariable-Italic.woff2") format("woff2");
}
@font-face {
font-family: "Geist Mono";
src: url("/assets/GeistMonoVariableVF.woff2") format("woff2");
}
:root {
--vp-font-family-base: "Chinese Quotes", "Inter", ui-sans-serif, system-ui,
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--vp-font-family-mono: ui-monospace, "Geist Mono", SFMono-Regular, "SF Mono",
Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
/**
* Colors
*
* Each colors have exact same color scale system with 3 levels of solid
* colors with different brightness, and 1 soft color.
*
* - `XXX-1`: The most solid color used mainly for colored text. It must
* satisfy the contrast ratio against when used on top of `XXX-soft`.
*
* - `XXX-2`: The color used mainly for hover state of the button.
*
* - `XXX-3`: The color for solid background, such as bg color of the button.
* It must satisfy the contrast ratio with pure white (#ffffff) text on
* top of it.
*
* - `XXX-soft`: The color used for subtle background such as custom container
* or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
* on top of it.
*
* The soft color must be semi transparent alpha channel. This is crucial
* because it allows adding multiple "soft" colors on top of each other
* to create a accent, such as when having inline code block inside
* custom containers.
*
* - `default`: The color used purely for subtle indication without any
* special meanings attched to it such as bg color for menu hover state.
*
* - `brand`: Used for primary brand colors, such as link text, button with
* brand theme, etc.
*
* - `tip`: Used to indicate useful information. The default theme uses the
* brand color for this by default.
*
* - `warning`: Used to indicate warning to the users. Used in custom
* container, badges, etc.
*
* - `danger`: Used to show error, or dangerous message to the users. Used
* in custom container, badges, etc.
* -------------------------------------------------------------------------- */
:root {
--vp-c-default-1: var(--vp-c-gray-1);
--vp-c-default-2: var(--vp-c-gray-2);
--vp-c-default-3: var(--vp-c-gray-3);
--vp-c-default-soft: var(--vp-c-gray-soft);
--vp-c-brand-1: oklch(0.6 0.21 260);
--vp-c-brand-2: oklch(0.4 0.16 260);
--vp-c-brand-3: oklch(0.5 0.2 260);
--vp-c-brand-soft: oklch(0.6 0.21 260/0.1);
--vp-c-tip-1: var(--vp-c-brand-1);
--vp-c-tip-2: var(--vp-c-brand-2);
--vp-c-tip-3: var(--vp-c-brand-3);
--vp-c-tip-soft: var(--vp-c-brand-soft);
--vp-c-warning-1: var(--vp-c-yellow-1);
--vp-c-warning-2: var(--vp-c-yellow-2);
--vp-c-warning-3: var(--vp-c-yellow-3);
--vp-c-warning-soft: var(--vp-c-yellow-soft);
--vp-c-danger-1: var(--vp-c-red-1);
--vp-c-danger-2: var(--vp-c-red-2);
--vp-c-danger-3: var(--vp-c-red-3);
--vp-c-danger-soft: var(--vp-c-red-soft);
--vp-code-color: var(--vp-c-text-2);
--vp-c-tip-1: var(--vp-c-text-1);
}
/**
* Base styles
* -------------------------------------------------------------------------- */
pre,
code {
font-variant-ligatures: none;
}
/**
* Component: Button
* -------------------------------------------------------------------------- */
:root {
--vp-button-brand-border: transparent;
--vp-button-brand-text: var(--vp-c-white);
--vp-button-brand-bg: var(--vp-c-brand-3);
--vp-button-brand-hover-border: transparent;
--vp-button-brand-hover-text: var(--vp-c-white);
--vp-button-brand-hover-bg: var(--vp-c-brand-2);
--vp-button-brand-active-border: transparent;
--vp-button-brand-active-text: var(--vp-c-white);
--vp-button-brand-active-bg: var(--vp-c-brand-1);
}
/**
* Component: Home
* -------------------------------------------------------------------------- */
:root {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(
120deg,
var(--vp-c-brand-1) 30%,
var(--vp-c-brand-2)
);
--vp-home-hero-image-background-image: linear-gradient(
-45deg,
var(--vp-c-brand-1) 50%,
var(--vp-c-brand-2)
);
--vp-home-hero-image-filter: blur(44px);
}
@media (min-width: 640px) {
:root {
--vp-home-hero-image-filter: blur(56px);
}
}
@media (min-width: 960px) {
:root {
--vp-home-hero-image-filter: blur(68px);
}
}
/**
* Component: Custom Block
* -------------------------------------------------------------------------- */
:root {
--vp-custom-block-tip-border: transparent;
--vp-custom-block-tip-text: var(--vp-c-text-1);
--vp-custom-block-tip-bg: var(--vp-c-brand-soft);
--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
}
/**
* Component: Algolia
* -------------------------------------------------------------------------- */
.DocSearch {
--docsearch-primary-color: var(--vp-c-brand-1) !important;
}
/**
* Component: Homepage logos
* -------------------------------------------------------------------------- */
.home-logo-salad {
display: flex;
flex-direction: column;
justify-content: center;
margin-inline: 2.5rem;
margin-top: 3rem;
text-align: center;
}
.home-logo-salad h3,
.home-sponsor h3 {
color: var(--vp-c-text-3);
font-size: 0.875rem;
font-weight: 600;
letter-spacing: 0.0625em;
margin-bottom: 2rem;
text-transform: uppercase;
}
.home-logo-salad-list {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 2.5rem;
list-style: none;
justify-content: center;
}
.home-logo-salad-list li {
display: flex;
list-style: none;
}
.home-logo-salad-list svg {
fill: var(--vp-c-text-1);
width: auto;
}
.home-sponsor,
.home-sponsor p {
color: var(--vp-c-text-2);
text-align: center;
}
.home-sponsor-list {
margin-block: 4rem;
}
.home-sponsor .donate {
display: inline-block;
}
================================================
FILE: docs/.vitepress/zh.ts
================================================
import { defineConfig, type DefaultTheme } from "vitepress";
export default defineConfig({
lang: "zh-Hans",
description: "在 TypeScript 中使用 OpenAPI 3.0 和 3.1 的模式。",
themeConfig: {
nav: [
{
text: "版本",
items: [
{ text: "7.x", link: "/zh/introduction" },
{ text: "6.x", link: "/6.x/introduction" },
],
},
],
sidebar: {
"/zh/": [
{
text: "openapi-typescript",
items: [
{ text: "介绍", link: "/zh/introduction" },
{ text: "命令行(CLI)", link: "/zh/cli" },
{ text: "Node.js API", link: "/zh/node" },
{ text: "示例", link: "/zh/examples" },
{ text: "高级功能", link: "/zh/advanced" },
],
},
{
text: "openapi-fetch",
items: [
{ text: "快速上手", link: "/zh/openapi-fetch/" },
{
text: "中间件 & 身份认证",
link: "/zh/openapi-fetch/middleware-auth",
},
{ text: "测试", link: "/zh/openapi-fetch/testing" },
{ text: "示例", link: "/zh/openapi-fetch/examples" },
{ text: "API", link: "/zh/openapi-fetch/api" },
],
},
],
},
docFooter: {
prev: "上一页",
next: "下一页",
},
outline: {
label: "页面导航",
},
footer: {
message:
'基于 <a href="https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/LICENSE">MIT</a> 许可发布',
},
},
});
export const zhSearch: DefaultTheme.AlgoliaSearchOptions["locales"] = {
zh: {
placeholder: "搜索文档",
translations: {
button: {
buttonText: "搜索文档",
buttonAriaLabel: "搜索文档",
},
modal: {
searchBox: {
resetButtonTitle: "清除查询条件",
resetButtonAriaLabel: "清除查询条件",
cancelButtonText: "取消",
cancelButtonAriaLabel: "取消",
},
startScreen: {
recentSearchesTitle: "搜索历史",
noRecentSearchesText: "没有搜索历史",
saveRecentSearchButtonTitle: "保存至搜索历史",
removeRecentSearchButtonTitle: "从搜索历史中移除",
favoriteSearchesTitle: "收藏",
removeFavoriteSearchButtonTitle: "从收藏中移除",
},
errorScreen: {
titleText: "无法获取结果",
helpText: "你可能需要检查你的网络连接",
},
footer: {
selectText: "选择",
navigateText: "切换",
closeText: "关闭",
searchByText: "搜索提供者",
},
noResultsScreen: {
noResultsText: "无法找到相关结果",
suggestedQueryText: "你可以尝试查询",
reportMissingResultsText: "你认为该查询应该有结果?",
reportMissingResultsLinkText: "点击反馈",
},
},
},
},
};
================================================
FILE: docs/6.x/about.md
================================================
---
title: About
description: Additional info about this project
---
<script setup>
import { VPTeamMembers } from 'vitepress/theme';
import Contributors from '../.vitepress/theme/Contributors.vue'
import data from '../data/contributors.json';
</script>
# About openapi-typescript
## Used by
- [**Bigcommerce**](https://github.com/bigcommerce/bigcommerce-api-node): Node SDK for the BigCommerce API
- [**Budibase**](https://github.com/Budibase/budibase): low code platform for creating internal tools, workflows, and admin panels
- [**Fedora `fmn`**](https://github.com/fedora-infra/fmn): tools and APIs for Fedora’s messaging infra
- [**Fingerprint**](https://github.com/fingerprintjs/fingerprintjs-pro-server-api-node-sdk): device fingerprinting for high-scale applications
- [**Google Firebase CLI**](https://github.com/firebase/firebase-tools): Official CLI for Google’s Firebase platform
- [**GitHub Octokit**](https://github.com/octokit): Official SDK for the GitHub API
- [**Lotus**](https://github.com/uselotus/lotus): open source pricing & packaging infra
- [**Jitsu**](https://github.com/jitsucom/jitsu): modern, open source data ingestion / data pipelines
- [**Medusa**](https://github.com/medusajs/medusa): building blocks for digital commerce
- [**Netlify**](https://netlify.com): the modern development platform
- [**Nuxt**](https://github.com/unjs/nitro): The Intuitive Vue framework
- [**Relevance AI**](https://github.com/RelevanceAI/relevance-js-sdk): build and deploy AI chains
- [**Revolt**](https://github.com/revoltchat/api): open source user-first chat platform
- [**Spacebar**](https://github.com/spacebarchat): a free, open source, self-hostable Discord-compatible chat/voice/video platform
- [**Supabase**](https://github.com/supabase/supabase): The open source Firebase alternative.
## Project goals
1. Support converting any valid OpenAPI schema to TypeScript types, no matter how complicated.
1. Generated types should be statically-analyzable and runtime-free (with minor exceptions like [enums](https://www.typescriptlang.org/docs/handbook/enums.html).
1. Don’t validate schemas; there are existing libraries for that like [Redocly](https://redocly.com/docs/cli/commands/lint/).
1. Generated types should match your original schema as closely as possible, preserving original capitalization, etc.
1. Typegen only needs Node.js to run (no Java, Python, etc.) and works in any environment.
1. Support fetching OpenAPI schemas from files as well as local and remote servers.
## Differences
### vs. swagger-codegen
openapi-typescript was created specifically to be a lighterweight, easier-to-use alternative to swagger-codegen that doesn’t require the Java runtime or running an OpenAPI server. Nor does it generate heavyweight clientside code. In fact, all the code openapi-typescript generates is **runtime free static types** for maximum performance and minimum client weight.
### vs. openapi-typescript-codegen
These 2 projects are unrelated. openapi-typescript-codegen is a Node.js alternative to the original swagger-codegen, but ends up being the same in practice. openapi-typescript has the same advantage of being **runtime free** whereas openapi-typescript-codegen can generate some pretty heavy bundles, up to `250 kB` or more depending on the schema complexity.
### vs. tRPC
[tRPC](https://trpc.io/) is an opinionated type-safe framework for both server and client. It demands both your server and client be written in tRPC (which means Node.js for the backend).
If you fit into this usecase, it’s a great experience! But for everyone else, openapi-typescript (and openapi-fetch) is a more flexible, lower-level solution that can work for any technology choice (or even be incrementally-adopted without any cost).
## Maintainers
This library is currently maintained by these amazing individuals:
<VPTeamMembers size="small" :members="data.maintainers" />
## Contributors
And thanks to 100+ amazing contributors, without whom these projects wouldn’t be possible:
<Contributors :contributors="data.contributors" />
================================================
FILE: docs/6.x/advanced.md
================================================
---
title: Advanced
description: Advanced usage as well as tips, tricks, and best practices
---
# Advanced usage
Advanced usage and various topics.
## Data fetching
Fetching data can be done simply and safely using an **automatically-typed fetch wrapper**:
- [openapi-fetch](/openapi-fetch/) (recommended)
- [openapi-typescript-fetch](https://www.npmjs.com/package/openapi-typescript-fetch) by [@ajaishankar](https://github.com/ajaishankar)
::: tip
A good fetch wrapper should **never use generics.** Generics require more typing and can hide errors!
:::
## Testing
One of the most common causes of false positive tests is when mocks are out-of-date with the actual API responses.
`openapi-typescript` offers a fantastic way to guard against this with minimal effort. Here’s one example how you could write your own helper function to typecheck all mocks to match your OpenAPI schema (we’ll use [vitest](https://vitest.dev/)/[vitest-fetch-mock](https://www.npmjs.com/package/vitest-fetch-mock) but the same principle could work for any setup):
Let’s say we want to write our mocks in the following object structure, so we can mock multiple endpoints at once:
```
{
[pathname]: {
[HTTP method]: { status: [status], body: { …[some mock data] } };
}
}
```
Using our generated types we can then infer **the correct data shape** for any given path + HTTP method + status code. An example test would look like this:
::: code-group
```ts [my-test.test.ts]
import { mockResponses } from "../test/utils";
describe("My API test", () => {
it("mocks correctly", async () => {
mockResponses({
"/users/{user_id}": {
// ✅ Correct 200 response
get: { status: 200, body: { id: "user-id", name: "User Name" } },
// ✅ Correct 403 response
delete: { status: 403, body: { code: "403", message: "Unauthorized" } },
},
"/users": {
// ✅ Correct 201 response
put: { 201: { status: "success" } },
},
});
// test 1: GET /users/{user_id}: 200
await fetch("/users/user-123");
// test 2: DELETE /users/{user_id}: 403
await fetch("/users/user-123", { method: "DELETE" });
// test 3: PUT /users: 200
await fetch("/users", {
method: "PUT",
body: JSON.stringify({ id: "new-user", name: "New User" }),
});
// test cleanup
fetchMock.resetMocks();
});
});
```
:::
_Note: this example uses a vanilla `fetch()` function, but any fetch wrapper—including [openapi-fetch](/openapi-fetch/)—could be dropped in instead without any changes._
And the magic that produces this would live in a `test/utils.ts` file that can be copy + pasted where desired (hidden for simplicity):
<details>
<summary>📄 <strong>test/utils.ts</strong></summary>
::: code-group
```ts [test/utils.ts]
import type { paths } from "./api/v1"; // generated by openapi-typescript
// Settings
// ⚠️ Important: change this! This prefixes all URLs
const BASE_URL = "https://myapi.com/v1";
// End Settings
// type helpers — ignore these; these just make TS lookups better
type FilterKeys<Obj, Matchers> = {
[K in keyof Obj]: K extends Matchers ? Obj[K] : never;
}[keyof Obj];
type PathResponses<T> = T extends { responses: any } ? T["responses"] : unknown;
type OperationContent<T> = T extends { content: any } ? T["content"] : unknown;
type MediaType = `${string}/${string}`;
type MockedResponse<T, Status extends keyof T = keyof T> =
FilterKeys<OperationContent<T[Status]>, MediaType> extends never
? { status: Status; body?: never }
: {
status: Status;
body: FilterKeys<OperationContent<T[Status]>, MediaType>;
};
/**
* Mock fetch() calls and type against OpenAPI schema
*/
export function mockResponses(responses: {
[Path in keyof Partial<paths>]: {
[Method in keyof Partial<paths[Path]>]: MockedResponse<
PathResponses<paths[Path][Method]>
>;
};
}) {
fetchMock.mockResponse((req) => {
const mockedPath = findPath(
req.url.replace(BASE_URL, ""),
Object.keys(responses)
)!;
// note: we get lazy with the types here, because the inference is bad anyway and this has a `void` return signature. The important bit is the parameter signature.
if (!mockedPath || (!responses as any)[mockedPath])
throw new Error(`No mocked response for ${req.url}`); // throw error if response not mocked (remove or modify if you’d like different behavior)
const method = req.method.toLowerCase();
if (!(responses as any)[mockedPath][method])
throw new Error(`${req.method} called but not mocked on ${mockedPath}`); // likewise throw error if other parts of response aren’t mocked
if (!(responses as any)[mockedPath][method]) {
throw new Error(`${req.method} called but not mocked on ${mockedPath}`);
}
const { status, body } = (responses as any)[mockedPath][method];
return { status, body: JSON.stringify(body) };
});
}
// helper function that matches a realistic URL (/users/123) to an OpenAPI path (/users/{user_id}
export function findPath(
actual: string,
testPaths: string[]
): string | undefined {
const url = new URL(
actual,
actual.startsWith("http") ? undefined : "http://testapi.com"
);
const actualParts = url.pathname.split("/");
for (const p of testPaths) {
let matched = true;
const testParts = p.split("/");
if (actualParts.length !== testParts.length) continue; // automatically not a match if lengths differ
for (let i = 0; i < testParts.length; i++) {
if (testParts[i]!.startsWith("{")) continue; // path params ({user_id}) always count as a match
if (actualParts[i] !== testParts[i]) {
matched = false;
break;
}
}
if (matched) return p;
}
}
```
:::
::: info Additional Explanation
That code is quite above is quite a doozy! For the most part, it’s a lot of implementation detail you can ignore. The `mockResponses(…)` function signature is where all the important magic happens—you’ll notice a direct link between this structure and our design. From there, the rest of the code is just making the runtime work as expected.
:::
```ts
export function mockResponses(responses: {
[Path in keyof Partial<paths>]: {
[Method in keyof Partial<paths[Path]>]: MockedResponse<
PathResponses<paths[Path][Method]>
>;
};
});
```
</details>
Now, whenever your schema updates, **all your mock data will be typechecked correctly** 🎉. This is a huge step in ensuring resilient, accurate tests.
## Enum extensions
`x-enum-varnames` can be used to have another enum name for the corresponding value. This is used to define names of the enum items.
`x-enum-descriptions` can be used to provide an individual description for each value. This is used for comments in the code (like javadoc if the target language is java).
`x-enum-descriptions` and `x-enum-varnames` are each expected to be list of items containing the same number of items as enum. The order of the items in the list matters: their position is used to group them together.
Example:
```yaml
ErrorCode:
type: integer
format: int32
enum:
- 100
- 200
- 300
x-enum-varnames:
- Unauthorized
- AccessDenied
- Unknown
x-enum-descriptions:
- "User is not authorized"
- "User has no access to this resource"
- "Something went wrong"
```
Will result in:
```ts
enum ErrorCode {
// User is not authorized
Unauthorized = 100
// User has no access to this resource
AccessDenied = 200
// Something went wrong
Unknown = 300
}
```
Alternatively you can use `x-enumNames` and `x-enumDescriptions` ([NSwag/NJsonSchema](https://github.com/RicoSuter/NJsonSchema/wiki/Enums#enum-names-and-descriptions)).
## Tips
In no particular order, here are a few best practices to make life easier when working with OpenAPI-derived types.
### Embrace `snake_case`
Different languages have different preferred syntax styles. To name a few:
- `snake_case`
- `SCREAMING_SNAKE_CASE`
- `camelCase`
- `PascalCase`
- `kebab-case`
TypeScript, which this library is optimized for, uses mostly `camelCase` with some sprinkles of `PascalCase`(classes) and `SCREAMING_SNAKE_CASE` (constants).
However, APIs are language-agnostic, and may contain a different syntax style from TypeScript (usually indiciative of the language of the backend). It’s not uncommon to encounter `snake_case` in object properties. And so it’s tempting for most JS/TS developers to want to enforce `camelCase` on everything for the sake of consistency. But it’s better to **resist that urge** because in addition to being a timesink, it introduces the following maintenance issues:
- ❌ generated types (like the ones produced by openapi-typescript) now have to be manually typed again
- ❌ renaming has to happen at runtime, which means you’re slowing down your application for an invisible change
- ❌ name transformation utilities have to be built & maintained (and tested!)
- ❌ the API probably needs `snake_case` for requestBodies anyway, so all that work now has to be undone for every API request
Instead, treat “consistency” in a more holistic sense, recognizing that preserving the API schema as-written is better than adhering to language-specific style conventions.
### Enable `noUncheckedIndexedAccess`
[Additional Properties](https://swagger.io/docs/specification/data-models/dictionaries/) (a.k.a. dictionaries) generate a type of `Record<string, T>` in TypeScript. TypeScript’s default behavior is a bit dangerous because it will confidently assert a key is there even if you haven’t checked for it. For that reason it’s **highly recommended** to enable `compilerOptions.noUncheckedIndexedAccess` ([docs](https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess)) so any `additionalProperties` key will be typed as `T | undefined`.
### Be specific in your schema
openapi-typescript will **never produce an `any` type**. Anything not explicated in your schema may as well not exist. For that reason, always be as specific as possible. Here’s how to get the most out of `additionalProperties`:
<table>
<thead>
<tr>
<td style="width:10%"></td>
<th scope="col" style="width:40%">Schema</th>
<th scope="col" style="width:40%">Generated Type</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
❌ Bad
</th>
<td>
```yaml
type: object
```
</td>
<td>
```ts
Record<string, never>;
```
</td>
</tr>
<tr>
<th scope="row">
❌ Less Bad
</th>
<td>
```yaml
type: object
additionalProperties: true
```
</td>
<td>
```ts
Record<string, unknown>;
```
</td>
</tr>
<tr>
<th scope="row">
✅ Best
</th>
<td>
```yaml
type: object
additionalProperties:
type: string
```
</td>
<td>
```ts
Record<string, string>;
```
</td>
</tr>
</tbody>
</table>
When it comes to **tuple types**, you’ll also get better results by representing that type in your schema. Here’s the best way to type out an `[x, y]` coordinate tuple:
<table>
<thead>
<tr>
<td style="width:10%"> </td>
<th scope="col" style="width:40%">Schema</th>
<th scope="col" style="width:40%">Generated Type</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
❌ Bad
</th>
<td>
```yaml
type: array
```
</td>
<td>
```ts
unknown[]
```
</td>
</tr>
<tr>
<th scope="row">
❌ Less Bad
</th>
<td>
```yaml
type: array
items:
type: number
```
</td>
<td>
```ts
number[]
```
</td>
</tr>
<tr>
<th scope="row">
✅ Best
</th>
<td>
```yaml
type: array
items:
type: number
maxItems: 2
minItems: 2
```
— or —
```yaml
type: array
items:
type: number
prefixItems:
- number
- number
```
</td>
<td>
```ts
[number, number];
```
</td>
</tr>
</tbody>
</table>
### Use `$defs` only in object types
[JSONSchema $defs](https://json-schema.org/understanding-json-schema/structuring.html#defs) can be used to provide sub-schema definitions anywhere. However, these won’t always convert cleanly to TypeScript. For example, this works:
```yaml
components:
schemas:
DefType:
type: object # ✅ `type: "object"` is OK to define $defs on
$defs:
myDefType:
type: string
MyType:
type: object
properties:
myType:
$ref: "#/components/schemas/DefType/$defs/myDefType"
```
This will transform into the following TypeScript:
```ts
export interface components {
schemas: {
DefType: {
$defs: {
myDefType: string;
};
};
MyType: {
myType?: components["schemas"]["DefType"]["$defs"]["myDefType"]; // ✅ Works
};
};
}
```
However, this won’t:
```yaml
components:
schemas:
DefType:
type: string # ❌ this won’t keep its $defs
$defs:
myDefType:
type: string
MyType:
properties:
myType:
$ref: "#/components/schemas/DefType/$defs/myDefType"
```
Because it will transform into:
```ts
export interface components {
schemas: {
DefType: string;
MyType: {
myType?: components["schemas"]["DefType"]["$defs"]["myDefType"]; // ❌ Property '$defs' does not exist on type 'String'.
};
};
}
```
So be wary about where you define `$defs` as they may go missing in your final generated types. When in doubt, you can always define `$defs` at the root schema level.
### Use `oneOf` by itself
OpenAPI’s composition tools (`oneOf`/`anyOf`/`allOf`) are powerful tools for reducing the amount of code in your schema while maximizing flexibility. TypeScript unions, however, don’t provide [XOR behavior](https://en.wikipedia.org/wiki/Exclusive_or), which means they don’t map directly to `oneOf`. For that reason, it’s recommended to use `oneOf` by itself, and not combined with other composition methods or other properties. e.g.:
#### ❌ Bad
```yaml
Pet:
type: object
properties:
type:
type: string
enum:
- cat
- dog
- rabbit
- snake
- turtle
name:
type: string
oneOf:
- $ref: "#/components/schemas/Cat"
- $ref: "#/components/schemas/Dog"
- $ref: "#/components/schemas/Rabbit"
- $ref: "#/components/schemas/Snake"
- $ref: "#/components/schemas/Turtle"
```
This generates the following type which mixes both TypeScript unions and intersections. While this is valid TypeScript, it’s complex, and inference may not work as you intended. But the biggest offense is TypeScript can’t discriminate via the `type` property:
```ts
Pet: ({
/** @enum {string} */
type?: "cat" | "dog" | "rabbit" | "snake" | "turtle";
name?: string;
}) & (components["schemas"]["Cat"] | components["schemas"]["Dog"] | components["schemas"]["Rabbit"] | components["schemas"]["Snake"] | components["schemas"]["Turtle"]);
```
#### ✅ Better
```yaml
Pet:
oneOf:
- $ref: "#/components/schemas/Cat"
- $ref: "#/components/schemas/Dog"
- $ref: "#/components/schemas/Rabbit"
- $ref: "#/components/schemas/Snake"
- $ref: "#/components/schemas/Turtle"
PetCommonProperties:
type: object
properties:
name:
type: string
Cat:
allOf:
- "$ref": "#/components/schemas/PetCommonProperties"
type:
type: string
enum:
- cat
```
The resulting generated types are not only simpler; TypeScript can now discriminate using `type` (notice `Cat` has `type` with a single enum value of `"cat"`).
```ts
Pet: components["schemas"]["Cat"] | components["schemas"]["Dog"] | components["schemas"]["Rabbit"] | components["schemas"]["Snake"] | components["schemas"]["Turtle"];
Cat: { type?: "cat"; } & components["schemas"]["PetCommonProperties"];
```
_Note: you optionally could provide `discriminator.propertyName: "type"` on `Pet` ([docs](https://spec.openapis.org/oas/v3.1.0#discriminator-object)) to automatically generate the `type` key, but is less explicit._
While the schema permits you to use composition in any way you like, it’s good to always take a look at the generated types and see if there’s a simpler way to express your unions & intersections. Limiting the use of `oneOf` is not the only way to do that, but often yields the greatest benefits.
================================================
FILE: docs/6.x/cli.md
================================================
---
title: openapi-typescript CLI
description: The quickest, easiest way to generate types.
---
# CLI
The CLI is the most common way to use openapi-typescript. The CLI can parse JSON and YAML (via [js-yaml](https://www.npmjs.com/package/js-yaml). It can parse local and remote schemas (and even supports basic auth).
## Reading schemas
```bash
npx openapi-typescript schema.yaml -o schema.ts
# 🚀 schema.yaml -> schema.ts [7ms]
```
### Globbing local schemas
```bash
npx openapi-typescript "specs/**/*.yaml" -o schemas/
# 🚀 specs/one.yaml -> schemas/specs/one.ts [7ms]
# 🚀 specs/two.yaml -> schemas/specs/two.ts [7ms]
# 🚀 specs/three.yaml -> schemas/specs/three.ts [7ms]
```
_Thanks, [@sharmarajdaksh](https://github.com/sharmarajdaksh)!_
### Remote schemas
```bash
npx openapi-typescript https://petstore3.swagger.io/api/v3/openapi.yaml -o petstore.d.ts
# 🚀 https://petstore3.swagger.io/api/v3/openapi.yaml -> petstore.d.ts [250ms]
```
_Thanks, [@psmyrdek](https://github.com/psmyrdek)!_
## Options
| Option | Alias | Default | Description |
| :------------------------ | :---- | :------: | :--------------------------------------------------------------------------------------------------------------------------- |
| `--help` | | | Display inline help message and exit |
| `--version` | | | Display this library’s version and exit |
| `--output [location]` | `-o` | (stdout) | Where should the output file be saved? |
| `--auth [token]` | | | Provide an auth token to be passed along in the request (only if accessing a private schema) |
| `--header` | `-x` | | Provide an array of or singular headers as an alternative to a JSON object. Each header must follow the `key: value` pattern |
| `--headers-object="{…}"` | `-h` | | Provide a JSON object as string of HTTP headers for remote schema request. This will take priority over `--header` |
| `--http-method` | `-m` | `GET` | Provide the HTTP Verb/Method for fetching a schema from a remote URL |
| `--immutable-types` | | `false` | Generates immutable types (readonly properties and readonly array) |
| `--additional-properties` | | `false` | Allow arbitrary properties for all schema objects without `additionalProperties: false` |
| `--empty-objects-unknown` | | `false` | Allow arbitrary properties for schema objects with no specified properties, and no specified `additionalProperties` |
| `--default-non-nullable` | | `false` | Treat schema objects with default values as non-nullable |
| `--export-type` | `-t` | `false` | Export `type` instead of `interface` |
| `--path-params-as-types` | | `false` | Allow dynamic string lookups on the `paths` object |
| `--support-array-length` | | `false` | Generate tuples using array `minItems` / `maxItems` |
| `--alphabetize` | | `false` | Sort types alphabetically |
| `--exclude-deprecated` | | `false` | Exclude deprecated fields from types |
### `--path-params-as-types`
By default, your URLs are preserved exactly as-written in your schema:
```ts
export interface paths {
"/user/{user_id}": components["schemas"]["User"];
}
```
Which means your type lookups also have to match the exact URL:
```ts
import type { paths } from "./api/v1";
const url = `/user/${id}`;
type UserResponses = paths["/user/{user_id}"]["responses"];
```
But when `--path-params-as-types` is enabled, you can take advantage of dynamic lookups like so:
```ts
import type { paths } from "./api/v1";
const url = `/user/${id}`;
type UserResponses = paths[url]["responses"]; // automatically matches `paths['/user/{user_id}']`
```
Though this is a contrived example, you could use this feature to automatically infer typing based on the URL in a fetch client or in some other useful place in your application.
_Thanks, [@Powell-v2](https://github.com/Powell-v2)!_
### `--support-array-length`
This option is useful for generating tuples if an array type specifies `minItems` or `maxItems`.
For example, given the following schema:
```yaml
components:
schemas:
TupleType
type: array
items:
type: string
minItems: 1
maxItems: 2
```
Enabling `--support-array-length` would change the typing like so:
```diff
export interface components {
schemas: {
- TupleType: string[];
+ TupleType: [string] | [string, string];
};
}
```
This results in more explicit typechecking of array lengths.
_Note: this has a reasonable limit, so for example `maxItems: 100` would simply flatten back down to `string[];`_
_Thanks, [@kgtkr](https://github.com/kgtkr)!_
================================================
FILE: docs/6.x/introduction.md
================================================
---
title: openapi-typescript
description: Quickstart
---
<img src="/assets/openapi-ts.svg" alt="openapi-typescript" width="200" height="40" />
openapi-typescript turns [OpenAPI 3.0 & 3.1](https://spec.openapis.org/oas/latest.html) schemas into TypeScript quickly using Node.js. No Java/node-gyp/running OpenAPI servers necessary.
The code is [MIT-licensed](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/LICENSE) and free for use.
## Features
- ✅ Supports OpenAPI 3.0 and 3.1 (including advanced features like [discriminators](https://spec.openapis.org/oas/v3.1.0#discriminator-object)
- ✅ Generate **runtime-free types** that outperform old school codegen
- ✅ Load schemas from YAML or JSON, locally or remotely
- ✅ Generate types for even huge schemas within milliseconds
_Note: OpenAPI 2.x is supported with versions `5.x` and previous_
## Examples
👀 [See examples](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/examples/)
## Setup
This library requires the latest version of [Node.js](https://nodejs.org/en) installed (20.x or higher recommended). With that present, run the following in your project:
```bash
npm i -D openapi-typescript
```
::: tip Highly recommended
Enable [noUncheckedIndexedAccess](https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess) in your `tsconfig.json` ([docs](/advanced#enable-nouncheckedindexaccess-in-your-tsconfigjson))
:::
## Basic usage
First, generate a local type file by running `npx openapi-typescript`:
```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]
# 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]
```
::: warning
Be sure to [validate your schemas](https://redocly.com/docs/cli/commands/lint/)! openapi-typescript will err on invalid schemas.
:::
Then, import schemas from the generated file like so:
```ts
import type { paths, components } from "./api/v1"; // generated by openapi-typescript
// 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"];
```
From here, you can use these types for any of the following (but not limited to):
- Using an OpenAPI-supported fetch client (like [openapi-fetch](/openapi-fetch/))
- Asserting types for other API requestBodies and responses
- Building core business logic based on API types
- Validating mock test data is up-to-date with the current schema
- Packaging API types into any npm packages you publish (such as client SDKs, etc.)
================================================
FILE: docs/6.x/node.md
================================================
---
title: openapi-typescript Node.js API
description: Programmatic usage and unlimited flexibility.
---
# Node.js API
The Node API may be useful if dealing with dynamically-created schemas, or you’re using within context of a larger application. Pass in either a JSON-friendly object to load a schema from memory, or a string to load a schema from a local file or remote URL.
## Setup
```bash
npm i --save-dev openapi-typescript
```
::: tip Recommended
For the best experience, use Node ESM by adding `"type": "module"` to `package.json` ([docs](https://nodejs.org/api/esm.html#enabling))
:::
## Usage
```js
import fs from "node:fs";
import openapiTS from "openapi-typescript";
// example 1: load [object] as schema (JSON only)
const schema = await fs.promises.readFile("spec.json", "utf8"); // must be OpenAPI JSON
const output = await openapiTS(JSON.parse(schema));
// example 2: load [string] as local file (YAML or JSON; released in v4.0)
const localPath = new URL("./spec.yaml", import.meta.url); // may be YAML or JSON format
const output = await openapiTS(localPath);
// example 3: load [string] as remote URL (YAML or JSON; released in v4.0)
const output = await openapiTS("https://myurl.com/v1/openapi.yaml");
```
::: info
A YAML string isn’t supported in the Node.js API (you’ll need to [convert it to JSON](https://www.npmjs.com/package/js-yaml). But loading YAML via URL is still supported in Node.js
## Options
The Node API supports all the [CLI flags](/cli#options) in `camelCase` format, plus the following additional options:
| Name | Type | Default | Description |
| :-------------- | :-------------: | :------ | :------------------------------------------------------------------------------------------------------------------- |
| `commentHeader` | `string` | | Override the default “This file was auto-generated …” file heading |
| `inject` | `string` | | Inject arbitrary TypeScript types into the start of the file |
| `transform` | `Function` | | Override the default Schema Object ➝ TypeScript transformer in certain scenarios |
| `postTransform` | `Function` | | Same as `transform` but runs _after_ the TypeScript transformation |
| `cwd` | `string \| URL` | | (optional) Provide the current working directory to resolve remote `$ref`s (only needed for in-memory JSON objects). |
### transform / postTransform
Use the `transform()` and `postTransform()` options to override the default Schema Object transformer with your own. This is useful for providing nonstandard modifications for specific parts of your schema.
- `transform()` runs **before** the conversion to TypeScript (you’re working with the original OpenAPI nodes)
- `postTransform()` runs **after** the conversion to TypeScript (you’re working with TypeScript types)
#### Example: `Date` types
For example, say your schema has the following property:
```yaml
properties:
updated_at:
type: string
format: date-time
```
By default, openapiTS will generate `updated_at?: string;` because it’s not sure which format you want by `"date-time"` (formats are nonstandard and can be whatever you’d like). But we can enhance this by providing our own custom formatter, like so:
```js
const types = openapiTS(mySchema, {
transform(schemaObject, metadata): string {
if ("format" in schemaObject && schemaObject.format === "date-time") {
return schemaObject.nullable ? "Date | null" : "Date";
}
},
});
```
That would result in the following change:
```diff
- updated_at?: string;
+ updated_at?: Date;
```
#### Example: `Blob` types
Another common transformation is for file uploads, where the `body` of a request is a `multipart/form-data` with some `Blob` fields. Here's an example schema:
```yaml
Body_file_upload:
type: object;
properties:
file:
type: string;
format: binary;
```
Use the same pattern to transform the types:
```ts
const types = openapiTS(mySchema, {
transform(schemaObject, metadata): string {
if ("format" in schemaObject && schemaObject.format === "binary") {
return schemaObject.nullable ? "Blob | null" : "Blob";
}
},
});
```
Resultant diff with correctly-typed `file` property:
```diff
- file?: string;
+ file?: Blob;
```
#### transform / postTransform metadata
Any [Schema Object](https://spec.openapis.org/oas/latest.html#schema-object) present in your schema will be run through `transform`, prior to its conversion to a TypeScript AST node, and `postTransform` after its conversion, including remote schemas!
The `metadata` parameter present on both `transform` and `postTransform` has additional context that may be helpful.
| Property | Description |
|-|-|
| `metadata.path` | A [`$ref`](https://json-schema.org/understanding-json-schema/structuring#dollarref) URI string, pointing to the current schema object |
| `metadata.schema` | The schema object being transformed (only present for `postTransform`) |
| `metadata.ctx` | The GlobalContext object, containing
There are many other uses for this besides checking `format`. Because `tranform` may return a **string** you can produce any arbitrary TypeScript code you’d like (even your own custom types).
================================================
FILE: docs/CONTRIBUTING.md
================================================
# Contributing to openapi-typescript docs
## Setup
See the [README](./README.md) for basic setup.
## Corrections / small edits
Corrections are always welcome! Please go straight to [opening a PR](https://github.com/openapi-ts/openapi-typescript/pulls) for correcting typos or misinformation. Small grammar edits are also welcome such as shortening verbose language or clarifying confusing statements.
## Styling fixes
Styling fixes are also welcome (contrast improvements, styling bugs, general frontend improvements). You can also go straight to [opening a PR](https://github.com/openapi-ts/openapi-typescript/pulls) for those.
## Additions & Larger edits
[Opening a new discussion](https://github.com/openapi-ts/openapi-typescript/discussions) would be appreciated for all of the following:
- Adding a new section or page
- Restructuring the docs
- Major rewrites
All of the above are welcome! But if you just opened a PR without discussing the plan ahead-of-time, it will probably be rejected. Be sure to save your own time by talking about big changes first!
## Code of Conduct
All docs edits are held accountable to the [Code of Conduct](../CODE_OF_CONDUCT.md) outlined in this project. Language in the documentation must be inclusive, kind, and respectful.
================================================
FILE: docs/README.md
================================================
# openapi-typescript Docs
Docs site powered by [Vitepress](https://vitepress.dev/), an ergonomic docs site template powered by Vite.
Lives at [https://openapi-ts.dev](https://openapi-ts.dev).
## Setup
Setup requires the latest version of [Node.js](https://nodejs.org/en) and [pnpm](https://pnpm.io/). With both installed, run:
```
pnpm i
pnpm run dev
```
That will launch the docs site at `http://localhost:5173`.
## Editing
All content lives in `.md` files that feature normal Markdown content [with powerful Vitepress extensions](https://vitepress.dev/guide/markdown).
## Contributing
Docs contributions are welcome! Please refer to [CONTRIBUTING.md](./CONTRIBUTING.md) for additional assistance.
================================================
FILE: docs/_redirects
================================================
/v6/about /6.x/about 301
/v6/advanced /6.x/advanced 301
/v6/cli /6.x/cli 301
/v6/introduction /6.x/introduction 301
/v6/node /6.x/node 301
================================================
FILE: docs/about.md
================================================
---
title: About openapi-typescript
description: Additional info about this project
---
<script setup>
import { VPTeamMembers } from 'vitepress/theme';
import Contributors from './.vitepress/theme/Contributors.vue'
import data from './data/contributors.json';
</script>
# About openapi-typescript
## Used by
- [**Bigcommerce**](https://github.com/bigcommerce/bigcommerce-api-node): Node SDK for the BigCommerce API
- [**Budibase**](https://github.com/Budibase/budibase): low code platform for creating internal tools, workflows, and admin panels
- [**Fedora `fmn`**](https://github.com/fedora-infra/fmn): tools and APIs for Fedora’s messaging infra
- [**Fingerprint**](https://github.com/fingerprintjs/fingerprintjs-pro-server-api-node-sdk): device fingerprinting for high-scale applications
- [**Google Firebase CLI**](https://github.com/firebase/firebase-tools): Official CLI for Google’s Firebase platform
- [**GitHub Octokit**](https://github.com/octokit): Official SDK for the GitHub API
- [**Lotus**](https://github.com/uselotus/lotus): open source pricing & packaging infra
- [**Jitsu**](https://github.com/jitsucom/jitsu): modern, open source data ingestion / data pipelines
- [**Medusa**](https://github.com/medusajs/medusa): building blocks for digital commerce
- [**Netlify**](https://netlify.com): the modern development platform
- [**Nuxt**](https://github.com/unjs/nitro): The Intuitive Vue framework
- [**Relevance AI**](https://github.com/RelevanceAI/relevance-js-sdk): build and deploy AI chains
- [**Revolt**](https://github.com/revoltchat/api): open source user-first chat platform
- [**Spacebar**](https://github.com/spacebarchat): a free, open source, self-hostable Discord-compatible chat/voice/video platform
- [**Supabase**](https://github.com/supabase/supabase): The open source Firebase alternative.
## Project goals
### openapi-typescript
1. Support converting any valid OpenAPI schema to TypeScript types, no matter how complicated.
1. Generated types should be statically-analyzable and runtime-free (with minor exceptions like [enums](https://www.typescriptlang.org/docs/handbook/enums.html).
1. Generated types should match your original schema as closely as possible, preserving original capitalization, etc.
1. Typegen only needs Node.js to run (no Java, Python, etc.) and works in any environment.
1. Support fetching OpenAPI schemas from files as well as local and remote servers.
### openapi-fetch
1. Types should be strict and inferred automatically from OpenAPI schemas with the absolute minimum number of generics needed.
2. Respect the native Fetch API while reducing boilerplate (such as `await res.json()`).
3. Be as light and performant as possible.
### openapi-react-query
1. Types should be strict and inferred automatically from OpenAPI schemas with the absolute minimum number of generics needed.
2. Respect the original `@tanstack/react-query` APIs while reducing boilerplate.
3. Be as light and performant as possible.
## Maintainers
This library is currently maintained by these amazing individuals:
<VPTeamMembers size="small" :members="data.maintainers" />
## Contributors
And thanks to 100+ amazing contributors, without whom these projects wouldn’t be possible:
<Contributors :contributors="data.contributors" />
================================================
FILE: docs/advanced.md
================================================
---
title: Advanced
description: Advanced usage as well as tips, tricks, and best practices
---
# Advanced usage
Advanced usage and various topics. Interpret this as loose recommendations for _most_ people, and feel free to disregard if it doesn’t work for your setup!
## Debugging
To enable debugging, set `DEBUG=openapi-ts:*` as an env var like so:
```sh
$ DEBUG=openapi-ts:* npx openapi-typescript schema.yaml -o my-types.ts
```
To only see certain types of debug messages, you can set `DEBUG=openapi-ts:[scope]` instead. Valid scopes are `redoc`, `lint`, `bundle`, and `ts`.
Note that debug messages will be suppressed if the output is `stdout`.
## Enum extensions
`x-enum-varnames` can be used to have another enum name for the corresponding value. This is used to define names of the enum items.
`x-enum-descriptions` can be used to provide an individual description for each value. This is used for comments in the code (like javadoc if the target language is java).
`x-enum-descriptions` and `x-enum-varnames` are each expected to be list of items containing the same number of items as enum. The order of the items in the list matters: their position is used to group them together.
Example:
::: code-group
```yaml [my-openapi-3-schema.yaml]
ErrorCode:
type: integer
format: int32
enum:
- 100
- 200
- 300
x-enum-varnames:
- Unauthorized
- AccessDenied
- Unknown
x-enum-descriptions:
- "User is not authorized"
- "User has no access to this resource"
- "Something went wrong"
```
:::
Will result in:
::: code-group
```ts [my-openapi-3-schema.d.ts]
enum ErrorCode {
// User is not authorized
Unauthorized = 100
// User has no access to this resource
AccessDenied = 200
// Something went wrong
Unknown = 300
}
```
:::
To generate in this fashion, `--enum` needs to be specified on the [command line](cli.md#flags).
Alternatively you can use `x-enumNames` and `x-enumDescriptions` ([NSwag/NJsonSchema](https://github.com/RicoSuter/NJsonSchema/wiki/Enums#enum-names-and-descriptions)).
## Styleguide
Loose recommendations to improve type generation.
### Redocly rules
To reduce errors in TypeScript generation, the following built-in rules are recommended to enforce in your [Redocly config](https://redocly.com/docs/cli/rules/built-in-rules/):
| Rule | Setting | Reason |
| :-------------------------------------------------------------------------------------------- | :------------: | :----------------------------- |
| [operation-operationId-unique](https://redocly.com/docs/cli/rules/built-in-rules/#operations) | `error` | Prevents invalid TS generation |
| [operation-parameters-unique](https://redocly.com/docs/cli/rules/built-in-rules/#parameters) | `error` | Prevents missing params |
| [path-not-include-query](https://redocly.com/docs/cli/rules/built-in-rules/#parameters) | `error` | Prevents missing params |
| [spec](https://redocly.com/docs/cli/rules/built-in-rules/#special-rules) | `3.0` or `3.1` | Enables better schema checks |
### Embrace `snake_case` in JS
Different languages have different preferred syntax styles. To name a few:
- `snake_case`
- `SCREAMING_SNAKE_CASE`
- `camelCase`
- `PascalCase`
- `kebab-case`
It’s tempting to want to rename API responses into `camelCase` that most JS styleguides encourage. However, **avoid renaming** because in addition to being a time sink, it introduces the following maintenance issues:
- ❌ generated types (like the ones produced by openapi-typescript) now have to be manually typed again
- ❌ renaming has to happen at runtime, which means you’re slowing down your application for an invisible change
- ❌ name transformation utilities have to be built & maintained (and tested!)
- ❌ the API probably needs `snake_case` for requestBodies anyway, so all that work now has to be undone for every API request
Instead, treat “consistency” in a more holistic sense, recognizing that preserving the API schema as-written is better than adhering to JS style conventions.
### Enable `noUncheckedIndexedAccess` in TSConfig
Enable `compilerOptions.noUncheckedIndexedAccess` in TSConfig ([docs](https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess)) so any `additionalProperties` key will be typed as `T | undefined`.
The default behavior of [Additional Properties](https://swagger.io/docs/specification/data-models/dictionaries/) (dictionaries) will generate a type of `Record<string, T>`, which can very easily produce null reference errors. TypeScript lets you access any arbitrary key without checking it exists first, so it won’t save you from typos or the event a key is just missing.
### Be specific in your schema
openapi-typescript will **never produce an `any` type**. Anything not explicated in your schema may as well not exist. For that reason, always be as specific as possible. Here’s how to get the most out of `additionalProperties`:
<table>
<thead>
<tr>
<td style="width:10%"></td>
<th scope="col" style="width:40%">Schema</th>
<th scope="col" style="width:40%">Generated Type</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
❌ Bad
</th>
<td>
```yaml
type: object
```
</td>
<td>
```ts
Record<string, never>;
```
</td>
</tr>
<tr>
<th scope="row">
❌ Less Bad
</th>
<td>
```yaml
type: object
additionalProperties: true
```
</td>
<td>
```ts
Record<string, unknown>;
```
</td>
</tr>
<tr>
<th scope="row">
✅ Best
</th>
<td>
```yaml
type: object
additionalProperties:
type: string
```
</td>
<td>
```ts
Record<string, string>;
```
</td>
</tr>
</tbody>
</table>
When it comes to **tuple types**, you’ll also get better results by representing that type in your schema. Here’s the best way to type out an `[x, y]` coordinate tuple:
<table>
<thead>
<tr>
<td style="width:10%"> </td>
<th scope="col" style="width:40%">Schema</th>
<th scope="col" style="width:40%">Generated Type</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
❌ Bad
</th>
<td>
```yaml
type: array
```
</td>
<td>
```ts
unknown[]
```
</td>
</tr>
<tr>
<th scope="row">
❌ Less Bad
</th>
<td>
```yaml
type: array
items:
type: number
```
</td>
<td>
```ts
number[]
```
</td>
</tr>
<tr>
<th scope="row">
✅ Best
</th>
<td>
```yaml
type: array
items:
type: number
maxItems: 2
minItems: 2
```
— or —
```yaml
type: array
items:
type: number
prefixItems:
- number
- number
```
</td>
<td>
```ts
[number, number];
```
</td>
</tr>
</tbody>
</table>
### Use `oneOf` by itself
OpenAPI’s composition tools (`oneOf`/`anyOf`/`allOf`) are powerful tools for reducing the amount of code in your schema while maximizing flexibility. TypeScript unions, however, don’t provide [XOR behavior](https://en.wikipedia.org/wiki/Exclusive_or), which means they don’t map directly to `oneOf`. For that reason, it’s recommended to use `oneOf` by itself, and not combined with other composition methods or other properties. e.g.:
#### ❌ Bad
::: code-group
```yaml [my-openapi-3-schema.yaml]
Pet:
type: object
properties:
type:
type: string
enum:
- cat
- dog
- rabbit
- snake
- turtle
name:
type: string
oneOf:
- $ref: "#/components/schemas/Cat"
- $ref: "#/components/schemas/Dog"
- $ref: "#/components/schemas/Rabbit"
- $ref: "#/components/schemas/Snake"
- $ref: "#/components/schemas/Turtle"
```
:::
This generates the following type which mixes both TypeScript unions and intersections. While this is valid TypeScript, it’s complex, and inference may not work as you intended. But the biggest offense is TypeScript can’t discriminate via the `type` property:
::: code-group
```ts [my-openapi-3-schema.d.ts]
Pet: ({
/** @enum {string} */
type?: "cat" | "dog" | "rabbit" | "snake" | "turtle";
name?: string;
}) & (components["schemas"]["Cat"] | components["schemas"]["Dog"] | components["schemas"]["Rabbit"] | components["schemas"]["Snake"] | components["schemas"]["Turtle"]);
```
:::
#### ✅ Better
::: code-group
```yaml [my-openapi-3-schema.yaml]
Pet:
oneOf:
- $ref: "#/components/schemas/Cat"
- $ref: "#/components/schemas/Dog"
- $ref: "#/components/schemas/Rabbit"
- $ref: "#/components/schemas/Snake"
- $ref: "#/components/schemas/Turtle"
PetCommonProperties:
type: object
properties:
name:
type: string
Cat:
allOf:
- "$ref": "#/components/schemas/PetCommonProperties"
type:
type: string
enum:
- cat
```
:::
The resulting generated types are not only simpler; TypeScript can now discriminate using `type` (notice `Cat` has `type` with a single enum value of `"cat"`).
::: code-group
```ts [my-openapi-3-schema.d.ts]
Pet: components["schemas"]["Cat"] | components["schemas"]["Dog"] | components["schemas"]["Rabbit"] | components["schemas"]["Snake"] | components["schemas"]["Turtle"];
Cat: { type?: "cat"; } & components["schemas"]["PetCommonProperties"];
```
:::
_Note: you optionally could provide `discriminator.propertyName: "type"` on `Pet` ([docs](https://spec.openapis.org/oas/v3.1.0#discriminator-object)) to automatically generate the `type` key, but is less explicit._
While the schema permits you to use composition in any way you like, it’s good to always take a look at the generated types and see if there’s a simpler way to express your unions & intersections. Limiting the use of `oneOf` is not the only way to do that, but often yields the greatest benefits.
## JSONSchema $defs caveats
[JSONSchema $defs](https://json-schema.org/understanding-json-schema/structuring.html#defs) can be used to provide sub-schema definitions anywhere. However, these won’t always convert cleanly to TypeScript. For example, this works:
::: code-group
```yaml [my-openapi-3-schema.yaml]
components:
schemas:
DefType:
type: object # ✅ `type: "object"` is OK to define $defs on
$defs:
myDefType:
type: string
MyType:
type: object
properties:
myType:
$ref: "#/components/schemas/DefType/$defs/myDefType"
```
:::
This will transform into the following TypeScript:
::: code-group
```ts [my-openapi-3-schema.d.ts]
export interface components {
schemas: {
DefType: {
$defs: {
myDefType: string;
};
};
MyType: {
myType?: components["schemas"]["DefType"]["$defs"]["myDefType"]; // ✅ Works
};
};
}
```
:::
However, this won’t:
::: code-group
```yaml [my-openapi-3-schema.yaml]
components:
schemas:
DefType:
type: string # ❌ this won’t keep its $defs
$defs:
myDefType:
type: string
MyType:
properties:
myType:
$ref: "#/components/schemas/DefType/$defs/myDefType"
```
:::
Because it will transform into:
::: code-group
```ts [my-openapi-3-schema.d.ts]
export interface components {
schemas: {
DefType: string;
MyType: {
myType?: components["schemas"]["DefType"]["$defs"]["myDefType"]; // ❌ Property '$defs' does not exist on type 'String'.
};
};
}
```
:::
So be wary about where you define `$defs` as they may go missing in your final generated types.
::: tip
When in doubt, you can always define `$defs` at the root schema level.
:::
================================================
FILE: docs/cli.md
================================================
---
title: openapi-typescript CLI
description: The quickest, easiest way to generate types.
---
# CLI
The CLI is the most common way to use openapi-typescript. The CLI can parse JSON and YAML, and even validates your schemas using the [Redocly CLI](https://redocly.com/docs/cli/commands/lint/). It can parse local and remote schemas (and even supports basic auth).
## Transforming an OpenAPI schema to TypeScript
### Single schema
The simplest way to transform schemas is by specifying an input schema (JSON or YAML), followed by `--output` (`-o`) where you’d like the output to be saved:
```bash
npx openapi-typescript schema.yaml -o schema.ts
# 🚀 schema.yaml -> schema.ts [50ms]
```
```bash
npx openapi-typescript https://petstore3.swagger.io/api/v3/openapi.yaml -o petstore.d.ts
# 🚀 https://petstore3.swagger.io/api/v3/openapi.yaml -> petstore.d.ts [250ms]
```
### Multiple schemas
To transform multiple schemas, create a `redocly.yaml` file in the root of your project with [APIs defined](https://redocly.com/docs/cli/configuration/). Under `apis`, give each schema a unique name and optionally a version (the name doesn’t matter, so long as it’s unique). Set the `root` value to your schema’s entry point—this will act as the main input. For the output, set it with `x-openapi-ts.output`:
::: code-group
```yaml [redocly.yaml]
apis:
core@v2:
root: ./openapi/openapi.yaml
x-openapi-ts:
output: ./openapi/openapi.ts
external@v1:
root: ./openapi/external.yaml
x-openapi-ts:
output: ./openapi/external.ts
additional-properties: true # CLI flags are also supported, either in kebab-case or camelCase format
```
:::
::: tip
This will preserve schemas 1:1 input:output. To bundle multiple schemas into one, use Redocly’s [bundle command](https://redocly.com/docs/resources/multi-file-definitions/#bundle)
:::
Whenever you have a `redocly.yaml` file in your project with `apis`, you can omit the input/output parameters in the CLI:
```bash
npx openapi-typescript
```
::: warning
In previous versions globbing was supported, but that has been **deprecated** in v7 in favor of `redocly.yaml`. You’ll be able to control per-schema output locations better, as well as getting unique per-schema settings.
:::
## Redocly config
A `redocly.yaml` file isn’t required to use openapi-typescript. By default it extends the `"minimal"` built-in config. But it is recommended if you want to have custom validation rules (or build types for [multiple schemas](#multiple-schemas)). The CLI will try to automatically find a `redocly.yaml` in the root of your project, but you can also provide its location with the `--redocly` flag:
```bash
npx openapi-typescript --redocly ./path/to/redocly.yaml
```
You can read more about the Redoc’s configuration options [in their docs](https://redocly.com/docs/cli/configuration/).
## Auth
Authentication for non-public schemas is handled in your [Redocly config](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls). You can add headers and basic authentication like so:
::: code-group
```yaml [redocly.yaml]
resolve:
http:
headers:
- matches: https://api.example.com/v2/**
name: X-API-KEY
envVariable: SECRET_KEY
- matches: https://example.com/*/test.yaml
name: Authorization
envVariable: SECRET_AUTH
```
:::
Refer to the [Redocly docs](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls) for additional options.
## Flags
The following flags are supported in the CLI:
| Flag | Alias | Default | Description |
|:-----------------------------------| :---- | :------: |:--------------------------------------------------------------------------------------------------------------------|
| `--help` | | | Display inline help message and exit |
| `--version` | | | Display this library’s version and exit |
| `--output [location]` | `-o` | (stdout) | Where should the output file be saved? |
| `--redocly [location]` | | | Path to a `redocly.yaml` file (see [Multiple schemas](#multiple-schemas)) |
| `--additional-properties` | | `false` | Allow arbitrary properties for all schema objects without `additionalProperties: false` |
| `--alphabetize` | | `false` | Sort types alphabetically |
| `--array-length` | | `false` | Generate tuples using array `minItems` / `maxItems` |
| `--default-non-nullable` | | `true` | Treat schema objects with default values as non-nullable (with the exception of parameters) |
| `--properties-required-by-default` | | `false` | Treat schema objects without `required` as having all properties required. |
| `--empty-objects-unknown` | | `false` | Allow arbitrary properties for schema objects with no specified properties, and no specified `additionalProperties` |
| `--enum` | | `false` | Generate true [TS enums](https://www.typescriptlang.org/docs/handbook/enums.html) rather than string unions. |
| `--enum-values` | | `false` | Export enum values as arrays. |
| `--conditional-enums` | | `false` | Only generate true TS enums when the `x-enum-*` metadata is available. Requires `--enum=true` to be enabled. |
| `--dedupe-enums` | | `false` | Dedupe enum types when `--enum=true` is set |
| `--check` | | `false` | Check that the generated types are up-to-date. |
| `--exclude-deprecated` | | `false` | Exclude deprecated fields from types |
| `--export-type` | `-t` | `false` | Export `type` instead of `interface` |
| `--immutable` | | `false` | Generates immutable types (readonly properties and readonly array) |
| `--path-params-as-types` | | `false` | Allow dynamic string lookups on the `paths` object |
| `--root-types` | | `false` | Exports types from `components` as root level type aliases |
| `--root-types-no-schema-prefix` | | `false` | Do not add "Schema" prefix to types at the root level (should only be used with --root-types) |
| `--root-types-keep-casing` | | `false` | Do not convert root type names to pascal case |
| `--make-paths-enum` | | `false` | Generate ApiPaths enum for all paths |
| `--generate-path-params` | | `false` | Generate path parameters for all paths where they are undefined by schema |
| `--read-write-markers` | | `false` | Generate `$Read<T>`/`$Write<T>` markers for readOnly/writeOnly properties |
### pathParamsAsTypes
By default, your URLs are preserved exactly as-written in your schema:
::: code-group
```ts [my-openapi-3-schema.d.ts]
export interface paths {
"/user/{user_id}": components["schemas"]["User"];
}
```
:::
Which means your type lookups also have to match the exact URL:
::: code-group
```ts [src/my-project.ts]
import type { paths } from "./my-openapi-3-schema";
const url = `/user/${id}`;
type UserResponses = paths["/user/{user_id}"]["responses"];
```
:::
But when `--path-params-as-types` is enabled, you can take advantage of dynamic lookups like so:
::: code-group
```ts [src/my-project.ts]
import type { paths } from "./my-openapi-3-schema";
const url = `/user/${id}`;
type UserResponses = paths[url]["responses"]; // automatically matches `paths['/user/{user_id}']`
```
:::
Though this is a contrived example, you could use this feature to automatically infer typing based on the URL in a fetch client or in some other useful place in your application.
_Thanks, [@Powell-v2](https://github.com/Powell-v2)!_
### arrayLength
This option is useful for generating tuples if an array type specifies `minItems` or `maxItems`.
For example, given the following schema:
::: code-group
```yaml [my-openapi-3-schema.yaml]
components:
schemas:
TupleType:
type: array
items:
type: string
minItems: 1
maxItems: 2
```
:::
Enabling `--array-length` would change the typing like so:
::: code-group
```ts [my-openapi-3-schema.d.ts]
export interface components {
schemas: {
TupleType: string[]; // [!code --]
TupleType: [string] | [string, string]; // [!code ++]
};
}
```
:::
This results in more explicit typechecking of array lengths.
_Note: this has a reasonable limit, so for example `maxItems: 100` would simply flatten back down to `string[];`_
_Thanks, [@kgtkr](https://github.com/kgtkr)!_
### makePathsEnum
This option is useful for generating an enum for all paths in the schema. This can be useful to use the paths from the schema in your code.
Enabling `--make-paths-enum` will add an `ApiPaths` enum like this to the generated types:
::: code-group
```ts [my-openapi-3-schema.d.ts]
export enum ApiPaths {
"/user/{user_id}" = "/user/{user_id}",
"/user" = "/user",
"/user/{user_id}/pets" = "/user/{user_id}/pets",
"/user/{user_id}/pets/{pet_id}" = "/user/{user_id}/pets/{pet_id}",
}
```
:::
### generatePathParams
This option is useful for generating path params optimistically when the schema has flaky path parameter definitions.
Checks the path for opening and closing brackets and extracts them as path parameters.
Does not override already defined by schema path parameters.
### readWriteMarkers
This option enables proper handling of OpenAPI's `readOnly` and `writeOnly` property modifiers. When enabled, properties are wrapped with marker types that allow [openapi-fetch](/openapi-fetch/) to enforce visibility rules at compile time.
For example, given the following schema:
::: code-group
```yaml [my-openapi-3-schema.yaml]
components:
schemas:
User:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
password:
type: string
writeOnly: true
```
:::
Enabling `--read-write-markers` would generate:
::: code-group
```ts [my-openapi-3-schema.d.ts]
// Helper types generated inline when readWriteMarkers is enabled
type $Read<T> = { readonly $read: T };
type $Write<T> = { readonly $write: T };
type Readable<T> = /* ... strips $Write properties, unwraps $Read */;
type Writable<T> = /* ... strips $Read properties, unwraps $Write */;
export interface components {
schemas: {
User: {
id?: $Read<number>;
name?: string;
password?: $Write<string>;
};
};
}
```
:::
When used with [openapi-fetch](/openapi-fetch/), the `Readable<T>` and `Writable<T>` helper types automatically:
- **Exclude `readOnly` properties from request bodies** - You can't accidentally send `id` in a POST/PUT request
- **Exclude `writeOnly` properties from responses** - You can't access `password` on response data
::: code-group
```ts [src/my-project.ts]
import createClient from "openapi-fetch";
import type { paths } from "./my-openapi-3-schema";
const client = createClient<paths>({ baseUrl: "https://api.example.com" });
// ✅ TypeScript error: 'id' is readOnly and not allowed in request body
await client.POST("/users", {
body: { id: 123, name: "Alice", password: "secret" },
});
// ✅ TypeScript error: 'password' is writeOnly and not available in response
const { data } = await client.GET("/users/{id}", { params: { path: { id: 1 } } });
console.log(data?.password); // Error!
```
:::
================================================
FILE: docs/data/contributors.json
================================================
{"maintainers":[{"username":"drwpow","name":"Drew Powers","avatar":"https://avatars.githubusercontent.com/u/1369770?v=4","links":[{"icon":"github","link":"https://github.com/drwpow"}],"title":"Lead, Creator openapi-typescript/openapi-fetch","lastFetch":1770513833155},{"username":"kerwanp","name":"Martin Paucot","avatar":"https://avatars.githubusercontent.com/u/36955373?v=4","links":[{"icon":"github","link":"https://github.com/kerwanp"}],"title":"Core Contributor, Creator openapi-react-query","lastFetch":1770513889693},{"username":"gzm0","name":"Tobias Schlatter","avatar":"https://avatars.githubusercontent.com/u/1140323?v=4","links":[{"icon":"github","link":"https://github.com/gzm0"}],"title":"Core Contributor","lastFetch":1770513890789},{"username":"htunnicliff","name":"Hunter Tunnicliff","avatar":"https://avatars.githubusercontent.com/u/7614039?v=4","links":[{"icon":"github","link":"https://github.com/htunnicliff"}],"title":"Core Contributor, Creator swr-openapi","lastFetch":1770513891896},{"username":"duncanbeevers","name":"Duncan Beevers","avatar":"https://avatars.githubusercontent.com/u/7367?v=4","links":[{"icon":"github","link":"https://github.com/duncanbeevers"}],"title":"Core Contributor","lastFetch":1770513892999}],"contributors":[{"username":"psmyrdek","name":"Przemek Smyrdek","avatar":"https://avatars.githubusercontent.com/u/6187417?v=4","links":[{"icon":"github","link":"https://github.com/psmyrdek"}],"title":"Contributor","lastFetch":1770513834265},{"username":"enmand","name":"Dan Enman","avatar":"https://avatars.githubusercontent.com/u/432487?v=4","links":[{"icon":"github","link":"https://github.com/enmand"}],"title":"Contributor","lastFetch":1770513835380},{"username":"atlefren","name":"Atle Frenvik Sveen","avatar":"https://avatars.githubusercontent.com/u/1829927?v=4","links":[{"icon":"github","link":"https://github.com/atlefren"}],"title":"Contributor","lastFetch":1770513836478},{"username":"tpdewolf","name":"Tim de Wolf","avatar":"https://avatars.githubusercontent.com/u/4455209?v=4","links":[{"icon":"github","link":"https://github.com/tpdewolf"}],"title":"Contributor","lastFetch":1770513837589},{"username":"tombarton","name":"Tom Barton","avatar":"https://avatars.githubusercontent.com/u/6222711?v=4","links":[{"icon":"github","link":"https://github.com/tombarton"}],"title":"Contributor","lastFetch":1770513838693},{"username":"svnv","name":"Sven Nicolai Viig","avatar":"https://avatars.githubusercontent.com/u/1080888?v=4","links":[{"icon":"github","link":"https://github.com/svnv"}],"title":"Contributor","lastFetch":1770513839805},{"username":"sorin-davidoi","name":"Sorin Davidoi","avatar":"https://avatars.githubusercontent.com/u/2109702?v=4","links":[{"icon":"github","link":"https://github.com/sorin-davidoi"}],"title":"Contributor","lastFetch":1770513840896},{"username":"scvnathan","name":"Nathan Schneirov","avatar":"https://avatars.githubusercontent.com/u/73474?v=4","links":[{"icon":"github","link":"https://github.com/scvnathan"}],"title":"Contributor","lastFetch":1770513842021},{"username":"lbenie","name":"Lucien Bénié","avatar":"https://avatars.githubusercontent.com/u/7316046?v=4","links":[{"icon":"github","link":"https://github.com/lbenie"}],"title":"Contributor","lastFetch":1770513843132},{"username":"bokub","name":"Boris","avatar":"https://avatars.githubusercontent.com/u/17952318?v=4","links":[{"icon":"github","link":"https://github.com/bokub"}],"title":"Contributor","lastFetch":1770513844237},{"username":"antonk52","name":"Anton Kastritskii","avatar":"https://avatars.githubusercontent.com/u/5817809?v=4","links":[{"icon":"github","link":"https://github.com/antonk52"}],"title":"Contributor","lastFetch":1770513845349},{"username":"tshelburne","name":"Tim Shelburne","avatar":"https://avatars.githubusercontent.com/u/1202267?v=4","links":[{"icon":"github","link":"https://github.com/tshelburne"}],"title":"Contributor","lastFetch":1770513846516},{"username":"typeofweb","name":"Michał Miszczyszyn","avatar":"https://avatars.githubusercontent.com/u/1338731?v=4","links":[{"icon":"github","link":"https://github.com/typeofweb"}],"title":"Contributor","lastFetch":1770513847621},{"username":"skh-","name":"Sam K Hall","avatar":"https://avatars.githubusercontent.com/u/1292598?v=4","links":[{"icon":"github","link":"https://github.com/skh-"}],"title":"Contributor","lastFetch":1770513848716},{"username":"BlooJeans","name":"Matt Jeanes","avatar":"https://avatars.githubusercontent.com/u/1751182?v=4","links":[{"icon":"github","link":"https://github.com/BlooJeans"}],"title":"Contributor","lastFetch":1770513849820},{"username":"selbekk","name":"Kristofer Giltvedt Selbekk","avatar":"https://avatars.githubusercontent.com/u/1307267?v=4","links":[{"icon":"github","link":"https://github.com/selbekk"}],"title":"Contributor","lastFetch":1770513850920},{"username":"Mause","name":"Elliana May","avatar":"https://avatars.githubusercontent.com/u/1405026?v=4","links":[{"icon":"github","link":"https://github.com/Mause"}],"title":"Contributor","lastFetch":1770513852033},{"username":"henhal","name":"Henrik Hall","avatar":"https://avatars.githubusercontent.com/u/9608258?v=4","links":[{"icon":"github","link":"https://github.com/henhal"}],"title":"Contributor","lastFetch":1770513853143},{"username":"gr2m","name":"Gregor Martynus","avatar":"https://avatars.githubusercontent.com/u/39992?v=4","links":[{"icon":"github","link":"https://github.com/gr2m"}],"title":"Contributor","lastFetch":1770513854253},{"username":"samdbmg","name":"Sam Mesterton-Gibbons","avatar":"https://avatars.githubusercontent.com/u/408983?v=4","links":[{"icon":"github","link":"https://github.com/samdbmg"}],"title":"Contributor","lastFetch":1770513855355},{"username":"rendall","name":"Rendall","avatar":"https://avatars.githubusercontent.com/u/293263?v=4","links":[{"icon":"github","link":"https://github.com/rendall"}],"title":"Contributor","lastFetch":1770513856453},{"username":"robertmassaioli","name":"Robert Massaioli","avatar":"https://avatars.githubusercontent.com/u/149178?v=4","links":[{"icon":"github","link":"https://github.com/robertmassaioli"}],"title":"Contributor","lastFetch":1770513857557},{"username":"jankuca","name":"Jan Kuča","avatar":"https://avatars.githubusercontent.com/u/367262?v=4","links":[{"icon":"github","link":"https://github.com/jankuca"}],"title":"Contributor","lastFetch":1770513858664},{"username":"th-m","name":"Thomas Valadez","avatar":"https://avatars.githubusercontent.com/u/13792029?v=4","links":[{"icon":"github","link":"https://github.com/th-m"}],"title":"Contributor","lastFetch":1770513859767},{"username":"asithade","name":"Asitha de Silva","avatar":"https://avatars.githubusercontent.com/u/3814354?v=4","links":[{"icon":"github","link":"https://github.com/asithade"}],"title":"Contributor","lastFetch":1770513860870},{"username":"misha-erm","name":"Misha","avatar":"https://avatars.githubusercontent.com/u/8783498?v=4","links":[{"icon":"github","link":"https://github.com/misha-erm"}],"title":"Contributor","lastFetch":1770513861979},{"username":"radist2s","name":"Alex Batalov","avatar":"https://avatars.githubusercontent.com/u/725645?v=4","links":[{"icon":"github","link":"https://github.com/radist2s"}],"title":"Contributor","lastFetch":1770513863075},{"username":"FedeBev","name":"Federico Bevione","avatar":"https://avatars.githubusercontent.com/u/22151395?v=4","links":[{"icon":"github","link":"https://github.com/FedeBev"}],"title":"Contributor","lastFetch":1770513864171},{"username":"yamacent","name":"Daisuke Yamamoto","avatar":"https://avatars.githubusercontent.com/u/8544439?v=4","links":[{"icon":"github","link":"https://github.com/yamacent"}],"title":"Contributor","lastFetch":1770513865278},{"username":"dnalborczyk","name":null,"avatar":"https://avatars.githubusercontent.com/u/2903325?v=4","links":[{"icon":"github","link":"https://github.com/dnalborczyk"}],"title":"Contributor","lastFetch":1770513866388},{"username":"FabioWanner","name":null,"avatar":"https://avatars.githubusercontent.com/u/46821078?v=4","links":[{"icon":"github","link":"https://github.com/FabioWanner"}],"title":"Contributor","lastFetch":1770513867478},{"username":"ashsmith","name":"Ash Smith","avatar":"https://avatars.githubusercontent.com/u/1086841?v=4","links":[{"icon":"github","link":"https://github.com/ashsmith"}],"title":"Contributor","lastFetch":1770513868575},{"username":"mehalter","name":"Micah Halter","avatar":"https://avatars.githubusercontent.com/u/1591837?v=4","links":[{"icon":"github","link":"https://github.com/mehalter"}],"title":"Contributor","lastFetch":1770513869675},{"username":"Chrg1001","name":"chrg1001","avatar":"https://avatars.githubusercontent.com/u/40189653?v=4","links":[{"icon":"github","link":"https://github.com/Chrg1001"}],"title":"Contributor","lastFetch":1770513870776},{"username":"sharmarajdaksh","name":"Dakshraj Sharma","avatar":"https://avatars.githubusercontent.com/u/33689528?v=4","links":[{"icon":"github","link":"https://github.com/sharmarajdaksh"}],"title":"Contributor","lastFetch":1770513871874},{"username":"shuluster","name":"Shaosu Liu","avatar":"https://avatars.githubusercontent.com/u/1707910?v=4","links":[{"icon":"github","link":"https://github.com/shuluster"}],"title":"Contributor","lastFetch":1770513872981},{"username":"FDiskas","name":"Vytenis","avatar":"https://avatars.githubusercontent.com/u/468006?v=4","links":[{"icon":"github","link":"https://github.com/FDiskas"}],"title":"Contributor","lastFetch":1770513874079},{"username":"ericzorn93","name":"Eric Zorn","avatar":"https://avatars.githubusercontent.com/u/22532542?v=4","links":[{"icon":"github","link":"https://github.com/ericzorn93"}],"title":"Contributor","lastFetch":1770513875188},{"username":"mbelsky","name":"Max Belsky","avatar":"https://avatars.githubusercontent.com/u/3923527?v=4","links":[{"icon":"github","link":"https://github.com/mbelsky"}],"title":"Contributor","lastFetch":1770513876309},{"username":"techbech","name":"Peter Bech","avatar":"https://avatars.githubusercontent.com/u/1520592?v=4","links":[{"icon":"github","link":"https://github.com/techbech"}],"title":"Contributor","lastFetch":1770513877542},{"username":"rustyconover","name":"Rusty Conover","avatar":"https://avatars.githubusercontent.com/u/731941?v=4","links":[{"icon":"github","link":"https://github.com/rustyconover"}],"title":"Contributor","lastFetch":1770513878648},{"username":"bunkscene","name":"Dave Carlson","avatar":"https://avatars.githubusercontent.com/u/2693678?v=4","links":[{"icon":"github","link":"https://github.com/bunkscene"}],"title":"Contributor","lastFetch":1770513879755},{"username":"ottomated","name":null,"avatar":"https://avatars.githubusercontent.com/u/31470743?v=4","links":[{"icon":"github","link":"https://github.com/ottomated"}],"title":"Contributor","lastFetch":1770513880864},{"username":"sadfsdfdsa","name":"Artem Shuvaev","avatar":"https://avatars.githubusercontent.com/u/28733669?v=4","links":[{"icon":"github","link":"https://github.com/sadfsdfdsa"}],"title":"Contributor","lastFetch":1770513881975},{"username":"ajaishankar","name":null,"avatar":"https://avatars.githubusercontent.com/u/328008?v=4","links":[{"icon":"github","link":"https://github.com/ajaishankar"}],"title":"Contributor","lastFetch":1770513883087},{"username":"dominikdosoudil","name":"Dominik Dosoudil","avatar":"https://avatars.githubusercontent.com/u/15929942?v=4","links":[{"icon":"github","link":"https://github.com/dominikdosoudil"}],"title":"Contributor","lastFetch":1770513884192},{"username":"kgtkr","name":"kgtkr","avatar":"https://avatars.githubusercontent.com/u/17868838?v=4","links":[{"icon":"github","link":"https://github.com/kgtkr"}],"title":"Contributor","lastFetch":1770513885301},{"username":"berzi","name":null,"avatar":"https://avatars.githubusercontent.com/u/32619123?v=4","links":[{"icon":"github","link":"https://github.com/berzi"}],"title":"Contributor","lastFetch":1770513886397},{"username":"PhilipTrauner","name":"philip trauner","avatar":"https://avatars.githubusercontent.com/u/9287847?v=4","links":[{"icon":"github","link":"https://github.com/PhilipTrauner"}],"title":"Contributor","lastFetch":1770513887507},{"username":"Powell-v2","name":"Pavel Yermolin","avatar":"https://avatars.githubusercontent.com/u/25308326?v=4","links":[{"icon":"github","link":"https://github.com/Powell-v2"}],"title":"Contributor","lastFetch":1770513888601},{"username":"tkukushkin","name":"Timofei Kukushkin","avatar":"https://avatars.githubusercontent.com/u/1482516?v=4","links":[{"icon":"github","link":"https://github.com/tkukushkin"}],"title":"Contributor","lastFetch":1770513894108},{"username":"Semigradsky","name":"Dmitry Semigradsky","avatar":"https://avatars.githubusercontent.com/u/1198848?v=4","links":[{"icon":"github","link":"https://github.com/Semigradsky"}],"title":"Contributor","lastFetch":1770513895202},{"username":"MrLeebo","name":"Jeremy Liberman","avatar":"https://avatars.githubusercontent.com/u/2754163?v=4","links":[{"icon":"github","link":"https://github.com/MrLeebo"}],"title":"Contributor","lastFetch":1770513896320},{"username":"axelhzf","name":"Axel Hernández Ferrera","avatar":"https://avatars.githubusercontent.com/u/175627?v=4","links":[{"icon":"github","link":"https://github.com/axelhzf"}],"title":"Contributor","lastFetch":1770513959423},{"username":"imagoiq","name":"Loïc Fürhoff","avatar":"https://avatars.githubusercontent.com/u/12294151?v=4","links":[{"icon":"github","link":"https://github.com/imagoiq"}],"title":"Contributor","lastFetch":1770513960538},{"username":"BTMPL","name":"Bartosz Szczeciński","avatar":"https://avatars.githubusercontent.com/u/247153?v=4","links":[{"icon":"github","link":"https://github.com/BTMPL"}],"title":"Contributor","lastFetch":1770513961648},{"username":"HiiiiD","name":"Marco Salomone","avatar":"https://avatars.githubusercontent.com/u/61231210?v=4","links":[{"icon":"github","link":"https://github.com/HiiiiD"}],"title":"Contributor","lastFetch":1770513962759},{"username":"yacinehmito","name":"Yacine Hmito","avatar":"https://avatars.githubusercontent.com/u/6893840?v=4","links":[{"icon":"github","link":"https://github.com/yacinehmito"}],"title":"Contributor","lastFetch":1770513963891},{"username":"sajadtorkamani","name":"Sajad Torkamani","avatar":"https://avatars.githubusercontent.com/u/9380313?v=4","links":[{"icon":"github","link":"https://github.com/sajadtorkamani"}],"title":"Contributor","lastFetch":1770513964995},{"username":"mvdbeek","name":"Marius van den Beek","avatar":"https://avatars.githubusercontent.com/u/6804901?v=4","links":[{"icon":"github","link":"https://github.com/mvdbeek"}],"title":"Contributor","lastFetch":1770513966093},{"username":"sgrimm","name":"Steven Grimm","avatar":"https://avatars.githubusercontent.com/u/1248649?v=4","links":[{"icon":"github","link":"https://github.com/sgrimm"}],"title":"Contributor","lastFetch":1770513967195},{"username":"Swiftwork","name":"Erik Hughes","avatar":"https://avatars.githubusercontent.com/u/455178?v=4","links":[{"icon":"github","link":"https://github.com/Swiftwork"}],"title":"Contributor","lastFetch":1770513968299},{"username":"mtth","name":"Matthieu Monsch","avatar":"https://avatars.githubusercontent.com/u/1216372?v=4","links":[{"icon":"github","link":"https://github.com/mtth"}],"title":"Contributor","lastFetch":1770513969397},{"username":"mitchell-merry","name":"Mitchell Merry","avatar":"https://avatars.githubusercontent.com/u/8567231?v=4","links":[{"icon":"github","link":"https://github.com/mitchell-merry"}],"title":"Contributor","lastFetch":1770513970503},{"username":"qnp","name":"François Risoud","avatar":"https://avatars.githubusercontent.com/u/6012554?v=4","links":[{"icon":"github","link":"https://github.com/qnp"}],"title":"Contributor","lastFetch":1770513971607},{"username":"shoffmeister","name":null,"avatar":"https://avatars.githubusercontent.com/u/3868036?v=4","links":[{"icon":"github","link":"https://github.com/shoffmeister"}],"title":"Contributor","lastFetch":1770513972732},{"username":"liangskyli","name":"liangsky","avatar":"https://avatars.githubusercontent.com/u/31531283?v=4","links":[{"icon":"github","link":"https://github.com/liangskyli"}],"title":"Contributor","lastFetch":1770513973836},{"username":"happycollision","name":"Don Denton","avatar":"https://avatars.githubusercontent.com/u/3663628?v=4","links":[{"icon":"github","link":"https://github.com/happycollision"}],"title":"Contributor","lastFetch":1770513974935},{"username":"ysmood","name":"Yad Smood","avatar":"https://avatars.githubusercontent.com/u/1415488?v=4","links":[{"icon":"github","link":"https://github.com/ysmood"}],"title":"Contributor","lastFetch":1770513976033},{"username":"barakalon","name":"barak","avatar":"https://avatars.githubusercontent.com/u/12398927?v=4","links":[{"icon":"github","link":"https://github.com/barakalon"}],"title":"Contributor","lastFetch":1770513977132},{"username":"horaklukas","name":"Lukáš Horák","avatar":"https://avatars.githubusercontent.com/u/996088?v=4","links":[{"icon":"github","link":"https://github.com/horaklukas"}],"title":"Contributor","lastFetch":1770513978236},{"username":"pvanagtmaal","name":null,"avatar":"https://avatars.githubusercontent.com/u/5946464?v=4","links":[{"icon":"github","link":"https://github.com/pvanagtmaal"}],"title":"Contributor","lastFetch":1770513979337},{"username":"toomuchdesign","name":"Andrea Carraro","avatar":"https://avatars.githubusercontent.com/u/4573549?v=4","links":[{"icon":"github","link":"https://github.com/toomuchdesign"}],"title":"Contributor","lastFetch":1770513980471},{"username":"psychedelicious","name":"psychedelicious","avatar":"https://avatars.githubusercontent.com/u/4822129?v=4","links":[{"icon":"github","link":"https://github.com/psychedelicious"}],"title":"Contributor","lastFetch":1770513981563},{"username":"tkrotoff","name":"Tanguy Krotoff","avatar":"https://avatars.githubusercontent.com/u/643434?v=4","links":[{"icon":"github","link":"https://github.com/tkrotoff"}],"title":"Contributor","lastFetch":1770513982664},{"username":"pimveldhuisen","name":"Pim Veldhuisen","avatar":"https://avatars.githubusercontent.com/u/3043834?v=4","links":[{"icon":"github","link":"https://github.com/pimveldhuisen"}],"title":"Contributor","lastFetch":1770513983759},{"username":"asvishnyakov","name":"Aleksandr Vishniakov","avatar":"https://avatars.githubusercontent.com/u/6369252?v=4","links":[{"icon":"github","link":"https://github.com/asvishnyakov"}],"title":"Contributor","lastFetch":1770513984856},{"username":"SchabaJo","name":null,"avatar":"https://avatars.githubusercontent.com/u/138689813?v=4","links":[{"icon":"github","link":"https://github.com/SchabaJo"}],"title":"Contributor","lastFetch":1770513985974},{"username":"AhsanFazal","name":"Ahsan Fazal","avatar":"https://avatars.githubusercontent.com/u/7458046?v=4","links":[{"icon":"github","link":"https://github.com/AhsanFazal"}],"title":"Contributor","lastFetch":1770513987071},{"username":"ElForastero","name":"Evgheni Djumac","avatar":"https://avatars.githubusercontent.com/u/5102818?v=4","links":[{"icon":"github","link":"https://github.com/ElForastero"}],"title":"Contributor","lastFetch":1770513988178},{"username":"msgadi","name":"Mohammed Gadi","avatar":"https://avatars.githubusercontent.com/u/9037086?v=4","links":[{"icon":"github","link":"https://github.com/msgadi"}],"title":"Contributor","lastFetch":1770513989276},{"username":"muttonchop","name":"Adam K","avatar":"https://avatars.githubusercontent.com/u/1037657?v=4","links":[{"icon":"github","link":"https://github.com/muttonchop"}],"title":"Contributor","lastFetch":1770513990378},{"username":"christoph-fricke","name":"Christoph Fricke","avatar":"https://avatars.githubusercontent.com/u/23103835?v=4","links":[{"icon":"github","link":"https://github.com/christoph-fricke"}],"title":"Contributor","lastFetch":1770513991475},{"username":"JorrinKievit","name":"Jorrin","avatar":"https://avatars.githubusercontent.com/u/43169049?v=4","links":[{"icon":"github","link":"https://github.com/JorrinKievit"}],"title":"Contributor","lastFetch":1770513992571},{"username":"WickyNilliams","name":"Nick Williams","avatar":"https://avatars.githubusercontent.com/u/1091390?v=4","links":[{"icon":"github","link":"https://github.com/WickyNilliams"}],"title":"Contributor","lastFetch":1770513993675},{"username":"hrsh7th","name":"hrsh7th","avatar":"https://avatars.githubusercontent.com/u/629908?v=4","links":[{"icon":"github","link":"https://github.com/hrsh7th"}],"title":"Contributor","lastFetch":1770513994792},{"username":"phk422","name":"phk422","avatar":"https://avatars.githubusercontent.com/u/59734322?v=4","links":[{"icon":"github","link":"https://github.com/phk422"}],"title":"Contributor","lastFetch":1770513995904},{"username":"mzronek","name":"Matthias Zronek","avatar":"https://avatars.githubusercontent.com/u/3847700?v=4","links":[{"icon":"github","link":"https://github.com/mzronek"}],"title":"Contributor","lastFetch":1770513997022},{"username":"raurfang","name":"Łukasz Wiśniewski","avatar":"https://avatars.githubusercontent.com/u/867241?v=4","links":[{"icon":"github","link":"https://github.com/raurfang"}],"title":"Contributor","lastFetch":1770513998122},{"username":"JeanRemiDelteil","name":"Jean-Rémi Delteil","avatar":"https://avatars.githubusercontent.com/u/9743907?v=4","links":[{"icon":"github","link":"https://github.com/JeanRemiDelteil"}],"title":"Contributor","lastFetch":1770513999231},{"username":"TzviPM","name":"Tzvi Melamed","avatar":"https://avatars.githubusercontent.com/u/1950680?v=4","links":[{"icon":"github","link":"https://github.com/TzviPM"}],"title":"Contributor","lastFetch":1770514000342},{"username":"nzapponi","name":"Niccolo Zapponi","avatar":"https://avatars.githubusercontent.com/u/20582065?v=4","links":[{"icon":"github","link":"https://github.com/nzapponi"}],"title":"Contributor","lastFetch":1770515929424},{"username":"luchsamapparat","name":"Marvin Luchs","avatar":"https://avatars.githubusercontent.com/u/875017?v=4","links":[{"icon":"github","link":"https://github.com/luchsamapparat"}],"title":"Contributor","lastFetch":1770515930533},{"username":"nmacmunn","name":"Neil MacMunn","avatar":"https://avatars.githubusercontent.com/u/849964?v=4","links":[{"icon":"github","link":"https://github.com/nmacmunn"}],"title":"Contributor","lastFetch":1770515931624},{"username":"fergusean","name":null,"avatar":"https://avatars.githubusercontent.com/u/1029297?v=4","links":[{"icon":"github","link":"https://github.com/fergusean"}],"title":"Contributor","lastFetch":1770515932732},{"username":"shinzui","name":"Nadeem Bitar","avatar":"https://avatars.githubusercontent.com/u/519?v=4","links":[{"icon":"github","link":"https://github.com/shinzui"}],"title":"Contributor","lastFetch":1770515933858},{"username":"ezpuzz","name":"Emory Petermann","avatar":"https://avatars.githubusercontent.com/u/672182?v=4","links":[{"icon":"github","link":"https://github.com/ezpuzz"}],"title":"Contributor","lastFetch":1770515934974},{"username":"KotoriK","name":null,"avatar":"https://avatars.githubusercontent.com/u/52659125?v=4","links":[{"icon":"github","link":"https://github.com/KotoriK"}],"title":"Contributor","lastFetch":1770515936077},{"username":"yoshi2no","name":"yoshi2no","avatar":"https://avatars.githubusercontent.com/u/57059705?v=4","links":[{"icon":"github","link":"https://github.com/yoshi2no"}],"title":"Contributor","lastFetch":1770515937178},{"username":"fletchertyler914","name":"Tyler Fletcher","avatar":"https://avatars.githubusercontent.com/u/3344498?v=4","links":[{"icon":"github","link":"https://github.com/fletchertyler914"}],"title":"Contributor","lastFetch":1770515938288},{"username":"nholik","name":"Nicklos Holik","avatar":"https://avatars.githubusercontent.com/u/2022214?v=4","links":[{"icon":"github","link":"https://github.com/nholik"}],"title":"Contributor","lastFetch":1770515939386},{"username":"nkt","name":"Nikita Gusakov","avatar":"https://avatars.githubusercontent.com/u/3505878?v=4","links":[{"icon":"github","link":"https://github.com/nkt"}],"title":"Contributor","lastFetch":1770515940491},{"username":"CodazziS","name":"Stéphane Codazzi","avatar":"https://avatars.githubusercontent.com/u/8134250?v=4","links":[{"icon":"github","link":"https://github.com/CodazziS"}],"title":"Contributor","lastFetch":1770515941610},{"username":"michalfedyna","name":"Michał Fedyna","avatar":"https://avatars.githubusercontent.com/u/84079005?v=4","links":[{"icon":"github","link":"https://github.com/michalfedyna"}],"title":"Contributor","lastFetch":1770515942722},{"username":"IGx89","name":"Matthew Lieder","avatar":"https://avatars.githubusercontent.com/u/282698?v=4","links":[{"icon":"github","link":"https://github.com/IGx89"}],"title":"Contributor","lastFetch":1770515975690},{"username":"nickcaballero","name":"Nick Caballero","avatar":"https://avatars.githubusercontent.com/u/355976?v=4","links":[{"icon":"github","link":"https://github.com/nickcaballero"}],"title":"Contributor","lastFetch":1770515976804},{"username":"tcztzy","name":"Tang Ziya","avatar":"https://avatars.githubusercontent.com/u/12420478?v=4","links":[{"icon":"github","link":"https://github.com/tcztzy"}],"title":"Contributor","lastFetch":1770515977905},{"username":"yukukotani","name":"Yuku Kotani","avatar":"https://avatars.githubusercontent.com/u/16265411?v=4","links":[{"icon":"github","link":"https://github.com/yukukotani"}],"title":"Contributor","lastFetch":1770515979016},{"username":"hd-o","name":"Hadrian de Oliveira","avatar":"https://avatars.githubusercontent.com/u/58871222?v=4","links":[{"icon":"github","link":"https://github.com/hd-o"}],"title":"Contributor","lastFetch":1770515980118},{"username":"zaru","name":"zaru","avatar":"https://avatars.githubusercontent.com/u/235650?v=4","links":[{"icon":"github","link":"https://github.com/zaru"}],"title":"Contributor","lastFetch":1770515981258},{"username":"kecrily","name":"Percy Ma","avatar":"https://avatars.githubusercontent.com/u/45708948?v=4","links":[{"icon":"github","link":"https://github.com/kecrily"}],"title":"Contributor","lastFetch":1770515982362},{"username":"marcomuser","name":"Marco Muser","avatar":"https://avatars.githubusercontent.com/u/64737396?v=4","links":[{"icon":"github","link":"https://github.com/marcomuser"}],"title":"Contributor","lastFetch":1770515983461},{"username":"HugeLetters","name":"Evgenii Perminov","avatar":"https://avatars.githubusercontent.com/u/119697239?v=4","links":[{"icon":"github","link":"https://github.com/HugeLetters"}],"title":"Contributor","lastFetch":1770515984567},{"username":"Fumaz","name":null,"avatar":"https://avatars.githubusercontent.com/u/206267746?v=4","links":[{"icon":"github","link":"https://github.com/Fumaz"}],"title":"Contributor","lastFetch":1770515985672},{"username":"illright","name":"Lev Chelyadinov","avatar":"https://avatars.githubusercontent.com/u/15035286?v=4","links":[{"icon":"github","link":"https://github.com/illright"}],"title":"Contributor","lastFetch":1770515986772},{"username":"FreeAoi","name":"Free 公園","avatar":"https://avatars.githubusercontent.com/u/45021001?v=4","links":[{"icon":"github","link":"https://github.com/FreeAoi"}],"title":"Contributor","lastFetch":1770515987893},{"username":"zhu-hong","name":"jimmy","avatar":"https://avatars.githubusercontent.com/u/92160179?v=4","links":[{"icon":"github","link":"https://github.com/zhu-hong"}],"title":"Contributor","lastFetch":1770515988991},{"username":"hungify","name":"hungify","avatar":"https://avatars.githubusercontent.com/u/78008509?v=4","links":[{"icon":"github","link":"https://github.com/hungify"}],"title":"Contributor","lastFetch":1770515990090},{"username":"jaredLunde","name":"Jared Lunde","avatar":"https://avatars.githubusercontent.com/u/86995?v=4","links":[{"icon":"github","link":"https://github.com/jaredLunde"}],"title":"Contributor","lastFetch":1770515991197},{"username":"armandabric","name":"Armand Abric","avatar":"https://avatars.githubusercontent.com/u/95120?v=4","links":[{"icon":"github","link":"https://github.com/armandabric"}],"title":"Contributor","lastFetch":1770515992306},{"username":"fitztrev","name":"Trevor Fitzgerald","avatar":"https://avatars.githubusercontent.com/u/271432?v=4","links":[{"icon":"github","link":"https://github.com/fitztrev"}],"title":"Contributor","lastFetch":1770515993421},{"username":"jonathanmv","name":"Jonathan Morales Vélez","avatar":"https://avatars.githubusercontent.com/u/86024?v=4","links":[{"icon":"github","link":"https://github.com/jonathanmv"}],"title":"Contributor","lastFetch":1770515994535},{"username":"darwish","name":"Mike Darwish","avatar":"https://avatars.githubusercontent.com/u/292570?v=4","links":[{"icon":"github","link":"https://github.com/darwish"}],"title":"Contributor","lastFetch":1770515995664},{"username":"swatcher","name":null,"avatar":"https://avatars.githubusercontent.com/u/7557934?v=4","links":[{"icon":"github","link":"https://github.com/swatcher"}],"title":"Contributor","lastFetch":1770515996776},{"username":"Snaylaker","name":"Mehdi","avatar":"https://avatars.githubusercontent.com/u/43219077?v=4","links":[{"icon":"github","link":"https://github.com/Snaylaker"}],"title":"Contributor","lastFetch":1770515997929},{"username":"avaly","name":"Valentin Agachi","avatar":"https://avatars.githubusercontent.com/u/356100?v=4","links":[{"icon":"github","link":"https://github.com/avaly"}],"title":"Contributor","lastFetch":1770515999025},{"username":"Mask-MJ","name":"moyaojun","avatar":"https://avatars.githubusercontent.com/u/41281346?v=4","links":[{"icon":"github","link":"https://github.com/Mask-MJ"}],"title":"Contributor","lastFetch":1770516000118},{"username":"danmichaelo","name":"Dan Michael O. Heggø","avatar":"https://avatars.githubusercontent.com/u/434495?v=4","links":[{"icon":"github","link":"https://github.com/danmichaelo"}],"title":"Contributor","lastFetch":1770516001226},{"username":"333fred","name":"Fred Silberberg","avatar":"https://avatars.githubusercontent.com/u/2371880?v=4","links":[{"icon":"github","link":"https://github.com/333fred"}],"title":"Contributor","lastFetch":1770516002331},{"username":"thatsprettyfaroutman","name":"Viljami","avatar":"https://avatars.githubusercontent.com/u/6589190?v=4","links":[{"icon":"github","link":"https://github.com/thatsprettyfaroutman"}],"title":"Contributor","lastFetch":1770516003443},{"username":"kaechele","name":"Felix Kaechele","avatar":"https://avatars.githubusercontent.com/u/454490?v=4","links":[{"icon":"github","link":"https://github.com/kaechele"}],"title":"Contributor","lastFetch":1770516004614},{"username":"SebastienGllmt","name":"Sebastien Guillemot","avatar":"https://avatars.githubusercontent.com/u/2608559?v=4","links":[{"icon":"github","link":"https://github.com/SebastienGllmt"}],"title":"Contributor","lastFetch":1770516005715},{"username":"morleytatro","name":"Morley Tatro","avatar":"https://avatars.githubusercontent.com/u/12454208?v=4","links":[{"icon":"github","link":"https://github.com/morleytatro"}],"title":"Contributor","lastFetch":1770516006823},{"username":"ngraef","name":"Nick Graef","avatar":"https://avatars.githubusercontent.com/u/1031317?v=4","links":[{"icon":"github","link":"https://github.com/ngraef"}],"title":"Contributor","lastFetch":1770516007925},{"username":"valerijmedvid","name":"Valerij Medviď","avatar":"https://avatars.githubusercontent.com/u/40756610?v=4","links":[{"icon":"github","link":"https://github.com/valerijmedvid"}],"title":"Contributor","lastFetch":1770516009027},{"username":"brunolca","name":"Bruno Carneiro","avatar":"https://avatars.githubusercontent.com/u/35866967?v=4","links":[{"icon":"github","link":"https://github.com/brunolca"}],"title":"Contributor","lastFetch":1770516010161},{"username":"Gruak","name":null,"avatar":"https://avatars.githubusercontent.com/u/43846312?v=4","links":[{"icon":"github","link":"https://github.com/Gruak"}],"title":"Contributor","lastFetch":1770516011262},{"username":"mikestopcontinues","name":"Mike Stop Continues","avatar":"https://avatars.githubusercontent.com/u/150434?v=4","links":[{"icon":"github","link":"https://github.com/mikestopcontinues"}],"title":"Contributor","lastFetch":1770516012371},{"username":"JE-Lee","name":"maurice","avatar":"https://avatars.githubusercontent.com/u/19794813?v=4","links":[{"icon":"github","link":"https://github.com/JE-Lee"}],"title":"Contributor","lastFetch":1770516013476},{"username":"vipentti","name":"Ville Penttinen","avatar":"https://avatars.githubusercontent.com/u/4726680?v=4","links":[{"icon":"github","link":"https://github.com/vipentti"}],"title":"Contributor","lastFetch":1770516014575},{"username":"goce-cz","name":"Jiří Staniševský","avatar":"https://avatars.githubusercontent.com/u/25413628?v=4","links":[{"icon":"github","link":"https://github.com/goce-cz"}],"title":"Contributor","lastFetch":1770516015683},{"username":"BradHacker","name":"Brad Harker","avatar":"https://avatars.githubusercontent.com/u/22984089?v=4","links":[{"icon":"github","link":"https://github.com/BradHacker"}],"title":"Contributor","lastFetch":1770575540184},{"username":"crutch12","name":"Konstantin Barabanov","avatar":"https://avatars.githubusercontent.com/u/19373212?v=4","links":[{"icon":"github","link":"https://github.com/crutch12"}],"title":"Contributor","lastFetch":1770575541311},{"username":"HHongSeungWoo","name":"Hong Seungwoo","avatar":"https://avatars.githubusercontent.com/u/34399997?v=4","links":[{"icon":"github","link":"https://github.com/HHongSeungWoo"}],"title":"Contributor","lastFetch":1770575542434},{"username":"yicrotkd","name":"yicrotkd","avatar":"https://avatars.githubusercontent.com/u/954668?v=4","links":[{"icon":"github","link":"https://github.com/yicrotkd"}],"title":"Contributor","lastFetch":1770575543547},{"username":"makotot","name":"Makoto Tateno","avatar":"https://avatars.githubusercontent.com/u/1129027?v=4","links":[{"icon":"github","link":"https://github.com/makotot"}],"title":"Contributor","lastFetch":1770575544647},{"username":"tommy-ish","name":"Tomohiro Ishii","avatar":"https://avatars.githubusercontent.com/u/69967186?v=4","links":[{"icon":"github","link":"https://github.com/tommy-ish"}],"title":"Contributor","lastFetch":1770575545756},{"username":"BlakeSzabo","name":"Blake","avatar":"https://avatars.githubusercontent.com/u/35635949?v=4","links":[{"icon":"github","link":"https://github.com/BlakeSzabo"}],"title":"Contributor","lastFetch":1770575546882},{"username":"ElayGelbart","name":"Elay Gelbart","avatar":"https://avatars.githubusercontent.com/u/88675154?v=4","links":[{"icon":"github","link":"https://github.com/ElayGelbart"}],"title":"Contributor","lastFetch":1770575547980},{"username":"piousdeer","name":null,"avatar":"https://avatars.githubusercontent.com/u/31318219?v=4","links":[{"icon":"github","link":"https://github.com/piousdeer"}],"title":"Contributor","lastFetch":1770575549086},{"username":"DjordyKoert","name":"Djordy Koert","avatar":"https://avatars.githubusercontent.com/u/33036133?v=4","links":[{"icon":"github","link":"https://github.com/DjordyKoert"}],"title":"Contributor","lastFetch":1770575550190},{"username":"zsugabubus","name":null,"avatar":"https://avatars.githubusercontent.com/u/30056345?v=4","links":[{"icon":"github","link":"https://github.com/zsugabubus"}],"title":"Contributor","lastFetch":1770575551302},{"username":"jo-m","name":"Jo M","avatar":"https://avatars.githubusercontent.com/u/2587503?v=4","links":[{"icon":"github","link":"https://github.com/jo-m"}],"title":"Contributor","lastFetch":1770575552394},{"username":"prewk","name":"Oskar Thornblad","avatar":"https://avatars.githubusercontent.com/u/640102?v=4","links":[{"icon":"github","link":"https://github.com/prewk"}],"title":"Contributor","lastFetch":1770575553514},{"username":"sultaniman","name":"Sultan Iman","avatar":"https://avatars.githubusercontent.com/u/354868?v=4","links":[{"icon":"github","link":"https://github.com/sultaniman"}],"title":"Contributor","lastFetch":1770575554620},{"username":"patzick","name":"Patryk Tomczyk","avatar":"https://avatars.githubusercontent.com/u/13100280?v=4","links":[{"icon":"github","link":"https://github.com/patzick"}],"title":"Contributor","lastFetch":1770575555715},{"username":"mellster2012","name":"Marco Ellwanger","avatar":"https://avatars.githubusercontent.com/u/2126256?v=4","links":[{"icon":"github","link":"https://github.com/mellster2012"}],"title":"Contributor","lastFetch":1770575556822},{"username":"mochi-sann","name":"mochi33i","avatar":"https://avatars.githubusercontent.com/u/44772513?v=4","links":[{"icon":"github","link":"https://github.com/mochi-sann"}],"title":"Contributor","lastFetch":1770575557918},{"username":"laurenz-glueck","name":"Laurenz Glück","avatar":"https://avatars.githubusercontent.com/u/2734232?v=4","links":[{"icon":"github","link":"https://github.com/laurenz-glueck"}],"title":"Contributor","lastFetch":1770575559008},{"username":"gduliscouet-ubitransport","name":"Guillaume Duliscouët","avatar":"https://avatars.githubusercontent.com/u/101416921?v=4","links":[{"icon":"github","link":"https://github.com/gduliscouet-ubitransport"}],"title":"Contributor","lastFetch":1770575560140},{"username":"alikehel","name":"Ali Kehel","avatar":"https://avatars.githubusercontent.com/u/29659555?v=4","links":[{"icon":"github","link":"https://github.com/alikehel"}],"title":"Contributor","lastFetch":1770575561247},{"username":"chailandau","name":"Chai Landau","avatar":"https://avatars.githubusercontent.com/u/112015853?v=4","links":[{"icon":"github","link":"https://github.com/chailandau"}],"title":"Contributor","lastFetch":1770575562359},{"username":"bennobuilder","name":"Benno","avatar":"https://avatars.githubusercontent.com/u/57860196?v=4","links":[{"icon":"github","link":"https://github.com/bennobuilder"}],"title":"Contributor","lastFetch":1770575563468},{"username":"HagenMorano","name":"Hagen","avatar":"https://avatars.githubusercontent.com/u/25682450?v=4","links":[{"icon":"github","link":"https://github.com/HagenMorano"}],"title":"Contributor","lastFetch":1770575564566},{"username":"jungwoo3490","name":"Jungwoo LEE","avatar":"https://avatars.githubusercontent.com/u/60962533?v=4","links":[{"icon":"github","link":"https://github.com/jungwoo3490"}],"title":"Contributor","lastFetch":1770575565687},{"username":"freshgiammi","name":"Gianmarco Rengucci","avatar":"https://avatars.githubusercontent.com/u/16855748?v=4","links":[{"icon":"github","link":"https://github.com/freshgiammi"}],"title":"Contributor","lastFetch":1770575566789},{"username":"lukasedw","name":"Lucas Guedes","avatar":"https://avatars.githubusercontent.com/u/13969616?v=4","links":[{"icon":"github","link":"https://github.com/lukasedw"}],"title":"Contributor","lastFetch":1770575567899},{"username":"ViktorPontinen","name":"Viktor Pöntinen","avatar":"https://avatars.githubusercontent.com/u/11719505?v=4","links":[{"icon":"github","link":"https://github.com/ViktorPontinen"}],"title":"Contributor","lastFetch":1770575568992},{"username":"kevmo314","name":"Kevin Wang","avatar":"https://avatars.githubusercontent.com/u/511342?v=4","links":[{"icon":"github","link":"https://github.com/kevmo314"}],"title":"Contributor","lastFetch":1770575570153},{"username":"ehrenschwan-gh","name":"ehrenschwan","avatar":"https://avatars.githubusercontent.com/u/25820532?v=4","links":[{"icon":"github","link":"https://github.com/ehrenschwan-gh"}],"title":"Contributor","lastFetch":1770515928313}]}
================================================
FILE: docs/data/sponsors.json
================================================
{
"gold": [
{
"name": "Speakeasy",
"logo": "/assets/speakeasy.png",
"url": "https://www.speakeasy.com/product/sdk-generation?utm_source=pow_openapi_ts"
}
],
"silver": [
{
"name": "nanabit",
"logo": "https://avatars.githubusercontent.com/u/154126976?s=200&v=4",
"url": "https://nanabit.dev"
}
]
}
================================================
FILE: docs/examples.md
================================================
---
title: Examples
description: Using openapi-typescript in real-world applications
---
# Examples
The types generated by openapi-typescript are universal, and can be used in a variety of ways. While these examples are not comprehensive, hopefully they’ll spark ideas about how to use these in your app.
## Data fetching
Fetching data can be done simply and safely using an **automatically-typed fetch wrapper**:
<details>
<summary><a href="/openapi-fetch/">openapi-fetch</a> (recommended)</summary>
::: code-group
```ts [test/my-project.ts]
import createClient from "openapi-fetch";
import type { paths } from "./my-openapi-3-schema"; // generated by openapi-typescript
const client = createClient<paths>({ baseUrl: "https://myapi.dev/v1/" });
const {
data, // only present if 2XX response
error, // only present if 4XX or 5XX response
} = await client.GET("/blogposts/{post_id}", {
params: {
path: { post_id: "123" },
},
});
await client.PUT("/blogposts", {
body: {
title: "My New Post",
},
});
```
:::
</details>
<details>
<summary><a href="https://www.npmjs.com/package/openapi-typescript-fetch" target="_blank" rel="noreferrer">openapi-typescript-fetch</a> by <a href="https://github.com/ajaishankar" target="_blank" rel="noreferrer">@ajaishankar</a></summary>
::: code-group
```ts [test/my-project.ts]
import { Fetcher } from 'openapi-typescript-fetch';
import type { paths } from './my-openapi-3-schema'; // generated by openapi-typescript
const fetcher = Fetcher.for<paths>();
// GET request
const getBlogPost = fetcher.path('/blogposts/{post_id}').method('get').create();
try {
const { status, data } = await getBlogPost({ pathParams: { post_id: '123' } });
console.log(data);
} catch (error) {
console.error('Error:', error);
}
// PUT request
const updateBlogPost = fetcher.path('/blogposts').method('put').create();
try {
await updateBlogPost({ body: { title: 'My New Post' } });
} catch (error) {
console.error('Error:', error);
}
```
:::
</details>
<details>
<summary><a href="https://www.npmjs.com/package/feature-fetch" target="_blank" rel="noreferrer">feature-fetch</a> by <a href="https://builder.group" target="_blank" rel="noreferrer">builder.group</a></summary>
::: code-group
```ts [test/my-project.ts]
import { createOpenApiFetchClient } from 'feature-fetch';
import type { paths } from './my-openapi-3-schema'; // generated by openapi-typescript
// Create the OpenAPI fetch client
const fetchClient = createOpenApiFetchClient<paths>({
prefixUrl: 'https://myapi.dev/v1'
});
// Send a GET request
const response = await fetchClient.get('/blogposts/{post_id}', {
pathParams: {
post_id: '123',
},
});
// Handle the response (Approach 1: Standard if-else)
if (response.isOk()) {
const data = response.value.data;
console.log(data); // Handle successful response
} else {
const error = response.error;
if (error instanceof NetworkError) {
console.error('Network error:', error.message);
} else if (error instanceof RequestError) {
console.error('Request error:', error.message, 'Status:', error.status);
} else {
console.error('Service error:', error.message);
}
}
// Send a PUT request
const putResponse = await fetchClient.put('/blogposts', {
body: {
title: 'My New Post',
},
});
// Handle the response (Approach 2: Try-catch)
try {
const putData = putResponse.unwrap().data;
console.log(putData); // Handle the successful response
} catch (error) {
// Handle the error
if (error instanceof NetworkError) {
console.error('Network error:', error.message);
} else if (error instanceof RequestError) {
console.error('Request error:', error.message, 'Status:', error.status);
} else {
console.error('Service error:', error.message);
}
}
```
:::
</details>
<details>
<summary><a href="https://www.npmjs.com/package/@web-bee-ru/openapi-axios" target="_blank" rel="noreferrer">openapi-axios</a> by <a href="https://github.com/web-bee-ru" target="_blank" rel="noreferrer">@web-bee-ru</a></summary>
::: code-group
```ts [test/my-project.ts]
import { OpenApiAxios } from "@web-bee-ru/openapi-axios";
import type { paths } from "./my-openapi-3-schema"; // generated by openapi-typescript
import Axios from "axios";
const axios = Axios.create({
baseURL: "https://myapi.dev/v1",
adapter: "fetch", // strongly recommended (available since axios@1.7.0)
});
// Example 1. Usage with "axios" (default) status handling strategy (validStatus: 'axios')
const api = new OpenApiAxios<paths, "axios">(axios, { validStatus: "axios" }); // throws like axios (e.g. status 400+, network errors, interceptor errors)
// const api = new OpenApiAxios<paths>(axios) // same result
try {
const { status, data, response } = await api.get("/users");
} catch (err) {
if (api.isAxiosError(err)) {
if (typeof err.status === "number") {
// status >= 400
}
// request failed (e.g. network error)
}
throw err; // axios.interceptors error
}
// Example 2. Usage with "fetch" status handling strategy (validStatus: 'fetch')
const fetchApi = new OpenApiAxios<paths, "fetch">(axios, { validStatus: "fetch" }); // throws like browser's fetch() (e.g. network errors, interceptor errors)
try {
const { status, data, error, response } = await api.get("/users");
if (error) {
// status >= 400
}
} catch (err) {
if (api.isAxiosError(err)) {
// request failed (e.g. network error)
}
throw err; // axios.interceptors error
}
// Example 3. Usage with "safe" status handling strategy (validStatus: 'all')
// (No try/catch required)
const safeApi = new OpenApiAxios<paths, "all">(axios, { validStatus: "all" }); // never throws errors
const { status, data, error, response } = await api.get("/users");
if (error) {
if (typeof status === "number") {
// status >= 400
} else if (api.isAxiosError(error)) {
// request failed (e.g. network error)
}
throw error; // axios.interceptors error
}
```
:::
</details>
::: tip
A good fetch wrapper should **never use generics.** Generics require more typing and can hide errors!
:::
## Hono
[Hono](https://hono.dev/) is a modern server framework for Node.js that can be deployed to the edge (e.g. [Cloudflare Workers](https://developers.cloudflare.com/workers/)) just as easily as a standard container. It also has TypeScript baked-in, so it’s a great fit for generated types.
After [generating your types using the CLI](/introduction), pass in the proper `paths` response for each endpoint:
::: code-group
```ts [src/my-project.ts]
import { Hono } from "hono";
import { components, paths } from "./my-openapi-3-schema"; // generated by openapi-typescript
const app = new Hono();
/** /users */
app.get("/users", async (ctx) => {
try {
const users = db.get("SELECT * from users");
return ctx.json<
paths["/users"]["responses"][200]["content"]["application/json"]
>(users);
} catch (err) {
return ctx.json<components["schemas"]["Error"]>({
status: 500,
message: err ?? "An error occurred",
});
}
});
export default app;
```
:::
::: tip
TypeChecking in server environments can be tricky, as you’re often querying databases and talking to other endpoints that TypeScript can’t introspect. But using generics will alert you of the obvious errors that TypeScript _can_ catch (and more things in your stack may have types than you realize!).
:::
## Hono with [`openapi-ts-router`](https://github.com/builder-group/community/tree/develop/packages/openapi-ts-router)
[`openapi-ts-router`](https://github.com/builder-group/community/tree/develop/packages/openapi-ts-router) provides full type-safety and runtime validation for your HonoAPI routes by wrapping a [Hono router](https://hono.dev/docs/api/routing):
::: tip Good to Know
While TypeScript ensures compile-time type safety, runtime validation is equally important. `openapi-ts-router` integrates with Zod/Valibot to provide both:
- Types verify your code matches the OpenAPI spec during development
- Validators ensure incoming requests match the spec at runtime
:::
::: code-group
```ts [src/router.ts]
import { Hono } from 'hono';
import { createHonoOpenApiRouter } from 'openapi-ts-router';
import { zValidator } from 'validation-adapters/zod';
import * as z from 'zod';
import { paths } from './gen/v1'; // OpenAPI-generated types
import { PetSchema } from './schemas'; // Custom reusable schema for validation
export const router = new Hono();
export const openApiRouter = createHonoOpenApiRouter<paths>(router);
// GET /pet/{petId}
openApiRouter.get('/pet/{petId}', {
pathValidator: zValidator(
z.object({
petId: z.number() // Validate that petId is a number
})
),
handler: (c) => {
const { petId } = c.req.valid('param'); // Access validated params
return c.json({ name: 'Falko', photoUrls: [] });
}
});
// POST /pet
openApiRouter.post('/pet', {
bodyValidator: zValidator(PetSchema), // Validate request body using PetSchema
handler: (c) => {
const { name, photoUrls } = c.req.valid('json'); // Access validated body data
return c.json({ name, photoUrls });
}
});
// TypeScript will error if route/method doesn't exist in OpenAPI spec
// or if response doesn't match defined schema
```
:::
[Full example](https://github.com/builder-group/community/tree/develop/examples/openapi-ts-router/hono/petstore)
**Key benefits:**
- Full type safety for routes, methods, params, body and responses
- Runtime validation using Zod/Valibot
- Catches API spec mismatches at compile time
- Zero manual type definitions needed
## Express with [`openapi-ts-router`](https://github.com/builder-group/community/tree/develop/packages/openapi-ts-router)
[`openapi-ts-router`](https://github.com/builder-group/community/tree/develop/packages/openapi-ts-router) provides full type-safety and runtime validation for your Express API routes by wrapping a [Express router](https://expressjs.com/en/5x/api.html#router):
::: tip Good to Know
While TypeScript ensures compile-time type safety, runtime validation is equally important. `openapi-ts-router` integrates with Zod/Valibot to provide both:
- Types verify your code matches the OpenAPI spec during development
- Validators ensure incoming requests match the spec at runtime
:::
::: code-group
```ts [src/router.ts]
import { Router } from 'express';
import { createExpressOpenApiRouter } from 'openapi-ts-router';
import * as z from 'zod';
import { zValidator } from 'validation-adapters/zod';
import { paths } from './gen/v1'; // OpenAPI-generated types
import { PetSchema } from './schemas'; // Custom reusable schema for validation
export const router: Router = Router();
export const openApiRouter = createExpressOpenApiRouter<paths>(router);
// GET /pet/{petId}
openApiRouter.get('/pet/{petId}', {
pathValidator: zValidator(
z.object({
petId: z.number() // Validate that petId is a number
})
),
handler: (req, res) => {
const { petId } = req.params; // Access validated params
res.send({ name: 'Falko', photoUrls: [] });
}
});
// POST /pet
openApiRouter.post('/pet', {
bodyValidator: zValidator(PetSchema), // Validate request body using PetSchema
handler: (req, res) => {
const { name, photoUrls } = req.body; // Access validated body data
res.send({ name, photoUrls });
}
});
// TypeScript will error if route/method doesn't exist in OpenAPI spec
// or if response doesn't match defined schema
```
:::
[Full example](https://github.com/builder-group/community/tree/develop/examples/openapi-ts-router/express/petstore)
**Key benefits:**
- Full type safety for routes, methods, params, body and responses
- Runtime validation using Zod/Valibot
- Catches API spec mismatches at compile time
- Zero manual type definitions needed
## Mock-Service-Worker (MSW)
If you are using [Mock Service Worker (MSW)](https://mswjs.io) to define your API mocks, you can use a **small, automatically-typed wrapper** around MSW, which enables you to address conflicts in your API mocks easily when your OpenAPI specification changes. Ultimately, you can have the same level of confidence in your application's API client **and** API mocks.
Using `openapi-typescript` and a wrapper around fetch, such as `openapi-fetch`, ensures that our application's API client does not have conflicts with your OpenAPI specification.
However, while you can address issues with the API client easily, you have to "manually" remember to adjust API mocks since there is no mechanism that warns you about conflicts.
We recommend the following wrapper, which works flawlessly with `openapi-typescript`:
- [openapi-msw](https://www.npmjs.com/package/openapi-msw) by [@christoph-fricke](https://github.com/christoph-fricke)
## Test Mocks
One of the most common causes of false positive tests is when mocks are out-of-date with the actual API responses.
`openapi-typescript` offers a fantastic way to guard against this with minimal effort. Here’s one example how you could write your own helper function to typecheck all mocks to match your OpenAPI schema (we’ll use [vitest](https://vitest.dev/)/[vitest-fetch-mock](https://www.npmjs.com/package/vitest-fetch-mock) but the same principle could work for any setup):
Let’s say we want to write our mocks in the following object structure, so we can mock multiple endpoints at once:
```ts
{
[pathname]: {
[HTTP method]: { status: [status], body: { …[some mock data] } };
}
}
```
Using our generated types we can then infer **the correct data shape** for any given path + HTTP method + status code. An example test would look like this:
::: code-group
```ts [my-test.test.ts]
import { mockResponses } from "../test/utils";
describe("My API test", () => {
it("mocks correctly", async () => {
mockResponses({
"/users/{user_id}": {
// ✅ Correct 200 response
get: { status: 200, body: { id: "user-id", name: "User Name" } },
// ✅ Correct 403 response
delete: { status: 403, body: { code: "403", message: "Unauthorized" } },
},
"/users": {
// ✅ Correct 201 response
put: { 201: { status: "success" } },
},
});
// test 1: GET /users/{user_id}: 200
await fetch("/users/user-123");
// test 2: DELETE /users/{user_id}: 403
await fetch("/users/user-123", { method: "DELETE" });
// test 3: PUT /users: 200
await fetch("/users", {
method: "PUT",
body: JSON.stringify({ id: "new-user", name: "New User" }),
});
// test cleanup
fetchMock.resetMocks();
});
});
```
:::
_Note: this example uses a vanilla `fetch()` function, but any fetch wrapper—including [openapi-fetch](/openapi-fetch/)—could be dropped in instead without any changes._
And the magic that produces this would live in a `test/utils.ts` file that can be copy + pasted where desired (hidden for simplicity):
<details>
<summary>📄 <strong>test/utils.ts</strong></summary>
::: code-group
```ts [test/utils.ts]
import type { paths } from "./my-openapi-3-schema"; // generated by openapi-typescript
// Settings
// ⚠️ Important: change this! This prefixes all URLs
const BASE_URL = "https://myapi.com/v1";
// End Settings
// type helpers — ignore these; these just make TS lookups better
type FilterKeys<Obj, Matchers> = {
[K in keyof Obj]: K extends Matchers ? Obj[K] : never;
}[keyof Obj];
type PathResponses<T> = T extends { responses: any } ? T["responses"] : unknown;
type OperationContent<T> = T extends { content: any } ? T["content"] : unknown;
type MediaType = `${string}/${string}`;
type MockedResponse<T, Status extends keyof T = keyof T> =
FilterKeys<OperationContent<T[Status]>, MediaType> extends never
? { status: Status; body?: never }
: {
status: Status;
body: FilterKeys<OperationContent<T[Status]>, MediaType>;
};
/**
* Mock fetch() calls and type against OpenAPI schema
*/
export function mockResponses(responses: {
[Path in keyof Partial<paths>]: {
[Method in keyof Partial<paths[Path]>]: MockedResponse<
PathResponses<paths[Path][Method]>
>;
};
}) {
fetchMock.mockResponse((req) => {
const mockedPath = findPath(
req.url.replace(BASE_URL, ""),
Object.keys(responses)
)!;
// note: we get lazy with the types here, because the inference is bad anyway and this has a `void` return signature. The important bit is the parameter signature.
if (!mockedPath || (!responses as any)[mockedPath])
throw new Error(`No mocked response for ${req.url}`); // throw error if response not mocked (remove or modify if you’d like different behavior)
const method = req.method.toLowerCase();
if (!(responses as any)[mockedPath][method])
throw new Error(`${req.method} called but not mocked on ${mockedPath}`); // likewise throw error if other parts of response aren’t mocked
if (!(responses as any)[mockedPath][method]) {
throw new Error(`${req.method} called but not mocked on ${mockedPath}`);
}
const { status, body } = (responses as any)[mockedPath][method];
return { status, body: JSON.stringify(body) };
});
}
// helper function that matches a realistic URL (/users/123) to an OpenAPI path (/users/{user_id}
export function findPath(
actual: string,
testPaths: string[]
): string | undefined {
const url = new URL(
actual,
actual.startsWith("http") ? undefined : "http://testapi.com"
);
const actualParts = url.pathname.split("/");
for (const p of testPaths) {
let matched = true;
const testParts = p.split("/");
if (actualParts.length !== testParts.length) continue; // automatically not a match if lengths differ
for (let i = 0; i < testParts.length; i++) {
if (testParts[i]!.startsWith("{")) continue; // path params ({user_id}) always count as a match
if (actualParts[i] !== testParts[i]) {
matched = false;
break;
}
}
if (matched) return p;
}
}
```
:::
::: info Additional Explanation
That code is quite above is quite a doozy! For the most part, it’s a lot of implementation detail you can ignore. The `mockResponses(…)` function signature is where all the important magic happens—you’ll notice a direct link between this structure and our design. From there, the rest of the code is just making the runtime work as expected.
:::
```ts
export function mockResponses(responses: {
[Path in keyof Partial<paths>]: {
[Method in keyof Partial<paths[Path]>]: MockedResponse<
PathResponses<paths[Path][Method]>
>;
};
});
```
</details>
Now, whenever your schema updates, **all your mock data will be typechecked correctly** 🎉. This is a huge step in ensuring resilient, accurate tests.
=======================================
gitextract_547idzy3/ ├── .changeset/ │ ├── config.json │ ├── fix-empty-error-response.md │ ├── honest-comics-worry.md │ ├── loose-enum-autocomplete.md │ └── yellow-meteors-rush.md ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── 01_openapi-typescript-bug.yml │ │ ├── 01_openapi-typescript-feat.yml │ │ ├── 02_openapi-fetch-bug.yml │ │ ├── 02_openapi-fetch-feat.yml │ │ ├── 03_openapi-react-query-bug.yml │ │ ├── 03_openapi-react-query-feat.yml │ │ └── config.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── ci.yml │ ├── issue-stale.yml │ ├── issue.yml │ ├── release.yml │ └── size-limit.yml ├── .gitignore ├── .nvmrc ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── GOVERNANCE.md ├── LICENSE ├── MAINTAINERS.md ├── README.md ├── biome.json ├── docs/ │ ├── .gitignore │ ├── .vitepress/ │ │ ├── config.ts │ │ ├── en.ts │ │ ├── ja.ts │ │ ├── shared.ts │ │ ├── theme/ │ │ │ ├── Contributors.vue │ │ │ ├── CustomLayout.vue │ │ │ ├── SponsorList.vue │ │ │ ├── index.ts │ │ │ └── style.css │ │ └── zh.ts │ ├── 6.x/ │ │ ├── about.md │ │ ├── advanced.md │ │ ├── cli.md │ │ ├── introduction.md │ │ └── node.md │ ├── CONTRIBUTING.md │ ├── README.md │ ├── _redirects │ ├── about.md │ ├── advanced.md │ ├── cli.md │ ├── data/ │ │ ├── contributors.json │ │ └── sponsors.json │ ├── examples.md │ ├── index.md │ ├── introduction.md │ ├── ja/ │ │ ├── about.md │ │ ├── advanced.md │ │ ├── cli.md │ │ ├── examples.md │ │ ├── index.md │ │ ├── introduction.md │ │ ├── migration-guide.md │ │ ├── node.md │ │ ├── openapi-fetch/ │ │ │ ├── api.md │ │ │ ├── examples.md │ │ │ ├── index.md │ │ │ ├── middleware-auth.md │ │ │ └── testing.md │ │ └── openapi-react-query/ │ │ ├── index.md │ │ ├── use-mutation.md │ │ ├── use-query.md │ │ └── use-suspense-query.md │ ├── migration-guide.md │ ├── node.md │ ├── openapi-fetch/ │ │ ├── api.md │ │ ├── examples.md │ │ ├── index.md │ │ ├── middleware-auth.md │ │ └── testing.md │ ├── openapi-react-query/ │ │ ├── index.md │ │ ├── query-options.md │ │ ├── use-infinite-query.md │ │ ├── use-mutation.md │ │ ├── use-query.md │ │ └── use-suspense-query.md │ ├── package.json │ ├── public/ │ │ ├── googlec446be7f016b2162.html │ │ ├── make-scrollable-code-focusable.js │ │ └── robots.txt │ ├── scripts/ │ │ └── update-contributors.js │ ├── tsconfig.json │ └── zh/ │ ├── about.md │ ├── advanced.md │ ├── cli.md │ ├── examples.md │ ├── index.md │ ├── introduction.md │ ├── node.md │ └── openapi-fetch/ │ ├── api.md │ ├── examples.md │ ├── index.md │ ├── middleware-auth.md │ └── testing.md ├── package.json ├── packages/ │ ├── openapi-fetch/ │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── biome.json │ │ ├── build.config.ts │ │ ├── examples/ │ │ │ ├── nextjs/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── app/ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── lib/ │ │ │ │ │ └── api/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── v1.d.ts │ │ │ │ │ └── v1.json │ │ │ │ ├── next.config.js │ │ │ │ ├── package.json │ │ │ │ └── tsconfig.json │ │ │ ├── sveltekit/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── app.d.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── hooks.server.ts │ │ │ │ │ ├── lib/ │ │ │ │ │ │ └── api/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── v1.d.ts │ │ │ │ │ │ └── v1.json │ │ │ │ │ └── routes/ │ │ │ │ │ ├── +page.svelte │ │ │ │ │ └── page-data/ │ │ │ │ │ ├── +page.svelte │ │ │ │ │ └── +page.ts │ │ │ │ ├── svelte.config.js │ │ │ │ ├── tsconfig.json │ │ │ │ └── vite.config.ts │ │ │ └── vue-3/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── env.d.ts │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.vue │ │ │ │ ├── assets/ │ │ │ │ │ ├── base.css │ │ │ │ │ └── main.css │ │ │ │ ├── composables/ │ │ │ │ │ └── catfact-query.ts │ │ │ │ ├── generated/ │ │ │ │ │ └── catfact.d.ts │ │ │ │ ├── lib/ │ │ │ │ │ └── index.ts │ │ │ │ ├── main.ts │ │ │ │ └── schema/ │ │ │ │ └── catfact.json │ │ │ ├── tsconfig.app.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ ├── package.json │ │ ├── playwright.config.ts │ │ ├── src/ │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── test/ │ │ │ ├── bench/ │ │ │ │ └── index.bench.js │ │ │ ├── common/ │ │ │ │ ├── create-client-e2e.test.js │ │ │ │ ├── create-client.test.ts │ │ │ │ ├── params.test.ts │ │ │ │ ├── request.test.ts │ │ │ │ ├── response.test.ts │ │ │ │ └── schemas/ │ │ │ │ ├── common.d.ts │ │ │ │ └── common.yaml │ │ │ ├── e2e/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── index.html │ │ │ │ │ ├── schemas/ │ │ │ │ │ │ ├── e2e.d.ts │ │ │ │ │ │ └── e2e.yaml │ │ │ │ │ └── vite.config.ts │ │ │ │ └── index.e2e.ts │ │ │ ├── examples/ │ │ │ │ ├── examples.test.ts │ │ │ │ └── schemas/ │ │ │ │ ├── github.d.ts │ │ │ │ └── stripe.d.ts │ │ │ ├── helpers.ts │ │ │ ├── http-methods/ │ │ │ │ ├── delete.test.ts │ │ │ │ ├── get.test.ts │ │ │ │ ├── head.test.ts │ │ │ │ ├── options.test.ts │ │ │ │ ├── patch.test.ts │ │ │ │ ├── post.test.ts │ │ │ │ ├── put.test.ts │ │ │ │ ├── request.test.ts │ │ │ │ ├── schemas/ │ │ │ │ │ ├── delete.d.ts │ │ │ │ │ ├── delete.yaml │ │ │ │ │ ├── get.d.ts │ │ │ │ │ ├── get.yaml │ │ │ │ │ ├── head.d.ts │ │ │ │ │ ├── head.yaml │ │ │ │ │ ├── options.d.ts │ │ │ │ │ ├── options.yaml │ │ │ │ │ ├── patch.d.ts │ │ │ │ │ ├── patch.yaml │ │ │ │ │ ├── post.d.ts │ │ │ │ │ ├── post.yaml │ │ │ │ │ ├── put.d.ts │ │ │ │ │ ├── put.yaml │ │ │ │ │ ├── trace.d.ts │ │ │ │ │ └── trace.yaml │ │ │ │ └── trace.test.ts │ │ │ ├── middleware/ │ │ │ │ ├── middleware.test.ts │ │ │ │ └── schemas/ │ │ │ │ ├── middleware.d.ts │ │ │ │ └── middleware.yaml │ │ │ ├── never-response/ │ │ │ │ ├── never-response.test.ts │ │ │ │ └── schemas/ │ │ │ │ ├── never-response.d.ts │ │ │ │ └── never-response.yaml │ │ │ ├── no-strict-null-checks/ │ │ │ │ ├── no-strict-null-checks.test.ts │ │ │ │ └── tsconfig.json │ │ │ ├── path-based-client/ │ │ │ │ ├── path-based-client.test.ts │ │ │ │ └── schemas/ │ │ │ │ ├── path-based-client.d.ts │ │ │ │ └── path-based-client.yaml │ │ │ ├── read-write-visibility/ │ │ │ │ ├── read-write.test.ts │ │ │ │ └── schemas/ │ │ │ │ ├── read-write.d.ts │ │ │ │ └── read-write.yaml │ │ │ ├── redocly.yaml │ │ │ └── types.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── openapi-metadata/ │ │ └── README.md │ ├── openapi-react-query/ │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── biome.json │ │ ├── build.config.ts │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ ├── api.d.ts │ │ │ │ ├── api.yaml │ │ │ │ └── mock-server.ts │ │ │ └── index.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── openapi-typescript/ │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin/ │ │ │ └── cli.js │ │ ├── biome.json │ │ ├── build.config.ts │ │ ├── examples/ │ │ │ ├── README.md │ │ │ ├── digital-ocean-api/ │ │ │ │ ├── DigitalOcean-public.v2.yaml │ │ │ │ ├── description.yml │ │ │ │ ├── resources/ │ │ │ │ │ ├── 1-clicks/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── oneClicks.yml │ │ │ │ │ │ │ │ └── oneClicks_create.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ ├── oneClicks.yml │ │ │ │ │ │ │ └── oneClicks_create.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── oneClicks.yml │ │ │ │ │ │ │ └── oneClicks_create.yml │ │ │ │ │ │ ├── oneClicks_install_kubernetes.yml │ │ │ │ │ │ ├── oneClicks_list.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── oneClicks_all.yml │ │ │ │ │ │ └── oneClicks_create.yml │ │ │ │ │ ├── account/ │ │ │ │ │ │ ├── account_get.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ └── account_get.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ └── account_get.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ └── account.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ └── account.yml │ │ │ │ │ ├── actions/ │ │ │ │ │ │ ├── actions_get.yml │ │ │ │ │ │ ├── actions_list.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── actions_get.yml │ │ │ │ │ │ │ │ └── actions_list.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── actions_get.yml │ │ │ │ │ │ │ │ └── actions_list.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── actions_get.yml │ │ │ │ │ │ │ │ └── actions_list.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── actions_get.yml │ │ │ │ │ │ │ └── actions_list.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ └── action.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── action.yml │ │ │ │ │ │ └── actions.yml │ │ │ │ │ ├── apps/ │ │ │ │ │ │ ├── apps_assign_alertDestinations.yml │ │ │ │ │ │ ├── apps_cancel_deployment.yml │ │ │ │ │ │ ├── apps_commit_rollback.yml │ │ │ │ │ │ ├── apps_create.yml │ │ │ │ │ │ ├── apps_create_deployment.yml │ │ │ │ │ │ ├── apps_create_rollback.yml │ │ │ │ │ │ ├── apps_delete.yml │ │ │ │ │ │ ├── apps_get.yml │ │ │ │ │ │ ├── apps_get_deployment.yml │ │ │ │ │ │ ├── apps_get_exec.yml │ │ │ │ │ │ ├── apps_get_exec_active_deployment.yml │ │ │ │ │ │ ├── apps_get_instanceSize.yml │ │ │ │ │ │ ├── apps_get_logs.yml │ │ │ │ │ │ ├── apps_get_logs_active_deployment.yml │ │ │ │ │ │ ├── apps_get_logs_active_deployment_aggregate.yml │ │ │ │ │ │ ├── apps_get_logs_aggregate.yml │ │ │ │ │ │ ├── apps_get_metrics_bandwidth_usage.yml │ │ │ │ │ │ ├── apps_get_tier.yml │ │ │ │ │ │ ├── apps_list.yml │ │ │ │ │ │ ├── apps_list_alerts.yml │ │ │ │ │ │ ├── apps_list_deployments.yml │ │ │ │ │ │ ├── apps_list_instanceSizes.yml │ │ │ │ │ │ ├── apps_list_metrics_bandwidth_usage.yml │ │ │ │ │ │ ├── apps_list_regions.yml │ │ │ │ │ │ ├── apps_list_tiers.yml │ │ │ │ │ │ ├── apps_restart.yml │ │ │ │ │ │ ├── apps_revert_rollback.yml │ │ │ │ │ │ ├── apps_toggle_database_trusted_source.yml │ │ │ │ │ │ ├── apps_update.yml │ │ │ │ │ │ ├── apps_validate_appSpec.yml │ │ │ │ │ │ ├── apps_validate_rollback.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── apps_assign_alertDestinations.yml │ │ │ │ │ │ │ │ ├── apps_cancel_deployment.yml │ │ │ │ │ │ │ │ ├── apps_create.yml │ │ │ │ │ │ │ │ ├── apps_create_deployment.yml │ │ │ │ │ │ │ │ ├── apps_create_rollback.yml │ │ │ │ │ │ │ │ ├── apps_delete.yml │ │ │ │ │ │ │ │ ├── apps_get.yml │ │ │ │ │ │ │ │ ├── apps_get_deployment.yml │ │ │ │ │ │ │ │ ├── apps_get_exec.yml │ │ │ │ │ │ │ │ ├── apps_get_exec_active_deployment.yml │ │ │ │ │ │ │ │ ├── apps_get_instanceSize.yml │ │ │ │ │ │ │ │ ├── apps_get_logs.yml │ │ │ │ │ │ │ │ ├── apps_get_logs_active_deployment.yml │ │ │ │ │ │ │ │ ├── apps_get_logs_active_deployment_aggregate.yml │ │ │ │ │ │ │ │ ├── apps_get_logs_aggregate.yml │ │ │ │ │ │ │ │ ├── apps_get_metrics_bandwidth_usage.yml │ │ │ │ │ │ │ │ ├── apps_get_tier.yml │ │ │ │ │ │ │ │ ├── apps_list.yml │ │ │ │ │ │ │ │ ├── apps_list_alerts.yml │ │ │ │ │ │ │ │ ├── apps_list_deployments.yml │ │ │ │ │ │ │ │ ├── apps_list_instanceSizes.yml │ │ │ │ │ │ │ │ ├── apps_list_metrics_bandwidth_usage.yml │ │ │ │ │ │ │ │ ├── apps_list_regions.yml │ │ │ │ │ │ │ │ ├── apps_list_tiers.yml │ │ │ │ │ │ │ │ ├── apps_restart.yml │ │ │ │ │ │ │ │ ├── apps_toggle_database_trusted_source.yml │ │ │ │ │ │ │ │ ├── apps_update.yml │ │ │ │ │ │ │ │ ├── apps_validate_rollback.yml │ │ │ │ │ │ │ │ ├── commit_app_rollback.yml │ │ │ │ │ │ │ │ ├── revert_app_rollback.yml │ │ │ │ │ │ │ │ ├── rollback_app.yml │ │ │ │ │ │ │ │ └── validate_app_rollback.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ ├── apps_assign_alertDestinations.yml │ │ │ │ │ │ │ ├── apps_cancel_deployment.yml │ │ │ │ │ │ │ ├── apps_create.yml │ │ │ │ │ │ │ ├── apps_create_deployment.yml │ │ │ │ │ │ │ ├── apps_create_rollback.yml │ │ │ │ │ │ │ ├── apps_delete.yml │ │ │ │ │ │ │ ├── apps_get.yml │ │ │ │ │ │ │ ├── apps_get_deployment.yml │ │ │ │ │ │ │ ├── apps_get_exec.yml │ │ │ │ │ │ │ ├── apps_get_exec_active_deployment.yml │ │ │ │ │ │ │ ├── apps_get_instanceSize.yml │ │ │ │ │ │ │ ├── apps_get_logs.yml │ │ │ │ │ │ │ ├── apps_get_logs_active_deployment.yml │ │ │ │ │ │ │ ├── apps_get_logs_active_deployment_aggregate.yml │ │ │ │ │ │ │ ├── apps_get_logs_aggregate.yml │ │ │ │ │ │ │ ├── apps_get_metrics_bandwidth_usage.yml │ │ │ │ │ │ │ ├── apps_get_tier.yml │ │ │ │ │ │ │ ├── apps_list.yml │ │ │ │ │ │ │ ├── apps_list_alerts.yml │ │ │ │ │ │ │ ├── apps_list_deployments.yml │ │ │ │ │ │ │ ├── apps_list_instanceSizes.yml │ │ │ │ │ │ │ ├── apps_list_metrics_bandwidth_usage.yml │ │ │ │ │ │ │ ├── apps_list_regions.yml │ │ │ │ │ │ │ ├── apps_list_tiers.yml │ │ │ │ │ │ │ ├── apps_restart.yml │ │ │ │ │ │ │ ├── apps_toggle_database_trusted_source.yml │ │ │ │ │ │ │ ├── apps_update.yml │ │ │ │ │ │ │ ├── apps_validate_rollback.yml │ │ │ │ │ │ │ ├── commit_app_rollback.yml │ │ │ │ │ │ │ ├── revert_app_rollback.yml │ │ │ │ │ │ │ ├── rollback_app.yml │ │ │ │ │ │ │ └── validate_app_rollback.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── app.yml │ │ │ │ │ │ │ ├── app_alert.yml │ │ │ │ │ │ │ ├── app_alert_email.yml │ │ │ │ │ │ │ ├── app_alert_phase.yml │ │ │ │ │ │ │ ├── app_alert_progress.yml │ │ │ │ │ │ │ ├── app_alert_progress_step.yml │ │ │ │ │ │ │ ├── app_alert_progress_step_reason.yml │ │ │ │ │ │ │ ├── app_alert_progress_step_status.yml │ │ │ │ │ │ │ ├── app_alert_slack_webhook.yml │ │ │ │ │ │ │ ├── app_alert_spec.yml │ │ │ │ │ │ │ ├── app_alert_spec_operator.yml │ │ │ │ │ │ │ ├── app_alert_spec_rule.yml │ │ │ │ │ │ │ ├── app_alert_spec_window.yml │ │ │ │ │ │ │ ├── app_component_base.yml │ │ │ │ │ │ │ ├── app_component_instance_base.yml │ │ │ │ │ │ │ ├── app_database_spec.yml │ │ │ │ │ │ │ ├── app_domain_spec.yml │ │ │ │ │ │ │ ├── app_domain_validation.yml │ │ │ │ │ │ │ ├── app_egress_spec.yml │ │ │ │ │ │ │ ├── app_egress_type_spec.yml │ │ │ │ │ │ │ ├── app_functions_spec.yml │ │ │ │ │ │ │ ├── app_ingress_spec.yml │ │ │ │ │ │ │ ├── app_ingress_spec_rule.yml │ │ │ │ │ │ │ ├── app_ingress_spec_rule_match.yml │ │ │ │ │ │ │ ├── app_ingress_spec_rule_routing_component.yml │ │ │ │ │ │ │ ├── app_ingress_spec_rule_routing_redirect.yml │ │ │ │ │ │ │ ├── app_ingress_spec_rule_string_match.yml │ │ │ │ │ │ │ ├── app_job_spec.yml │ │ │ │ │ │ │ ├── app_job_spec_termination.yml │ │ │ │ │ │ │ ├── app_log_destination_datadog_spec.yml │ │ │ │ │ │ │ ├── app_log_destination_definition.yml │ │ │ │ │ │ │ ├── app_log_destination_logtail_spec.yml │ │ │ │ │ │ │ ├── app_log_destination_open_search_spec.yml │ │ │ │ │ │ │ ├── app_log_destination_open_search_spec_basic_auth.yml │ │ │ │ │ │ │ ├── app_log_destination_papertrail_spec.yml │ │ │ │ │ │ │ ├── app_maintenance_spec.yml │ │ │ │ │ │ │ ├── app_metrics_bandwidth_usage.yml │ │ │ │ │ │ │ ├── app_metrics_bandwidth_usage_details.yml │ │ │ │ │ │ │ ├── app_metrics_bandwidth_usage_request.yml │ │ │ │ │ │ │ ├── app_propose.yml │ │ │ │ │ │ │ ├── app_propose_response.yml │ │ │ │ │ │ │ ├── app_response.yml │ │ │ │ │ │ │ ├── app_rollback_validation_condition.yml │ │ │ │ │ │ │ ├── app_route_spec.yml │ │ │ │ │ │ │ ├── app_service_spec.yml │ │ │ │ │ │ │ ├── app_service_spec_health_check.yml │ │ │ │ │ │ │ ├── app_service_spec_termination.yml │ │ │ │ │ │ │ ├── app_spec.yml │ │ │ │ │ │ │ ├── app_static_site_spec.yml │ │ │ │ │ │ │ ├── app_variable_definition.yml │ │ │ │ │ │ │ ├── app_worker_spec.yml │ │ │ │ │ │ │ ├── app_worker_spec_termination.yml │ │ │ │ │ │ │ ├── apps_alert_response.yml │ │ │ │ │ │ │ ├── apps_assign_app_alert_destinations_request.yml │ │ │ │ │ │ │ ├── apps_bitbucket_source_spec.yml │ │ │ │ │ │ │ ├── apps_cors_policy.yml │ │ │ │ │ │ │ ├── apps_create_app_request.yml │ │ │ │ │ │ │ ├── apps_create_deployment_request.yml │ │ │ │ │ │ │ ├── apps_dedicated_egress_ip.yml │ │ │ │ │ │ │ ├── apps_dedicated_egress_ip_status.yml │ │ │ │ │ │ │ ├── apps_delete_app_response.yml │ │ │ │ │ │ │ ├── apps_deploy_template.yml │ │ │ │ │ │ │ ├── apps_deployment.yml │ │ │ │ │ │ │ ├── apps_deployment_functions.yml │ │ │ │ │ │ │ ├── apps_deployment_job.yml │ │ │ │ │ │ │ ├── apps_deployment_phase.yml │ │ │ │ │ │ │ ├── apps_deployment_progress.yml │ │ │ │ │ │ │ ├── apps_deployment_progress_step.yml │ │ │ │ │ │ │ ├── apps_deployment_progress_step_reason.yml │ │ │ │ │ │ │ ├── apps_deployment_progress_step_status.yml │ │ │ │ │ │ │ ├── apps_deployment_response.yml │ │ │ │ │ │ │ ├── apps_deployment_service.yml │ │ │ │ │ │ │ ├── apps_deployment_static_site.yml │ │ │ │ │ │ │ ├── apps_deployment_worker.yml │ │ │ │ │ │ │ ├── apps_deployments_response.yml │ │ │ │ │ │ │ ├── apps_domain.yml │ │ │ │ │ │ │ ├── apps_domain_phase.yml │ │ │ │ │ │ │ ├── apps_domain_progress.yml │ │ │ │ │ │ │ ├── apps_domain_progress_step.yml │ │ │ │ │ │ │ ├── apps_domain_progress_step_reason.yml │ │ │ │ │ │ │ ├── apps_domain_progress_step_status.yml │ │ │ │ │ │ │ ├── apps_get_exec_response.yml │ │ │ │ │ │ │ ├── apps_get_instance_size_response.yml │ │ │ │ │ │ │ ├── apps_get_logs_request_type.yml │ │ │ │ │ │ │ ├── apps_get_logs_response.yml │ │ │ │ │ │ │ ├── apps_get_tier_response.yml │ │ │ │ │ │ │ ├── apps_git_source_spec.yml │ │ │ │ │ │ │ ├── apps_github_source_spec.yml │ │ │ │ │ │ │ ├── apps_gitlab_source_spec.yml │ │ │ │ │ │ │ ├── apps_image_source_spec.yml │ │ │ │ │ │ │ ├── apps_instance_size.yml │ │ │ │ │ │ │ ├── apps_list_alerts_response.yml │ │ │ │ │ │ │ ├── apps_list_instance_sizes_response.yml │ │ │ │ │ │ │ ├── apps_list_regions_response.yml │ │ │ │ │ │ │ ├── apps_list_tiers_response.yml │ │ │ │ │ │ │ ├── apps_propose_app_response.yml │ │ │ │ │ │ │ ├── apps_propose_domain_response.yml │ │ │ │ │ │ │ ├── apps_region.yml │ │ │ │ │ │ │ ├── apps_response.yml │ │ │ │ │ │ │ ├── apps_restart_request.yml │ │ │ │ │ │ │ ├── apps_rollback_app_request.yml │ │ │ │ │ │ │ ├── apps_string_match.yml │ │ │ │ │ │ │ ├── apps_tier.yml │ │ │ │ │ │ │ ├── apps_update_app_request.yml │ │ │ │ │ │ │ ├── instance_size_cpu_type.yml │ │ │ │ │ │ │ ├── propose_domain_response_app_domain.yml │ │ │ │ │ │ │ ├── propose_domain_response_do_domain_record.yml │ │ │ │ │ │ │ └── toggle_database_trusted_source_request.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_tiers.yml │ │ │ │ │ │ ├── apps_get.yml │ │ │ │ │ │ ├── apps_validate_rollback.yml │ │ │ │ │ │ ├── assign_alert_destinations.yml │ │ │ │ │ │ ├── cancel_deployment.yml │ │ │ │ │ │ ├── delete_app.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── existing_deployments.yml │ │ │ │ │ │ ├── get_exec.yml │ │ │ │ │ │ ├── get_instance.yml │ │ │ │ │ │ ├── get_metrics_bandwidth_usage.yml │ │ │ │ │ │ ├── get_tier.yml │ │ │ │ │ │ ├── list_alerts.yml │ │ │ │ │ │ ├── list_apps.yml │ │ │ │ │ │ ├── list_deployment.yml │ │ │ │ │ │ ├── list_instance.yml │ │ │ │ │ │ ├── list_logs.yml │ │ │ │ │ │ ├── list_metrics_bandwidth_usage.yml │ │ │ │ │ │ ├── list_regions.yml │ │ │ │ │ │ ├── new_app.yml │ │ │ │ │ │ ├── new_app_deployment.yml │ │ │ │ │ │ ├── propose_app.yml │ │ │ │ │ │ ├── toggle_database_trusted_source.yml │ │ │ │ │ │ └── update_app.yml │ │ │ │ │ ├── autoscale_pools/ │ │ │ │ │ │ ├── autoscale_pool_create.yml │ │ │ │ │ │ ├── autoscale_pool_delete.yml │ │ │ │ │ │ ├── autoscale_pool_delete_dangerous.yml │ │ │ │ │ │ ├── autoscale_pool_get.yml │ │ │ │ │ │ ├── autoscale_pool_list.yml │ │ │ │ │ │ ├── autoscale_pool_list_history.yml │ │ │ │ │ │ ├── autoscale_pool_list_members.yml │ │ │ │ │ │ ├── autoscale_pool_update.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ └── curl/ │ │ │ │ │ │ │ ├── autoscale_pool_create.yml │ │ │ │ │ │ │ ├── autoscale_pool_delete.yml │ │ │ │ │ │ │ ├── autoscale_pool_delete_dangerous.yml │ │ │ │ │ │ │ ├── autoscale_pool_get.yml │ │ │ │ │ │ │ ├── autoscale_pool_history_events.yml │ │ │ │ │ │ │ ├── autoscale_pool_members.yml │ │ │ │ │ │ │ ├── autoscale_pool_update.yml │ │ │ │ │ │ │ └── autoscale_pools_list.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── autoscale_pool.yml │ │ │ │ │ │ │ ├── autoscale_pool_create.yml │ │ │ │ │ │ │ ├── autoscale_pool_droplet_template.yml │ │ │ │ │ │ │ ├── autoscale_pool_dynamic_config.yml │ │ │ │ │ │ │ ├── autoscale_pool_static_config.yml │ │ │ │ │ │ │ ├── current_utilization.yml │ │ │ │ │ │ │ ├── history.yml │ │ │ │ │ │ │ ├── member.yml │ │ │ │ │ │ │ └── member_current_utilization.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_autoscale_pools.yml │ │ │ │ │ │ ├── all_members.yml │ │ │ │ │ │ ├── autoscale_pool_create.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── existing_autoscale_pool.yml │ │ │ │ │ │ └── history_events.yml │ │ │ │ │ ├── billing/ │ │ │ │ │ │ ├── balance_get.yml │ │ │ │ │ │ ├── billingHistory_list.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── balance_get.yml │ │ │ │ │ │ │ │ ├── billingHistory_list.yml │ │ │ │ │ │ │ │ ├── invoices_get_byUUID.yml │ │ │ │ │ │ │ │ ├── invoices_get_csvByUUID.yml │ │ │ │ │ │ │ │ ├── invoices_get_pdfByUUID.yml │ │ │ │ │ │ │ │ ├── invoices_get_summaryByUUID.yml │ │ │ │ │ │ │ │ └── invoices_list.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ ├── balance_get.yml │ │ │ │ │ │ │ ├── billingHistory_list.yml │ │ │ │ │ │ │ ├── invoices_get_byUUID.yml │ │ │ │ │ │ │ ├── invoices_get_csvByUUID.yml │ │ │ │ │ │ │ ├── invoices_get_pdfByUUID.yml │ │ │ │ │ │ │ ├── invoices_get_summaryByUUID.yml │ │ │ │ │ │ │ └── invoices_list.yml │ │ │ │ │ │ ├── invoices_get_byUUID.yml │ │ │ │ │ │ ├── invoices_get_csvByUUID.yml │ │ │ │ │ │ ├── invoices_get_pdfByUUID.yml │ │ │ │ │ │ ├── invoices_get_summaryByUUID.yml │ │ │ │ │ │ ├── invoices_list.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── balance.yml │ │ │ │ │ │ │ ├── billing_address.yml │ │ │ │ │ │ │ ├── billing_history.yml │ │ │ │ │ │ │ ├── invoice_item.yml │ │ │ │ │ │ │ ├── invoice_preview.yml │ │ │ │ │ │ │ ├── invoice_summary.yml │ │ │ │ │ │ │ ├── product_charge_item.yml │ │ │ │ │ │ │ ├── product_usage_charges.yml │ │ │ │ │ │ │ └── simple_charge.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── balance.yml │ │ │ │ │ │ ├── billing_history.yml │ │ │ │ │ │ ├── invoice.yml │ │ │ │ │ │ ├── invoice_csv.yml │ │ │ │ │ │ ├── invoice_pdf.yml │ │ │ │ │ │ ├── invoice_summary.yml │ │ │ │ │ │ └── invoices.yml │ │ │ │ │ ├── cdn/ │ │ │ │ │ │ ├── cdn_create_endpoint.yml │ │ │ │ │ │ ├── cdn_delete_endpoint.yml │ │ │ │ │ │ ├── cdn_get_endpoint.yml │ │ │ │ │ │ ├── cdn_list_endpoints.yml │ │ │ │ │ │ ├── cdn_purge_cache.yml │ │ │ │ │ │ ├── cdn_update_endpoint.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── endpoints_create.yml │ │ │ │ │ │ │ │ ├── endpoints_delete.yml │ │ │ │ │ │ │ │ ├── endpoints_get.yml │ │ │ │ │ │ │ │ ├── endpoints_list.yml │ │ │ │ │ │ │ │ ├── endpoints_update.yml │ │ │ │ │ │ │ │ └── purge_cdn_cache.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── endpoints_create.yml │ │ │ │ │ │ │ │ ├── endpoints_delete.yml │ │ │ │ │ │ │ │ ├── endpoints_get.yml │ │ │ │ │ │ │ │ ├── endpoints_list.yml │ │ │ │ │ │ │ │ ├── endpoints_update.yml │ │ │ │ │ │ │ │ └── purge_cdn_cache.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── endpoints_create.yml │ │ │ │ │ │ │ │ ├── endpoints_delete.yml │ │ │ │ │ │ │ │ ├── endpoints_get.yml │ │ │ │ │ │ │ │ ├── endpoints_list.yml │ │ │ │ │ │ │ │ ├── endpoints_update.yml │ │ │ │ │ │ │ │ └── purge_cdn_cache.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── endpoints_create.yml │ │ │ │ │ │ │ ├── endpoints_delete.yml │ │ │ │ │ │ │ ├── endpoints_get.yml │ │ │ │ │ │ │ ├── endpoints_list.yml │ │ │ │ │ │ │ ├── endpoints_update.yml │ │ │ │ │ │ │ └── purge_cdn_cache.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── cdn_endpoint.yml │ │ │ │ │ │ │ ├── purge_cache.yml │ │ │ │ │ │ │ └── update_endpoint.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_cdn_endpoints.yml │ │ │ │ │ │ └── existing_endpoint.yml │ │ │ │ │ ├── certificates/ │ │ │ │ │ │ ├── certificates_create.yml │ │ │ │ │ │ ├── certificates_delete.yml │ │ │ │ │ │ ├── certificates_get.yml │ │ │ │ │ │ ├── certificates_list.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── certificates_create.yml │ │ │ │ │ │ │ │ ├── certificates_delete.yml │ │ │ │ │ │ │ │ ├── certificates_get.yml │ │ │ │ │ │ │ │ └── certificates_list.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── certificates_create.yml │ │ │ │ │ │ │ │ ├── certificates_delete.yml │ │ │ │ │ │ │ │ ├── certificates_get.yml │ │ │ │ │ │ │ │ └── certificates_list.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── certificates_create.yml │ │ │ │ │ │ │ │ ├── certificates_delete.yml │ │ │ │ │ │ │ │ ├── certificates_get.yml │ │ │ │ │ │ │ │ └── certificates_list.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── certificates_create.yml │ │ │ │ │ │ │ ├── certificates_delete.yml │ │ │ │ │ │ │ ├── certificates_get.yml │ │ │ │ │ │ │ └── certificates_list.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── certificate.yml │ │ │ │ │ │ │ └── certificate_create.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_certificates.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── existing_certificate.yml │ │ │ │ │ │ └── new_certificate.yml │ │ │ │ │ ├── databases/ │ │ │ │ │ │ ├── databases_add.yml │ │ │ │ │ │ ├── databases_add_connectionPool.yml │ │ │ │ │ │ ├── databases_add_user.yml │ │ │ │ │ │ ├── databases_create_cluster.yml │ │ │ │ │ │ ├── databases_create_kafka_topic.yml │ │ │ │ │ │ ├── databases_create_logsink.yml │ │ │ │ │ │ ├── databases_create_replica.yml │ │ │ │ │ │ ├── databases_delete.yml │ │ │ │ │ │ ├── databases_delete_connectionPool.yml │ │ │ │ │ │ ├── databases_delete_kafka_topic.yml │ │ │ │ │ │ ├── databases_delete_logsink.yml │ │ │ │ │ │ ├── databases_delete_onlineMigration.yml │ │ │ │ │ │ ├── databases_delete_opensearch_index.yml │ │ │ │ │ │ ├── databases_delete_user.yml │ │ │ │ │ │ ├── databases_destroy_cluster.yml │ │ │ │ │ │ ├── databases_destroy_replica.yml │ │ │ │ │ │ ├── databases_events_logs.yml │ │ │ │ │ │ ├── databases_get.yml │ │ │ │ │ │ ├── databases_get_ca.yml │ │ │ │ │ │ ├── databases_get_cluster.yml │ │ │ │ │ │ ├── databases_get_cluster_metrics_credentials.yml │ │ │ │ │ │ ├── databases_get_config.yml │ │ │ │ │ │ ├── databases_get_connectionPool.yml │ │ │ │ │ │ ├── databases_get_evictionPolicy.yml │ │ │ │ │ │ ├── databases_get_kafka_topic.yml │ │ │ │ │ │ ├── databases_get_logsink.yml │ │ │ │ │ │ ├── databases_get_migrationStatus.yml │ │ │ │ │ │ ├── databases_get_replica.yml │ │ │ │ │ │ ├── databases_get_sql_mode.yml │ │ │ │ │ │ ├── databases_get_user.yml │ │ │ │ │ │ ├── databases_list.yml │ │ │ │ │ │ ├── databases_list_backups.yml │ │ │ │ │ │ ├── databases_list_clusters.yml │ │ │ │ │ │ ├── databases_list_connectionPools.yml │ │ │ │ │ │ ├── databases_list_firewall_rules.yml │ │ │ │ │ │ ├── databases_list_kafka_topics.yml │ │ │ │ │ │ ├── databases_list_logsink.yml │ │ │ │ │ │ ├── databases_list_opensearch_indexes.yml │ │ │ │ │ │ ├── databases_list_options.yml │ │ │ │ │ │ ├── databases_list_replicas.yml │ │ │ │ │ │ ├── databases_list_users.yml │ │ │ │ │ │ ├── databases_patch_config.yml │ │ │ │ │ │ ├── databases_promote_replica.yml │ │ │ │ │ │ ├── databases_reset_auth.yml │ │ │ │ │ │ ├── databases_update_clusterSize.yml │ │ │ │ │ │ ├── databases_update_cluster_metrics_credentials.yml │ │ │ │ │ │ ├── databases_update_connectionPool.yml │ │ │ │ │ │ ├── databases_update_evictionPolicy.yml │ │ │ │ │ │ ├── databases_update_firewall_rules.yml │ │ │ │ │ │ ├── databases_update_installUpdate.yml │ │ │ │ │ │ ├── databases_update_kafka_topic.yml │ │ │ │ │ │ ├── databases_update_logsink.yml │ │ │ │ │ │ ├── databases_update_maintenanceWindow.yml │ │ │ │ │ │ ├── databases_update_onlineMigration.yml │ │ │ │ │ │ ├── databases_update_region.yml │ │ │ │ │ │ ├── databases_update_sql_mode.yml │ │ │ │ │ │ ├── databases_update_user.yml │ │ │ │ │ │ ├── databases_upgrade_major_version.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── databases_add.yml │ │ │ │ │ │ │ │ ├── databases_add_connectionPool.yml │ │ │ │ │ │ │ │ ├── databases_add_user.yml │ │ │ │ │ │ │ │ ├── databases_create_cluster.yml │ │ │ │ │ │ │ │ ├── databases_create_logsink.yml │ │ │ │ │ │ │ │ ├── databases_create_replica.yml │ │ │ │ │ │ │ │ ├── databases_create_topic.yml │ │ │ │ │ │ │ │ ├── databases_delete.yml │ │ │ │ │ │ │ │ ├── databases_delete_connectionPool.yml │ │ │ │ │ │ │ │ ├── databases_delete_logsink.yml │ │ │ │ │ │ │ │ ├── databases_delete_onlineMigration.yml │ │ │ │ │ │ │ │ ├── databases_delete_opensearch_index.yml │ │ │ │ │ │ │ │ ├── databases_delete_topic.yml │ │ │ │ │ │ │ │ ├── databases_delete_user.yml │ │ │ │ │ │ │ │ ├── databases_destroy_cluster.yml │ │ │ │ │ │ │ │ ├── databases_destroy_replica.yml │ │ │ │ │ │ │ │ ├── databases_get.yml │ │ │ │ │ │ │ │ ├── databases_get_ca.yml │ │ │ │ │ │ │ │ ├── databases_get_cluster.yml │ │ │ │ │ │ │ │ ├── databases_get_cluster_metrics_credentials.yml │ │ │ │ │ │ │ │ ├── databases_get_config.yml │ │ │ │ │ │ │ │ ├── databases_get_connectionPool.yml │ │ │ │ │ │ │ │ ├── databases_get_evictionPolicy.yml │ │ │ │ │ │ │ │ ├── databases_get_logsink.yml │ │ │ │ │ │ │ │ ├── databases_get_migrationStatus.yml │ │ │ │ │ │ │ │ ├── databases_get_replica.yml │ │ │ │ │ │ │ │ ├── databases_get_sql_mode.yml │ │ │ │ │ │ │ │ ├── databases_get_topic.yml │ │ │ │ │ │ │ │ ├── databases_get_user.yml │ │ │ │ │ │ │ │ ├── databases_list.yml │ │ │ │ │ │ │ │ ├── databases_list_backups.yml │ │ │ │ │ │ │ │ ├── databases_list_clusters.yml │ │ │ │ │ │ │ │ ├── databases_list_connectionPools.yml │ │ │ │ │ │ │ │ ├── databases_list_events.yml │ │ │ │ │ │ │ │ ├── databases_list_firewall_rules.yml │ │ │ │ │ │ │ │ ├── databases_list_logsink.yml │ │ │ │ │ │ │ │ ├── databases_list_opensearch_indexes.yml │ │ │ │ │ │ │ │ ├── databases_list_options.yml │ │ │ │ │ │ │ │ ├── databases_list_replicas.yml │ │ │ │ │ │ │ │ ├── databases_list_topics.yml │ │ │ │ │ │ │ │ ├── databases_list_users.yml │ │ │ │ │ │ │ │ ├── databases_patch_config.yml │ │ │ │ │ │ │ │ ├── databases_promote_replica.yml │ │ │ │ │ │ │ │ ├── databases_reset_auth.yml │ │ │ │ │ │ │ │ ├── databases_update_clusterSize.yml │ │ │ │ │ │ │ │ ├── databases_update_cluster_metrics_credentials.yml │ │ │ │ │ │ │ │ ├── databases_update_connectionPool.yml │ │ │ │ │ │ │ │ ├── databases_update_evictionPolicy.yml │ │ │ │ │ │ │ │ ├── databases_update_firewall_rules.yml │ │ │ │ │ │ │ │ ├── databases_update_installUpdate.yml │ │ │ │ │ │ │ │ ├── databases_update_logsink.yml │ │ │ │ │ │ │ │ ├── databases_update_maintenanceWindow.yml │ │ │ │ │ │ │ │ ├── databases_update_onlineMigration.yml │ │ │ │ │ │ │ │ ├── databases_update_region.yml │ │ │ │ │ │ │ │ ├── databases_update_sql_mode.yml │ │ │ │ │ │ │ │ ├── databases_update_topic.yml │ │ │ │ │ │ │ │ ├── databases_update_user.yml │ │ │ │ │ │ │ │ └── databases_upgrade_version.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── databases_add.yml │ │ │ │ │ │ │ │ ├── databases_add_connectionPool.yml │ │ │ │ │ │ │ │ ├── databases_add_user.yml │ │ │ │ │ │ │ │ ├── databases_create_cluster.yml │ │ │ │ │ │ │ │ ├── databases_create_replica.yml │ │ │ │ │ │ │ │ ├── databases_create_topic.yml │ │ │ │ │ │ │ │ ├── databases_delete.yml │ │ │ │ │ │ │ │ ├── databases_delete_connectionPool.yml │ │ │ │ │ │ │ │ ├── databases_delete_opensearch_index.yml │ │ │ │ │ │ │ │ ├── databases_delete_topic.yml │ │ │ │ │ │ │ │ ├── databases_delete_user.yml │ │ │ │ │ │ │ │ ├── databases_destroy_cluster.yml │ │ │ │ │ │ │ │ ├── databases_destroy_replica.yml │ │ │ │ │ │ │ │ ├── databases_get.yml │ │ │ │ │ │ │ │ ├── databases_get_ca.yml │ │ │ │ │ │ │ │ ├── databases_get_cluster.yml │ │ │ │ │ │ │ │ ├── databases_get_cluster_metrics_credentials.yml │ │ │ │ │ │ │ │ ├── databases_get_connectionPool.yml │ │ │ │ │ │ │ │ ├── databases_get_evictionPolicy.yml │ │ │ │ │ │ │ │ ├── databases_get_replica.yml │ │ │ │ │ │ │ │ ├── databases_get_sql_mode.yml │ │ │ │ │ │ │ │ ├── databases_get_topic.yml │ │ │ │ │ │ │ │ ├── databases_get_user.yml │ │ │ │ │ │ │ │ ├── databases_list.yml │ │ │ │ │ │ │ │ ├── databases_list_backups.yml │ │ │ │ │ │ │ │ ├── databases_list_clusters.yml │ │ │ │ │ │ │ │ ├── databases_list_connectionPools.yml │ │ │ │ │ │ │ │ ├── databases_list_events.yml │ │ │ │ │ │ │ │ ├── databases_list_firewall_rules.yml │ │ │ │ │ │ │ │ ├── databases_list_opensearch_indexes.yml │ │ │ │ │ │ │ │ ├── databases_list_options.yml │ │ │ │ │ │ │ │ ├── databases_list_replicas.yml │ │ │ │ │ │ │ │ ├── databases_list_topics.yml │ │ │ │ │ │ │ │ ├── databases_list_users.yml │ │ │ │ │ │ │ │ ├── databases_promote_replica.yml │ │ │ │ │ │ │ │ ├── databases_reset_auth.yml │ │ │ │ │ │ │ │ ├── databases_update_clusterSize.yml │ │ │ │ │ │ │ │ ├── databases_update_cluster_metrics_credentials.yml │ │ │ │ │ │ │ │ ├── databases_update_connectionPool.yml │ │ │ │ │ │ │ │ ├── databases_update_evictionPolicy.yml │ │ │ │ │ │ │ │ ├── databases_update_firewall_rules.yml │ │ │ │ │ │ │ │ ├── databases_update_installUpdate.yml │ │ │ │ │ │ │ │ ├── databases_update_maintenanceWindow.yml │ │ │ │ │ │ │ │ ├── databases_update_region.yml │ │ │ │ │ │ │ │ ├── databases_update_sql_mode.yml │ │ │ │ │ │ │ │ ├── databases_update_topic.yml │ │ │ │ │ │ │ │ └── databases_update_user.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ ├── databases_add.yml │ │ │ │ │ │ │ ├── databases_add_connectionPool.yml │ │ │ │ │ │ │ ├── databases_add_user.yml │ │ │ │ │ │ │ ├── databases_create_cluster.yml │ │ │ │ │ │ │ ├── databases_create_replica.yml │ │ │ │ │ │ │ ├── databases_delete.yml │ │ │ │ │ │ │ ├── databases_delete_connectionPool.yml │ │ │ │ │ │ │ ├── databases_delete_onlineMigration.yml │ │ │ │ │ │ │ ├── databases_delete_user.yml │ │ │ │ │ │ │ ├── databases_destroy_cluster.yml │ │ │ │ │ │ │ ├── databases_destroy_replica.yml │ │ │ │ │ │ │ ├── databases_get.yml │ │ │ │ │ │ │ ├── databases_get_ca.yml │ │ │ │ │ │ │ ├── databases_get_cluster.yml │ │ │ │ │ │ │ ├── databases_get_config.yml │ │ │ │ │ │ │ ├── databases_get_connectionPool.yml │ │ │ │ │ │ │ ├── databases_get_evictionPolicy.yml │ │ │ │ │ │ │ ├── databases_get_migrationStatus.yml │ │ │ │ │ │ │ ├── databases_get_replica.yml │ │ │ │ │ │ │ ├── databases_get_sql_mode.yml │ │ │ │ │ │ │ ├── databases_get_user.yml │ │ │ │ │ │ │ ├── databases_list.yml │ │ │ │ │ │ │ ├── databases_list_backups.yml │ │ │ │ │ │ │ ├── databases_list_clusters.yml │ │ │ │ │ │ │ ├── databases_list_connectionPools.yml │ │ │ │ │ │ │ ├── databases_list_firewall_rules.yml │ │ │ │ │ │ │ ├── databases_list_options.yml │ │ │ │ │ │ │ ├── databases_list_replicas.yml │ │ │ │ │ │ │ ├── databases_list_users.yml │ │ │ │ │ │ │ ├── databases_patch_config.yml │ │ │ │ │ │ │ ├── databases_promote_replica.yml │ │ │ │ │ │ │ ├── databases_reset_auth.yml │ │ │ │ │ │ │ ├── databases_update_clusterSize.yml │ │ │ │ │ │ │ ├── databases_update_connectionPool.yml │ │ │ │ │ │ │ ├── databases_update_evictionPolicy.yml │ │ │ │ │ │ │ ├── databases_update_firewall_rules.yml │ │ │ │ │ │ │ ├── databases_update_installUpdate.yml │ │ │ │ │ │ │ ├── databases_update_maintenanceWindow.yml │ │ │ │ │ │ │ ├── databases_update_onlineMigration.yml │ │ │ │ │ │ │ ├── databases_update_region.yml │ │ │ │ │ │ │ ├── databases_update_sql_mode.yml │ │ │ │ │ │ │ └── databases_upgrade_version.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── advanced_config/ │ │ │ │ │ │ │ │ ├── kafka_advanced_config.yml │ │ │ │ │ │ │ │ ├── mongo_advanced_config.yml │ │ │ │ │ │ │ │ ├── mysql_advanced_config.yml │ │ │ │ │ │ │ │ ├── opensearch_advanced_config.yml │ │ │ │ │ │ │ │ ├── pgbouncer_advanced_config.yml │ │ │ │ │ │ │ │ ├── postgres_advanced_config.yml │ │ │ │ │ │ │ │ ├── redis_advanced_config.yml │ │ │ │ │ │ │ │ └── timescaledb_advanced_config.yml │ │ │ │ │ │ │ ├── backup.yml │ │ │ │ │ │ │ ├── ca.yml │ │ │ │ │ │ │ ├── connection_pool.yml │ │ │ │ │ │ │ ├── connection_pool_update.yml │ │ │ │ │ │ │ ├── connection_pools.yml │ │ │ │ │ │ │ ├── database.yml │ │ │ │ │ │ │ ├── database_backup.yml │ │ │ │ │ │ │ ├── database_cluster.yml │ │ │ │ │ │ │ ├── database_cluster_resize.yml │ │ │ │ │ │ │ ├── database_config.yml │ │ │ │ │ │ │ ├── database_connection.yml │ │ │ │ │ │ │ ├── database_layout_option.yml │ │ │ │ │ │ │ ├── database_layout_options.yml │ │ │ │ │ │ │ ├── database_maintenance_window.yml │ │ │ │ │ │ │ ├── database_metrics_credentials.yml │ │ │ │ │ │ │ ├── database_region_options.yml │ │ │ │ │ │ │ ├── database_replica.yml │ │ │ │ │ │ │ ├── database_service_endpoint.yml │ │ │ │ │ │ │ ├── database_user.yml │ │ │ │ │ │ │ ├── database_version_availabilities.yml │ │ │ │ │ │ │ ├── database_version_availability.yml │ │ │ │ │ │ │ ├── database_version_options.yml │ │ │ │ │ │ │ ├── databases_basic_auth_credentials.yml │ │ │ │ │ │ │ ├── events_logs.yml │ │ │ │ │ │ │ ├── eviction_policy_model.yml │ │ │ │ │ │ │ ├── firewall_rule.yml │ │ │ │ │ │ │ ├── kafka.yml │ │ │ │ │ │ │ ├── kafka_topic.yml │ │ │ │ │ │ │ ├── kafka_topic_base.yml │ │ │ │ │ │ │ ├── kafka_topic_config.yml │ │ │ │ │ │ │ ├── kafka_topic_create.yml │ │ │ │ │ │ │ ├── kafka_topic_partition.yml │ │ │ │ │ │ │ ├── kafka_topic_update.yml │ │ │ │ │ │ │ ├── kafka_topic_verbose.yml │ │ │ │ │ │ │ ├── logsink/ │ │ │ │ │ │ │ │ ├── elasticsearch_logsink.yml │ │ │ │ │ │ │ │ ├── opensearch_logsink.yml │ │ │ │ │ │ │ │ └── rsyslog_logsink.yml │ │ │ │ │ │ │ ├── logsink_base.yml │ │ │ │ │ │ │ ├── logsink_base_verbose.yml │ │ │ │ │ │ │ ├── logsink_create.yml │ │ │ │ │ │ │ ├── logsink_update.yml │ │ │ │ │ │ │ ├── logsink_verbose.yml │ │ │ │ │ │ │ ├── mongo.yml │ │ │ │ │ │ │ ├── mysql.yml │ │ │ │ │ │ │ ├── mysql_settings.yml │ │ │ │ │ │ │ ├── online_migration.yml │ │ │ │ │ │ │ ├── opensearch_connection.yml │ │ │ │ │ │ │ ├── opensearch_index.yml │ │ │ │ │ │ │ ├── opensearch_index_base.yml │ │ │ │ │ │ │ ├── options.yml │ │ │ │ │ │ │ ├── pgbouncer.yml │ │ │ │ │ │ │ ├── postgres.yml │ │ │ │ │ │ │ ├── redis.yml │ │ │ │ │ │ │ ├── source_database.yml │ │ │ │ │ │ │ ├── sql_mode.yml │ │ │ │ │ │ │ ├── timescaledb.yml │ │ │ │ │ │ │ ├── user_settings.yml │ │ │ │ │ │ │ └── version.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── ca.yml │ │ │ │ │ │ ├── connection_pool.yml │ │ │ │ │ │ ├── connection_pools.yml │ │ │ │ │ │ ├── database.yml │ │ │ │ │ │ ├── database_backups.yml │ │ │ │ │ │ ├── database_cluster.yml │ │ │ │ │ │ ├── database_clusters.yml │ │ │ │ │ │ ├── database_config.yml │ │ │ │ │ │ ├── database_metrics_auth.yml │ │ │ │ │ │ ├── database_replica.yml │ │ │ │ │ │ ├── database_replicas.yml │ │ │ │ │ │ ├── databases.yml │ │ │ │ │ │ ├── events_logs.yml │ │ │ │ │ │ ├── eviction_policy_response.yml │ │ │ │ │ │ ├── firewall_rules.yml │ │ │ │ │ │ ├── kafka_topic.yml │ │ │ │ │ │ ├── kafka_topics.yml │ │ │ │ │ │ ├── logsink.yml │ │ │ │ │ │ ├── logsinks.yml │ │ │ │ │ │ ├── online_migration.yml │ │ │ │ │ │ ├── opensearch_indexes.yml │ │ │ │ │ │ ├── options.yml │ │ │ │ │ │ ├── sql_mode.yml │ │ │ │ │ │ ├── user.yml │ │ │ │ │ │ └── users.yml │ │ │ │ │ ├── domains/ │ │ │ │ │ │ ├── domains_create.yml │ │ │ │ │ │ ├── domains_create_record.yml │ │ │ │ │ │ ├── domains_delete.yml │ │ │ │ │ │ ├── domains_delete_record.yml │ │ │ │ │ │ ├── domains_get.yml │ │ │ │ │ │ ├── domains_get_record.yml │ │ │ │ │ │ ├── domains_list.yml │ │ │ │ │ │ ├── domains_list_records.yml │ │ │ │ │ │ ├── domains_patch_record.yml │ │ │ │ │ │ ├── domains_update_record.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── domains_create.yml │ │ │ │ │ │ │ │ ├── domains_create_record.yml │ │ │ │ │ │ │ │ ├── domains_delete.yml │ │ │ │ │ │ │ │ ├── domains_delete_record.yml │ │ │ │ │ │ │ │ ├── domains_get.yml │ │ │ │ │ │ │ │ ├── domains_get_record.yml │ │ │ │ │ │ │ │ ├── domains_list.yml │ │ │ │ │ │ │ │ ├── domains_list_records.yml │ │ │ │ │ │ │ │ ├── domains_patch_record.yml │ │ │ │ │ │ │ │ └── domains_update_record.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── domains_create.yml │ │ │ │ │ │ │ │ ├── domains_create_record.yml │ │ │ │ │ │ │ │ ├── domains_delete.yml │ │ │ │ │ │ │ │ ├── domains_delete_record.yml │ │ │ │ │ │ │ │ ├── domains_get.yml │ │ │ │ │ │ │ │ ├── domains_get_record.yml │ │ │ │ │ │ │ │ ├── domains_list.yml │ │ │ │ │ │ │ │ ├── domains_list_records.yml │ │ │ │ │ │ │ │ └── domains_update_record.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── domains_create.yml │ │ │ │ │ │ │ │ ├── domains_create_record.yml │ │ │ │ │ │ │ │ ├── domains_delete.yml │ │ │ │ │ │ │ │ ├── domains_delete_record.yml │ │ │ │ │ │ │ │ ├── domains_get.yml │ │ │ │ │ │ │ │ ├── domains_get_record.yml │ │ │ │ │ │ │ │ ├── domains_list.yml │ │ │ │ │ │ │ │ ├── domains_list_records.yml │ │ │ │ │ │ │ │ ├── domains_patch_record.yml │ │ │ │ │ │ │ │ └── domains_update_record.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── domains_create.yml │ │ │ │ │ │ │ ├── domains_create_record.yml │ │ │ │ │ │ │ ├── domains_delete.yml │ │ │ │ │ │ │ ├── domains_delete_record.yml │ │ │ │ │ │ │ ├── domains_get.yml │ │ │ │ │ │ │ ├── domains_get_record.yml │ │ │ │ │ │ │ ├── domains_list.yml │ │ │ │ │ │ │ ├── domains_list_records.yml │ │ │ │ │ │ │ └── domains_update_record.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── domain.yml │ │ │ │ │ │ │ ├── domain_record.yml │ │ │ │ │ │ │ └── domain_record_types.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_domain_records_response.yml │ │ │ │ │ │ ├── all_domains_response.yml │ │ │ │ │ │ ├── create_domain_response.yml │ │ │ │ │ │ ├── created_domain_record.yml │ │ │ │ │ │ ├── domain_record.yml │ │ │ │ │ │ └── existing_domain.yml │ │ │ │ │ ├── droplets/ │ │ │ │ │ │ ├── dropletActions_get.yml │ │ │ │ │ │ ├── dropletActions_list.yml │ │ │ │ │ │ ├── dropletActions_post.yml │ │ │ │ │ │ ├── dropletActions_post_byTag.yml │ │ │ │ │ │ ├── droplets_create.yml │ │ │ │ │ │ ├── droplets_destroy.yml │ │ │ │ │ │ ├── droplets_destroy_byTag.yml │ │ │ │ │ │ ├── droplets_destroy_retryWithAssociatedResources.yml │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesDangerous.yml │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesSelective.yml │ │ │ │ │ │ ├── droplets_get.yml │ │ │ │ │ │ ├── droplets_get_backup_policy.yml │ │ │ │ │ │ ├── droplets_get_destroyAssociatedResourcesStatus.yml │ │ │ │ │ │ ├── droplets_list.yml │ │ │ │ │ │ ├── droplets_list_associatedResources.yml │ │ │ │ │ │ ├── droplets_list_backup_policies.yml │ │ │ │ │ │ ├── droplets_list_backups.yml │ │ │ │ │ │ ├── droplets_list_firewalls.yml │ │ │ │ │ │ ├── droplets_list_kernels.yml │ │ │ │ │ │ ├── droplets_list_neighbors.yml │ │ │ │ │ │ ├── droplets_list_neighborsIds.yml │ │ │ │ │ │ ├── droplets_list_snapshots.yml │ │ │ │ │ │ ├── droplets_list_supported_backup_policies.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── dropletActions_get.yml │ │ │ │ │ │ │ │ ├── dropletActions_list.yml │ │ │ │ │ │ │ │ ├── dropletActions_post.yml │ │ │ │ │ │ │ │ ├── dropletActions_post_byTag.yml │ │ │ │ │ │ │ │ ├── droplets_create.yml │ │ │ │ │ │ │ │ ├── droplets_destroy.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_byTag.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_retryWithAssociatedResources.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesDangerous.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesSelective.yml │ │ │ │ │ │ │ │ ├── droplets_get.yml │ │ │ │ │ │ │ │ ├── droplets_get_DestroyAssociatedResourcesStatus.yml │ │ │ │ │ │ │ │ ├── droplets_get_backup_policy.yml │ │ │ │ │ │ │ │ ├── droplets_list.yml │ │ │ │ │ │ │ │ ├── droplets_list_associatedResources.yml │ │ │ │ │ │ │ │ ├── droplets_list_backup_policies.yml │ │ │ │ │ │ │ │ ├── droplets_list_backups.yml │ │ │ │ │ │ │ │ ├── droplets_list_kernels.yml │ │ │ │ │ │ │ │ ├── droplets_list_neighbors.yml │ │ │ │ │ │ │ │ ├── droplets_list_neighborsIds.yml │ │ │ │ │ │ │ │ ├── droplets_list_snapshots.yml │ │ │ │ │ │ │ │ └── droplets_list_supported_backup_policies.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── dropletActions_get.yml │ │ │ │ │ │ │ │ ├── dropletActions_list.yml │ │ │ │ │ │ │ │ ├── dropletActions_post.yml │ │ │ │ │ │ │ │ ├── dropletActions_post_byTag.yml │ │ │ │ │ │ │ │ ├── droplets_create.yml │ │ │ │ │ │ │ │ ├── droplets_destroy.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_byTag.yml │ │ │ │ │ │ │ │ ├── droplets_get.yml │ │ │ │ │ │ │ │ ├── droplets_get_backup_policy.yml │ │ │ │ │ │ │ │ ├── droplets_list.yml │ │ │ │ │ │ │ │ ├── droplets_list_backup_policies.yml │ │ │ │ │ │ │ │ ├── droplets_list_backups.yml │ │ │ │ │ │ │ │ ├── droplets_list_kernels.yml │ │ │ │ │ │ │ │ ├── droplets_list_snapshots.yml │ │ │ │ │ │ │ │ └── droplets_list_supported_backup_policies.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── dropletActions_get.yml │ │ │ │ │ │ │ │ ├── dropletActions_list.yml │ │ │ │ │ │ │ │ ├── dropletActions_post.yml │ │ │ │ │ │ │ │ ├── dropletActions_post_byTag.yml │ │ │ │ │ │ │ │ ├── droplets_create.yml │ │ │ │ │ │ │ │ ├── droplets_destroy.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_byTag.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_retryWithAssociatedResources.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesDangerous.yml │ │ │ │ │ │ │ │ ├── droplets_destroy_withAssociatedResourcesSelective.yml │ │ │ │ │ │ │ │ ├── droplets_get.yml │ │ │ │ │ │ │ │ ├── droplets_get_DestroyAssociatedResourcesStatus.yml │ │ │ │ │ │ │ │ ├── droplets_get_backup_policy.yml │ │ │ │ │ │ │ │ ├── droplets_list.yml │ │ │ │ │ │ │ │ ├── droplets_list_associatedResources.yml │ │ │ │ │ │ │ │ ├── droplets_list_backup_policies.yml │ │ │ │ │ │ │ │ ├── droplets_list_backups.yml │ │ │ │ │ │ │ │ ├── droplets_list_kernels.yml │ │ │ │ │ │ │ │ ├── droplets_list_neighbors.yml │ │ │ │ │ │ │ │ ├── droplets_list_neighborsIds.yml │ │ │ │ │ │ │ │ ├── droplets_list_snapshots.yml │ │ │ │ │ │ │ │ └── droplets_list_supported_backup_policies.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── dropletActions_get.yml │ │ │ │ │ │ │ ├── dropletActions_list.yml │ │ │ │ │ │ │ ├── dropletActions_post.yml │ │ │ │ │ │ │ ├── dropletActions_post_byTag.yml │ │ │ │ │ │ │ ├── droplets_create.yml │ │ │ │ │ │ │ ├── droplets_destroy.yml │ │ │ │ │ │ │ ├── droplets_destroy_byTag.yml │ │ │ │ │ │ │ ├── droplets_get.yml │ │ │ │ │ │ │ ├── droplets_list.yml │ │ │ │ │ │ │ ├── droplets_list_backups.yml │ │ │ │ │ │ │ ├── droplets_list_kernels.yml │ │ │ │ │ │ │ └── droplets_list_snapshots.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── associated_resource.yml │ │ │ │ │ │ │ ├── associated_resource_status.yml │ │ │ │ │ │ │ ├── destroyed_associated_resource.yml │ │ │ │ │ │ │ ├── droplet.yml │ │ │ │ │ │ │ ├── droplet_actions.yml │ │ │ │ │ │ │ ├── droplet_backup_policy.yml │ │ │ │ │ │ │ ├── droplet_backup_policy_record.yml │ │ │ │ │ │ │ ├── droplet_create.yml │ │ │ │ │ │ │ ├── droplet_multi_create.yml │ │ │ │ │ │ │ ├── droplet_next_backup_window.yml │ │ │ │ │ │ │ ├── droplet_single_create.yml │ │ │ │ │ │ │ ├── droplet_snapshot.yml │ │ │ │ │ │ │ ├── kernel.yml │ │ │ │ │ │ │ ├── neighbor_ids.yml │ │ │ │ │ │ │ ├── network_v4.yml │ │ │ │ │ │ │ ├── network_v6.yml │ │ │ │ │ │ │ ├── selective_destroy_associated_resource.yml │ │ │ │ │ │ │ └── supported_droplet_backup_policy.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_droplet_actions.yml │ │ │ │ │ │ ├── all_droplet_backup_policies.yml │ │ │ │ │ │ ├── all_droplet_backups.yml │ │ │ │ │ │ ├── all_droplet_snapshots.yml │ │ │ │ │ │ ├── all_droplets.yml │ │ │ │ │ │ ├── all_firewalls.yml │ │ │ │ │ │ ├── all_kernels.yml │ │ │ │ │ │ ├── associated_resources_list.yml │ │ │ │ │ │ ├── associated_resources_status.yml │ │ │ │ │ │ ├── droplet_action.yml │ │ │ │ │ │ ├── droplet_actions_response.yml │ │ │ │ │ │ ├── droplet_backup_policy.yml │ │ │ │ │ │ ├── droplet_create.yml │ │ │ │ │ │ ├── droplet_neighbors_ids.yml │ │ │ │ │ │ ├── droplets_supported_backup_policies.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── existing_droplet.yml │ │ │ │ │ │ └── neighbor_droplets.yml │ │ │ │ │ ├── firewalls/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── firewalls_add_rules.yml │ │ │ │ │ │ │ │ ├── firewalls_add_tags.yml │ │ │ │ │ │ │ │ ├── firewalls_assign_droplet.yml │ │ │ │ │ │ │ │ ├── firewalls_create.yml │ │ │ │ │ │ │ │ ├── firewalls_delete.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_droplets.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_rules.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_tags.yml │ │ │ │ │ │ │ │ ├── firewalls_get.yml │ │ │ │ │ │ │ │ ├── firewalls_list.yml │ │ │ │ │ │ │ │ └── firewalls_update.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── firewalls_add_rules.yml │ │ │ │ │ │ │ │ ├── firewalls_add_tags.yml │ │ │ │ │ │ │ │ ├── firewalls_assign_droplet.yml │ │ │ │ │ │ │ │ ├── firewalls_create.yml │ │ │ │ │ │ │ │ ├── firewalls_delete.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_droplets.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_rules.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_tags.yml │ │ │ │ │ │ │ │ ├── firewalls_get.yml │ │ │ │ │ │ │ │ ├── firewalls_list.yml │ │ │ │ │ │ │ │ └── firewalls_update.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── firewalls_add_rules.yml │ │ │ │ │ │ │ │ ├── firewalls_add_tags.yml │ │ │ │ │ │ │ │ ├── firewalls_assign_droplet.yml │ │ │ │ │ │ │ │ ├── firewalls_create.yml │ │ │ │ │ │ │ │ ├── firewalls_delete.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_droplets.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_rules.yml │ │ │ │ │ │ │ │ ├── firewalls_delete_tags.yml │ │ │ │ │ │ │ │ ├── firewalls_get.yml │ │ │ │ │ │ │ │ ├── firewalls_list.yml │ │ │ │ │ │ │ │ └── firewalls_update.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── firewalls_add_rules.yml │ │ │ │ │ │ │ ├── firewalls_add_tags.yml │ │ │ │ │ │ │ ├── firewalls_assign_droplet.yml │ │ │ │ │ │ │ ├── firewalls_create.yml │ │ │ │ │ │ │ ├── firewalls_delete.yml │ │ │ │ │ │ │ ├── firewalls_delete_droplets.yml │ │ │ │ │ │ │ ├── firewalls_delete_rules.yml │ │ │ │ │ │ │ ├── firewalls_delete_tags.yml │ │ │ │ │ │ │ ├── firewalls_get.yml │ │ │ │ │ │ │ ├── firewalls_list.yml │ │ │ │ │ │ │ └── firewalls_update.yml │ │ │ │ │ │ ├── firewalls_add_rules.yml │ │ │ │ │ │ ├── firewalls_add_tags.yml │ │ │ │ │ │ ├── firewalls_assign_droplets.yml │ │ │ │ │ │ ├── firewalls_create.yml │ │ │ │ │ │ ├── firewalls_delete.yml │ │ │ │ │ │ ├── firewalls_delete_droplets.yml │ │ │ │ │ │ ├── firewalls_delete_rules.yml │ │ │ │ │ │ ├── firewalls_delete_tags.yml │ │ │ │ │ │ ├── firewalls_get.yml │ │ │ │ │ │ ├── firewalls_list.yml │ │ │ │ │ │ ├── firewalls_update.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── firewall.yml │ │ │ │ │ │ │ └── firewall_rule.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── create_firewall_response.yml │ │ │ │ │ │ ├── get_firewall_response.yml │ │ │ │ │ │ ├── list_firewalls_response.yml │ │ │ │ │ │ └── put_firewall_response.yml │ │ │ │ │ ├── floating_ips/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── create_floating_ip.yml │ │ │ │ │ │ │ │ ├── delete_floating_ip.yml │ │ │ │ │ │ │ │ ├── get_floating_ip.yml │ │ │ │ │ │ │ │ ├── get_floating_ip_action.yml │ │ │ │ │ │ │ │ ├── list_floating_ip_actions.yml │ │ │ │ │ │ │ │ ├── list_floating_ips.yml │ │ │ │ │ │ │ │ └── post_floating_ip_action.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── create_floating_ip.yml │ │ │ │ │ │ │ │ ├── delete_floating_ip.yml │ │ │ │ │ │ │ │ ├── get_floating_ip.yml │ │ │ │ │ │ │ │ ├── get_floating_ip_action.yml │ │ │ │ │ │ │ │ ├── list_floating_ip_actions.yml │ │ │ │ │ │ │ │ ├── list_floating_ips.yml │ │ │ │ │ │ │ │ └── post_floating_ip_action.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── create_floating_ip.yml │ │ │ │ │ │ │ ├── delete_floating_ip.yml │ │ │ │ │ │ │ ├── get_floating_ip.yml │ │ │ │ │ │ │ ├── get_floating_ip_action.yml │ │ │ │ │ │ │ ├── list_floating_ip_actions.yml │ │ │ │ │ │ │ ├── list_floating_ips.yml │ │ │ │ │ │ │ └── post_floating_ip_action.yml │ │ │ │ │ │ ├── floatingIPsAction_get.yml │ │ │ │ │ │ ├── floatingIPsAction_list.yml │ │ │ │ │ │ ├── floatingIPsAction_post.yml │ │ │ │ │ │ ├── floatingIPs_create.yml │ │ │ │ │ │ ├── floatingIPs_delete.yml │ │ │ │ │ │ ├── floatingIPs_get.yml │ │ │ │ │ │ ├── floatingIPs_list.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── floating_ip.yml │ │ │ │ │ │ │ ├── floating_ip_actions.yml │ │ │ │ │ │ │ └── floating_ip_create.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── floating_ip.yml │ │ │ │ │ │ ├── floating_ip_action.yml │ │ │ │ │ │ ├── floating_ip_actions.yml │ │ │ │ │ │ ├── floating_ip_created.yml │ │ │ │ │ │ └── floating_ip_list.yml │ │ │ │ │ ├── functions/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── create_namespace.yml │ │ │ │ │ │ │ │ ├── create_trigger.yml │ │ │ │ │ │ │ │ ├── delete_namespace.yml │ │ │ │ │ │ │ │ ├── delete_trigger.yml │ │ │ │ │ │ │ │ ├── get_namespace.yml │ │ │ │ │ │ │ │ ├── get_trigger.yml │ │ │ │ │ │ │ │ ├── list_namespaces.yml │ │ │ │ │ │ │ │ ├── list_triggers.yml │ │ │ │ │ │ │ │ └── update_trigger.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ ├── create_namespace.yml │ │ │ │ │ │ │ ├── create_trigger.yml │ │ │ │ │ │ │ ├── delete_namespace.yml │ │ │ │ │ │ │ ├── delete_trigger.yml │ │ │ │ │ │ │ ├── get_namespace.yml │ │ │ │ │ │ │ ├── get_trigger.yml │ │ │ │ │ │ │ ├── list_namespaces.yml │ │ │ │ │ │ │ ├── list_triggers.yml │ │ │ │ │ │ │ └── update_trigger.yml │ │ │ │ │ │ ├── functions_create_namespace.yml │ │ │ │ │ │ ├── functions_create_trigger.yml │ │ │ │ │ │ ├── functions_delete_namespace.yml │ │ │ │ │ │ ├── functions_delete_trigger.yml │ │ │ │ │ │ ├── functions_get_namespace.yml │ │ │ │ │ │ ├── functions_get_trigger.yml │ │ │ │ │ │ ├── functions_list_namespaces.yml │ │ │ │ │ │ ├── functions_list_triggers.yml │ │ │ │ │ │ ├── functions_update_trigger.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── create_namespace.yml │ │ │ │ │ │ │ ├── create_trigger.yml │ │ │ │ │ │ │ ├── namespace_info.yml │ │ │ │ │ │ │ ├── scheduled_details.yml │ │ │ │ │ │ │ ├── trigger_info.yml │ │ │ │ │ │ │ └── update_trigger.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── list_namespaces.yml │ │ │ │ │ │ ├── list_triggers.yml │ │ │ │ │ │ ├── namespace_bad_request.yml │ │ │ │ │ │ ├── namespace_created.yml │ │ │ │ │ │ ├── namespace_limit_reached.yml │ │ │ │ │ │ ├── namespace_not_allowed.yml │ │ │ │ │ │ ├── namespace_not_found.yml │ │ │ │ │ │ ├── trigger_bad_request.yml │ │ │ │ │ │ ├── trigger_limit_reached.yml │ │ │ │ │ │ ├── trigger_not_found.yml │ │ │ │ │ │ └── trigger_response.yml │ │ │ │ │ ├── gen-ai/ │ │ │ │ │ │ ├── definitions.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ └── curl/ │ │ │ │ │ │ │ ├── genai_attach_agent.yml │ │ │ │ │ │ │ ├── genai_attach_agent_function.yml │ │ │ │ │ │ │ ├── genai_attach_knowledge_base.yml │ │ │ │ │ │ │ ├── genai_cancel_indexing_job.yml │ │ │ │ │ │ │ ├── genai_create_agent.yml │ │ │ │ │ │ │ ├── genai_create_agent_api_key.yml │ │ │ │ │ │ │ ├── genai_create_indexing_job.yml │ │ │ │ │ │ │ ├── genai_create_knowledge_base.yml │ │ │ │ │ │ │ ├── genai_create_knowledge_base_data_source.yml │ │ │ │ │ │ │ ├── genai_delete_agent.yml │ │ │ │ │ │ │ ├── genai_delete_agent_api_key.yml │ │ │ │ │ │ │ ├── genai_delete_knowledge_base.yml │ │ │ │ │ │ │ ├── genai_delete_knowledge_base_data_source.yml │ │ │ │ │ │ │ ├── genai_detach_agent.yml │ │ │ │ │ │ │ ├── genai_detach_agent_function.yml │ │ │ │ │ │ │ ├── genai_detach_knowledge_base.yml │ │ │ │ │ │ │ ├── genai_get_agent.yml │ │ │ │ │ │ │ ├── genai_get_agent_children.yml │ │ │ │ │ │ │ ├── genai_get_indexing_job.yml │ │ │ │ │ │ │ ├── genai_get_knowledge_base.yml │ │ │ │ │ │ │ ├── genai_list_agent_api_keys.yml │ │ │ │ │ │ │ ├── genai_list_agents.yml │ │ │ │ │ │ │ ├── genai_list_datacenter_regions.yml │ │ │ │ │ │ │ ├── genai_list_indexing_job_data_sources.yml │ │ │ │ │ │ │ ├── genai_list_indexing_jobs.yml │ │ │ │ │ │ │ ├── genai_list_knowledge_base_data_sources.yml │ │ │ │ │ │ │ ├── genai_list_knowledge_bases.yml │ │ │ │ │ │ │ ├── genai_list_models.yml │ │ │ │ │ │ │ ├── genai_regenerate_agent_api_key.yml │ │ │ │ │ │ │ ├── genai_update_agent.yml │ │ │ │ │ │ │ ├── genai_update_agent_api_key.yml │ │ │ │ │ │ │ ├── genai_update_agent_deployment_visibility.yml │ │ │ │ │ │ │ ├── genai_update_agent_function.yml │ │ │ │ │ │ │ ├── genai_update_attached_agent.yml │ │ │ │ │ │ │ └── genai_update_knowledge_base.yml │ │ │ │ │ │ ├── genai_attach_agent.yml │ │ │ │ │ │ ├── genai_attach_agent_function.yml │ │ │ │ │ │ ├── genai_attach_knowledge_base.yml │ │ │ │ │ │ ├── genai_cancel_indexing_job.yml │ │ │ │ │ │ ├── genai_create_agent.yml │ │ │ │ │ │ ├── genai_create_agent_api_key.yml │ │ │ │ │ │ ├── genai_create_indexing_job.yml │ │ │ │ │ │ ├── genai_create_knowledge_base.yml │ │ │ │ │ │ ├── genai_create_knowledge_base_data_source.yml │ │ │ │ │ │ ├── genai_delete_agent.yml │ │ │ │ │ │ ├── genai_delete_agent_api_key.yml │ │ │ │ │ │ ├── genai_delete_knowledge_base.yml │ │ │ │ │ │ ├── genai_delete_knowledge_base_data_source.yml │ │ │ │ │ │ ├── genai_detach_agent.yml │ │ │ │ │ │ ├── genai_detach_agent_function.yml │ │ │ │ │ │ ├── genai_detach_knowledge_base.yml │ │ │ │ │ │ ├── genai_get_agent.yml │ │ │ │ │ │ ├── genai_get_agent_children.yml │ │ │ │ │ │ ├── genai_get_indexing_job.yml │ │ │ │ │ │ ├── genai_get_knowledge_base.yml │ │ │ │ │ │ ├── genai_list_agent_api_keys.yml │ │ │ │ │ │ ├── genai_list_agents.yml │ │ │ │ │ │ ├── genai_list_datacenter_regions.yml │ │ │ │ │ │ ├── genai_list_indexing_job_data_sources.yml │ │ │ │ │ │ ├── genai_list_indexing_jobs.yml │ │ │ │ │ │ ├── genai_list_knowledge_base_data_sources.yml │ │ │ │ │ │ ├── genai_list_knowledge_bases.yml │ │ │ │ │ │ ├── genai_list_models.yml │ │ │ │ │ │ ├── genai_regenerate_agent_api_key.yml │ │ │ │ │ │ ├── genai_update_agent.yml │ │ │ │ │ │ ├── genai_update_agent_api_key.yml │ │ │ │ │ │ ├── genai_update_agent_deployment_visibility.yml │ │ │ │ │ │ ├── genai_update_agent_function.yml │ │ │ │ │ │ ├── genai_update_attached_agent.yml │ │ │ │ │ │ └── genai_update_knowledge_base.yml │ │ │ │ │ ├── images/ │ │ │ │ │ │ ├── attributes.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── imageActions_get.yml │ │ │ │ │ │ │ │ ├── imageActions_list.yml │ │ │ │ │ │ │ │ ├── imageActions_post.yml │ │ │ │ │ │ │ │ ├── images_create_custom.yml │ │ │ │ │ │ │ │ ├── images_delete.yml │ │ │ │ │ │ │ │ ├── images_get.yml │ │ │ │ │ │ │ │ ├── images_list.yml │ │ │ │ │ │ │ │ └── images_update.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── imageActions_get.yml │ │ │ │ │ │ │ │ ├── imageActions_list.yml │ │ │ │ │ │ │ │ ├── imageActions_post.yml │ │ │ │ │ │ │ │ ├── images_delete.yml │ │ │ │ │ │ │ │ ├── images_get.yml │ │ │ │ │ │ │ │ ├── images_list.yml │ │ │ │ │ │ │ │ └── images_update.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── imageActions_get.yml │ │ │ │ │ │ │ │ ├── imageActions_list.yml │ │ │ │ │ │ │ │ ├── imageActions_post.yml │ │ │ │ │ │ │ │ ├── images_create_custom.yml │ │ │ │ │ │ │ │ ├── images_delete.yml │ │ │ │ │ │ │ │ ├── images_get.yml │ │ │ │ │ │ │ │ ├── images_list.yml │ │ │ │ │ │ │ │ └── images_update.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── imageActions_get.yml │ │ │ │ │ │ │ ├── imageActions_post.yml │ │ │ │ │ │ │ ├── images_delete.yml │ │ │ │ │ │ │ ├── images_get.yml │ │ │ │ │ │ │ ├── images_list.yml │ │ │ │ │ │ │ └── images_update.yml │ │ │ │ │ │ ├── imageActions_get.yml │ │ │ │ │ │ ├── imageActions_list.yml │ │ │ │ │ │ ├── imageActions_post.yml │ │ │ │ │ │ ├── images_create_custom.yml │ │ │ │ │ │ ├── images_delete.yml │ │ │ │ │ │ ├── images_get.yml │ │ │ │ │ │ ├── images_list.yml │ │ │ │ │ │ ├── images_update.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── image.yml │ │ │ │ │ │ │ ├── image_action.yml │ │ │ │ │ │ │ ├── image_new_custom.yml │ │ │ │ │ │ │ └── image_update.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_images.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── existing_image.yml │ │ │ │ │ │ ├── get_image_action_response.yml │ │ │ │ │ │ ├── get_image_actions_response.yml │ │ │ │ │ │ ├── new_custom_image.yml │ │ │ │ │ │ ├── post_image_action_response.yml │ │ │ │ │ │ └── updated_image.yml │ │ │ │ │ ├── kubernetes/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_add_registry.yml │ │ │ │ │ │ │ │ ├── kubernetes_create_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_node.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesDangerous.yml │ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesSelective.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_availableUpgrades.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_clusterLintResults.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_clusterUser.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_credentials.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_associatedResources.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_clusters.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_options.yml │ │ │ │ │ │ │ │ ├── kubernetes_remove_registry.yml │ │ │ │ │ │ │ │ ├── kubernetes_run_clusterLint.yml │ │ │ │ │ │ │ │ ├── kubernetes_update_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_update_nodePool.yml │ │ │ │ │ │ │ │ └── kubernetes_upgrade_cluster.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_add_registry.yml │ │ │ │ │ │ │ │ ├── kubernetes_create_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_node.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesDangerous.yml │ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesSelective.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_availableUpgrades.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_credentials.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_associatedResources.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_clusters.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_options.yml │ │ │ │ │ │ │ │ ├── kubernetes_remove_registry.yml │ │ │ │ │ │ │ │ ├── kubernetes_update_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_update_nodePool.yml │ │ │ │ │ │ │ │ └── kubernetes_upgrade_cluster.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_add_registry.yml │ │ │ │ │ │ │ │ ├── kubernetes_create_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_node.yml │ │ │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesDangerous.yml │ │ │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesSelective.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_availableUpgrades.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_clusterLintResults.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_clusterUser.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_credentials.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml │ │ │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_associatedResources.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_clusters.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml │ │ │ │ │ │ │ │ ├── kubernetes_list_options.yml │ │ │ │ │ │ │ │ ├── kubernetes_remove_registry.yml │ │ │ │ │ │ │ │ ├── kubernetes_run_clusterLint.yml │ │ │ │ │ │ │ │ ├── kubernetes_update_cluster.yml │ │ │ │ │ │ │ │ ├── kubernetes_update_nodePool.yml │ │ │ │ │ │ │ │ └── kubernetes_upgrade_cluster.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml │ │ │ │ │ │ │ ├── kubernetes_create_cluster.yml │ │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml │ │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml │ │ │ │ │ │ │ ├── kubernetes_get_cluster.yml │ │ │ │ │ │ │ ├── kubernetes_get_credentials.yml │ │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml │ │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml │ │ │ │ │ │ │ ├── kubernetes_list_clusters.yml │ │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml │ │ │ │ │ │ │ ├── kubernetes_list_options.yml │ │ │ │ │ │ │ ├── kubernetes_update_cluster.yml │ │ │ │ │ │ │ └── kubernetes_update_nodePool.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── kubernetes_add_nodePool.yml │ │ │ │ │ │ ├── kubernetes_add_registry.yml │ │ │ │ │ │ ├── kubernetes_create_cluster.yml │ │ │ │ │ │ ├── kubernetes_delete_cluster.yml │ │ │ │ │ │ ├── kubernetes_delete_node.yml │ │ │ │ │ │ ├── kubernetes_delete_nodePool.yml │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesDangerous.yml │ │ │ │ │ │ ├── kubernetes_destroy_associatedResourcesSelective.yml │ │ │ │ │ │ ├── kubernetes_get_availableUpgrades.yml │ │ │ │ │ │ ├── kubernetes_get_cluster.yml │ │ │ │ │ │ ├── kubernetes_get_clusterLintResults.yml │ │ │ │ │ │ ├── kubernetes_get_clusterUser.yml │ │ │ │ │ │ ├── kubernetes_get_credentials.yml │ │ │ │ │ │ ├── kubernetes_get_kubeconfig.yml │ │ │ │ │ │ ├── kubernetes_get_nodePool.yml │ │ │ │ │ │ ├── kubernetes_list_associatedResources.yml │ │ │ │ │ │ ├── kubernetes_list_clusters.yml │ │ │ │ │ │ ├── kubernetes_list_nodePools.yml │ │ │ │ │ │ ├── kubernetes_list_options.yml │ │ │ │ │ │ ├── kubernetes_recycle_nodePool.yml │ │ │ │ │ │ ├── kubernetes_remove_registry.yml │ │ │ │ │ │ ├── kubernetes_run_clusterLint.yml │ │ │ │ │ │ ├── kubernetes_update_cluster.yml │ │ │ │ │ │ ├── kubernetes_update_nodePool.yml │ │ │ │ │ │ ├── kubernetes_upgrade_cluster.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── associated_kubernetes_resources.yml │ │ │ │ │ │ │ ├── cluster.yml │ │ │ │ │ │ │ ├── cluster_registries.yml │ │ │ │ │ │ │ ├── cluster_update.yml │ │ │ │ │ │ │ ├── clusterlint_request.yml │ │ │ │ │ │ │ ├── clusterlint_results.yml │ │ │ │ │ │ │ ├── control_plane_firewall.yml │ │ │ │ │ │ │ ├── credentials.yml │ │ │ │ │ │ │ ├── maintenance_policy.yml │ │ │ │ │ │ │ ├── node.yml │ │ │ │ │ │ │ ├── node_pool.yml │ │ │ │ │ │ │ ├── options.yml │ │ │ │ │ │ │ └── user.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_clusters.yml │ │ │ │ │ │ ├── all_node_pools.yml │ │ │ │ │ │ ├── all_options.yml │ │ │ │ │ │ ├── associated_kubernetes_resources_list.yml │ │ │ │ │ │ ├── available_upgrades.yml │ │ │ │ │ │ ├── cluster_create.yml │ │ │ │ │ │ ├── cluster_user.yml │ │ │ │ │ │ ├── clusterlint_results.yml │ │ │ │ │ │ ├── clusterlint_run.yml │ │ │ │ │ │ ├── credentials.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── existing_cluster.yml │ │ │ │ │ │ ├── existing_node_pool.yml │ │ │ │ │ │ ├── kubeconfig.yml │ │ │ │ │ │ ├── node_pool_create.yml │ │ │ │ │ │ ├── node_pool_update.yml │ │ │ │ │ │ └── updated_cluster.yml │ │ │ │ │ ├── load_balancers/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml │ │ │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml │ │ │ │ │ │ │ │ ├── loadBalancers_create.yml │ │ │ │ │ │ │ │ ├── loadBalancers_delete.yml │ │ │ │ │ │ │ │ ├── loadBalancers_delete_cache.yml │ │ │ │ │ │ │ │ ├── loadBalancers_get.yml │ │ │ │ │ │ │ │ ├── loadBalancers_list.yml │ │ │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml │ │ │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml │ │ │ │ │ │ │ │ └── loadBalancers_update.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml │ │ │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml │ │ │ │ │ │ │ │ ├── loadBalancers_create.yml │ │ │ │ │ │ │ │ ├── loadBalancers_delete.yml │ │ │ │ │ │ │ │ ├── loadBalancers_delete_cache.yml │ │ │ │ │ │ │ │ ├── loadBalancers_get.yml │ │ │ │ │ │ │ │ ├── loadBalancers_list.yml │ │ │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml │ │ │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml │ │ │ │ │ │ │ │ └── loadBalancers_update.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml │ │ │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml │ │ │ │ │ │ │ │ ├── loadBalancers_create.yml │ │ │ │ │ │ │ │ ├── loadBalancers_delete.yml │ │ │ │ │ │ │ │ ├── loadBalancers_get.yml │ │ │ │ │ │ │ │ ├── loadBalancers_list.yml │ │ │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml │ │ │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml │ │ │ │ │ │ │ │ └── loadBalancers_update.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml │ │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml │ │ │ │ │ │ │ ├── loadBalancers_create.yml │ │ │ │ │ │ │ ├── loadBalancers_delete.yml │ │ │ │ │ │ │ ├── loadBalancers_get.yml │ │ │ │ │ │ │ ├── loadBalancers_list.yml │ │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml │ │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml │ │ │ │ │ │ │ └── loadBalancers_update.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── loadBalancers_add_droplets.yml │ │ │ │ │ │ ├── loadBalancers_add_forwardingRules.yml │ │ │ │ │ │ ├── loadBalancers_create.yml │ │ │ │ │ │ ├── loadBalancers_delete.yml │ │ │ │ │ │ ├── loadBalancers_delete_cache.yml │ │ │ │ │ │ ├── loadBalancers_get.yml │ │ │ │ │ │ ├── loadBalancers_list.yml │ │ │ │ │ │ ├── loadBalancers_remove_droplets.yml │ │ │ │ │ │ ├── loadBalancers_remove_forwardingRules.yml │ │ │ │ │ │ ├── loadBalancers_update.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── attributes.yml │ │ │ │ │ │ │ ├── domains.yml │ │ │ │ │ │ │ ├── forwarding_rule.yml │ │ │ │ │ │ │ ├── glb_settings.yml │ │ │ │ │ │ │ ├── health_check.yml │ │ │ │ │ │ │ ├── lb_firewall.yml │ │ │ │ │ │ │ ├── load_balancer.yml │ │ │ │ │ │ │ ├── load_balancer_base.yml │ │ │ │ │ │ │ ├── load_balancer_create.yml │ │ │ │ │ │ │ └── sticky_sessions.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_load_balancers.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── existing_load_balancer.yml │ │ │ │ │ │ ├── load_balancer_create.yml │ │ │ │ │ │ └── updated_load_balancer.yml │ │ │ │ │ ├── monitoring/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── monitoring_create_alertPolicy.yml │ │ │ │ │ │ │ │ ├── monitoring_create_destination.yml │ │ │ │ │ │ │ │ ├── monitoring_create_sink.yml │ │ │ │ │ │ │ │ ├── monitoring_delete_alertPolicy.yml │ │ │ │ │ │ │ │ ├── monitoring_delete_destination.yml │ │ │ │ │ │ │ │ ├── monitoring_delete_sink.yml │ │ │ │ │ │ │ │ ├── monitoring_get_DropletCpuMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_alertPolicy.yml │ │ │ │ │ │ │ │ ├── monitoring_get_appCPUPercentageMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_appMemoryPercentageMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_appRestartCountMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_destination.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletBandwidthMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemFreeMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemSizeMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad15Metrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad1Metrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad5Metrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryAvailableMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryCachedMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryFreeMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryTotalMetrics.yml │ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_cpu_utilization.yml │ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_instances.yml │ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_memory_utilization.yml │ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_cpu_utilization.yml │ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_instances.yml │ │ │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_memory_utilization.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_connections.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_downtime.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_health_checks.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_50p.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_95p.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_99p.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_avg.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_responses.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_50p.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_95p.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_avg.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_droplets_queue_size.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_connections_current.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_connections_limit.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_cpu_utilization.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_firewall_dropped_bytes.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_firewall_dropped_packets.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_http_requests_per_second.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_http_responses.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_http.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_tcp.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_udp.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_nlb_udp_network_throughput.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_current.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml │ │ │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_limit.yml │ │ │ │ │ │ │ │ ├── monitoring_get_sink.yml │ │ │ │ │ │ │ │ ├── monitoring_list_alertPolicy.yml │ │ │ │ │ │ │ │ ├── monitoring_list_destinations.yml │ │ │ │ │ │ │ │ ├── monitoring_list_sinks.yml │ │ │ │ │ │ │ │ ├── monitoring_update_alertPolicy.yml │ │ │ │ │ │ │ │ └── monitoring_update_destination.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ ├── monitoring_create_alertPolicy.yml │ │ │ │ │ │ │ ├── monitoring_delete_alertPolicy.yml │ │ │ │ │ │ │ ├── monitoring_get_DropletCpuMetrics.yml │ │ │ │ │ │ │ ├── monitoring_get_alertPolicy.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletBandwidthMetrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemFreeMetrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemSizeMetrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad15Metrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad1Metrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletLoad5Metrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryAvailableMetrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryCachedMetrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryFreeMetrics.yml │ │ │ │ │ │ │ ├── monitoring_get_dropletMemoryTotalMetrics.yml │ │ │ │ │ │ │ ├── monitoring_list_alertPolicy.yml │ │ │ │ │ │ │ └── monitoring_update_alertPolicy.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── alert_policy.yml │ │ │ │ │ │ │ ├── alert_policy_request.yml │ │ │ │ │ │ │ ├── alerts.yml │ │ │ │ │ │ │ ├── destination.yml │ │ │ │ │ │ │ ├── destination_omit_credentials.yml │ │ │ │ │ │ │ ├── destination_request.yml │ │ │ │ │ │ │ ├── list_alert_policy.yml │ │ │ │ │ │ │ ├── metrics.yml │ │ │ │ │ │ │ ├── metrics_data.yml │ │ │ │ │ │ │ ├── metrics_result.yml │ │ │ │ │ │ │ ├── opensearch_config.yml │ │ │ │ │ │ │ ├── opensearch_config_omit_credentials.yml │ │ │ │ │ │ │ ├── opensearch_config_request.yml │ │ │ │ │ │ │ ├── sink_resource.yml │ │ │ │ │ │ │ ├── sinks_response.yml │ │ │ │ │ │ │ └── slack_details.yml │ │ │ │ │ │ ├── monitoring_create_alertPolicy.yml │ │ │ │ │ │ ├── monitoring_create_destination.yml │ │ │ │ │ │ ├── monitoring_create_sink.yml │ │ │ │ │ │ ├── monitoring_delete_alertPolicy.yml │ │ │ │ │ │ ├── monitoring_delete_destination.yml │ │ │ │ │ │ ├── monitoring_delete_sink.yml │ │ │ │ │ │ ├── monitoring_get_DropletCpuMetrics.yml │ │ │ │ │ │ ├── monitoring_get_alertPolicy.yml │ │ │ │ │ │ ├── monitoring_get_appCPUPercentageMetrics.yml │ │ │ │ │ │ ├── monitoring_get_appMemoryPercentageMetrics.yml │ │ │ │ │ │ ├── monitoring_get_appRestartCountMetrics.yml │ │ │ │ │ │ ├── monitoring_get_destination.yml │ │ │ │ │ │ ├── monitoring_get_dropletBandwidthMetrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemFreeMetrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletFilesystemSizeMetrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletLoad15Metrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletLoad1Metrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletLoad5Metrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletMemoryAvailableMetrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletMemoryCachedMetrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletMemoryFreeMetrics.yml │ │ │ │ │ │ ├── monitoring_get_dropletMemoryTotalMetrics.yml │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_cpu_utilization.yml │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_instances.yml │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_current_memory_utilization.yml │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_cpu_utilization.yml │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_instances.yml │ │ │ │ │ │ ├── monitoring_get_droplet_autoscale_target_memory_utilization.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_connections.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_downtime.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_health_checks.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_50p.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_95p.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_99p.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_response_time_avg.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_responses.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_50p.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_95p.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_http_session_duration_avg.yml │ │ │ │ │ │ ├── monitoring_get_lb_droplets_queue_size.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_connections_current.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_connections_limit.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_cpu_utilization.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_firewall_dropped_bytes.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_firewall_dropped_packets.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_http_requests_per_second.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_http_responses.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_http.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_tcp.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_network_throughput_udp.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_nlb_udp_network_throughput.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_current.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml │ │ │ │ │ │ ├── monitoring_get_lb_frontend_tls_connections_limit.yml │ │ │ │ │ │ ├── monitoring_get_sink.yml │ │ │ │ │ │ ├── monitoring_list_alertPolicy.yml │ │ │ │ │ │ ├── monitoring_list_destinations.yml │ │ │ │ │ │ ├── monitoring_list_sinks.yml │ │ │ │ │ │ ├── monitoring_update_alertPolicy.yml │ │ │ │ │ │ ├── monitoring_update_destination.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── alert_policy_response.yml │ │ │ │ │ │ ├── app_metric_response.yml │ │ │ │ │ │ ├── destination.yml │ │ │ │ │ │ ├── droplet_bandwidth_metric_response.yml │ │ │ │ │ │ ├── droplet_cpu_metric_response.yml │ │ │ │ │ │ ├── droplet_filesystem_metric_response.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── list_alert_policy_response.yml │ │ │ │ │ │ ├── list_sinks.yml │ │ │ │ │ │ ├── metric_response.yml │ │ │ │ │ │ ├── monitoring_list_destinations.yml │ │ │ │ │ │ └── sinks.yml │ │ │ │ │ ├── projects/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── projects_assign_resources.yml │ │ │ │ │ │ │ │ ├── projects_assign_resources_default.yml │ │ │ │ │ │ │ │ ├── projects_create.yml │ │ │ │ │ │ │ │ ├── projects_delete.yml │ │ │ │ │ │ │ │ ├── projects_get.yml │ │ │ │ │ │ │ │ ├── projects_get_default.yml │ │ │ │ │ │ │ │ ├── projects_list.yml │ │ │ │ │ │ │ │ ├── projects_list_resources.yml │ │ │ │ │ │ │ │ ├── projects_list_resources_default.yml │ │ │ │ │ │ │ │ ├── projects_patch.yml │ │ │ │ │ │ │ │ ├── projects_patch_default.yml │ │ │ │ │ │ │ │ ├── projects_update.yml │ │ │ │ │ │ │ │ └── projects_update_default.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── projects_assign_resources.yml │ │ │ │ │ │ │ │ ├── projects_assign_resources_default.yml │ │ │ │ │ │ │ │ ├── projects_create.yml │ │ │ │ │ │ │ │ ├── projects_delete.yml │ │ │ │ │ │ │ │ ├── projects_get.yml │ │ │ │ │ │ │ │ ├── projects_get_default.yml │ │ │ │ │ │ │ │ ├── projects_list.yml │ │ │ │ │ │ │ │ ├── projects_list_resources.yml │ │ │ │ │ │ │ │ ├── projects_list_resources_default.yml │ │ │ │ │ │ │ │ ├── projects_patch.yml │ │ │ │ │ │ │ │ ├── projects_patch_default.yml │ │ │ │ │ │ │ │ ├── projects_update.yml │ │ │ │ │ │ │ │ └── projects_update_default.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── projects_assign_resources.yml │ │ │ │ │ │ │ │ ├── projects_assign_resources_default.yml │ │ │ │ │ │ │ │ ├── projects_create.yml │ │ │ │ │ │ │ │ ├── projects_delete.yml │ │ │ │ │ │ │ │ ├── projects_get.yml │ │ │ │ │ │ │ │ ├── projects_get_default.yml │ │ │ │ │ │ │ │ ├── projects_list.yml │ │ │ │ │ │ │ │ ├── projects_list_resources.yml │ │ │ │ │ │ │ │ ├── projects_list_resources_default.yml │ │ │ │ │ │ │ │ ├── projects_patch.yml │ │ │ │ │ │ │ │ ├── projects_patch_default.yml │ │ │ │ │ │ │ │ ├── projects_update.yml │ │ │ │ │ │ │ │ └── projects_update_default.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── projects_assign_resources.yml │ │ │ │ │ │ │ ├── projects_assign_resources_default.yml │ │ │ │ │ │ │ ├── projects_create.yml │ │ │ │ │ │ │ ├── projects_delete.yml │ │ │ │ │ │ │ ├── projects_get.yml │ │ │ │ │ │ │ ├── projects_get_default.yml │ │ │ │ │ │ │ ├── projects_list.yml │ │ │ │ │ │ │ ├── projects_list_resources.yml │ │ │ │ │ │ │ ├── projects_list_resources_default.yml │ │ │ │ │ │ │ ├── projects_patch.yml │ │ │ │ │ │ │ ├── projects_patch_default.yml │ │ │ │ │ │ │ ├── projects_update.yml │ │ │ │ │ │ │ └── projects_update_default.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── project.yml │ │ │ │ │ │ │ ├── project_assignment.yml │ │ │ │ │ │ │ └── resource.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ ├── projects_assign_resources.yml │ │ │ │ │ │ ├── projects_assign_resources_default.yml │ │ │ │ │ │ ├── projects_create.yml │ │ │ │ │ │ ├── projects_delete.yml │ │ │ │ │ │ ├── projects_get.yml │ │ │ │ │ │ ├── projects_get_default.yml │ │ │ │ │ │ ├── projects_list.yml │ │ │ │ │ │ ├── projects_list_resources.yml │ │ │ │ │ │ ├── projects_list_resources_default.yml │ │ │ │ │ │ ├── projects_patch.yml │ │ │ │ │ │ ├── projects_patch_default.yml │ │ │ │ │ │ ├── projects_update.yml │ │ │ │ │ │ ├── projects_update_default.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── assigned_resources_list.yml │ │ │ │ │ │ ├── default_project.yml │ │ │ │ │ │ ├── existing_project.yml │ │ │ │ │ │ ├── precondition_failed.yml │ │ │ │ │ │ ├── projects_list.yml │ │ │ │ │ │ └── resources_list.yml │ │ │ │ │ ├── regions/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ └── regions_list.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ └── regions_list.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ └── regions_list.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ └── regions_list.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ └── region.yml │ │ │ │ │ │ ├── regions_list.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ └── all_regions.yml │ │ │ │ │ ├── registry/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── registry_create.yml │ │ │ │ │ │ │ │ ├── registry_delete.yml │ │ │ │ │ │ │ │ ├── registry_delete_repositoryManifest.yml │ │ │ │ │ │ │ │ ├── registry_delete_repositoryTag.yml │ │ │ │ │ │ │ │ ├── registry_get.yml │ │ │ │ │ │ │ │ ├── registry_get_dockerCredentials.yml │ │ │ │ │ │ │ │ ├── registry_get_garbageCollection.yml │ │ │ │ │ │ │ │ ├── registry_get_options.yml │ │ │ │ │ │ │ │ ├── registry_get_subscription.yml │ │ │ │ │ │ │ │ ├── registry_list_garbageCollections.yml │ │ │ │ │ │ │ │ ├── registry_list_repositories.yml │ │ │ │ │ │ │ │ ├── registry_list_repositoriesV2.yml │ │ │ │ │ │ │ │ ├── registry_list_repositoriesV2_next_page.yml │ │ │ │ │ │ │ │ ├── registry_list_repositoryManifests.yml │ │ │ │ │ │ │ │ ├── registry_list_repositoryTags.yml │ │ │ │ │ │ │ │ ├── registry_run_garbageCollection.yml │ │ │ │ │ │ │ │ ├── registry_update_garbageCollection.yml │ │ │ │ │ │ │ │ ├── registry_update_subscription.yml │ │ │ │ │ │ │ │ └── registry_validate_name.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ ├── registry_create.yml │ │ │ │ │ │ │ ├── registry_delete.yml │ │ │ │ │ │ │ ├── registry_delete_repositoryManifest.yml │ │ │ │ │ │ │ ├── registry_delete_repositoryTag.yml │ │ │ │ │ │ │ ├── registry_get.yml │ │ │ │ │ │ │ ├── registry_get_dockerCredentials.yml │ │ │ │ │ │ │ ├── registry_get_garbageCollection.yml │ │ │ │ │ │ │ ├── registry_get_options.yml │ │ │ │ │ │ │ ├── registry_get_subscription.yml │ │ │ │ │ │ │ ├── registry_list_garbageCollections.yml │ │ │ │ │ │ │ ├── registry_list_repositories.yml │ │ │ │ │ │ │ ├── registry_list_repositoriesV2.yml │ │ │ │ │ │ │ ├── registry_list_repositoryManifests.yml │ │ │ │ │ │ │ ├── registry_list_repositoryTags.yml │ │ │ │ │ │ │ ├── registry_run_garbageCollection.yml │ │ │ │ │ │ │ ├── registry_update_garbageCollection.yml │ │ │ │ │ │ │ ├── registry_update_subscription.yml │ │ │ │ │ │ │ └── registry_validate_name.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── docker_credentials.yml │ │ │ │ │ │ │ ├── garbage_collection.yml │ │ │ │ │ │ │ ├── registry.yml │ │ │ │ │ │ │ ├── registry_create.yml │ │ │ │ │ │ │ ├── repository.yml │ │ │ │ │ │ │ ├── repository_blob.yml │ │ │ │ │ │ │ ├── repository_manifest.yml │ │ │ │ │ │ │ ├── repository_tag.yml │ │ │ │ │ │ │ ├── repository_v2.yml │ │ │ │ │ │ │ ├── subscription.yml │ │ │ │ │ │ │ ├── subscription_tier.yml │ │ │ │ │ │ │ ├── update_registry.yml │ │ │ │ │ │ │ └── validate_registry.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ ├── registry_create.yml │ │ │ │ │ │ ├── registry_delete.yml │ │ │ │ │ │ ├── registry_delete_repositoryManifest.yml │ │ │ │ │ │ ├── registry_delete_repositoryTag.yml │ │ │ │ │ │ ├── registry_get.yml │ │ │ │ │ │ ├── registry_get_dockerCredentials.yml │ │ │ │ │ │ ├── registry_get_garbageCollection.yml │ │ │ │ │ │ ├── registry_get_options.yml │ │ │ │ │ │ ├── registry_get_subscription.yml │ │ │ │ │ │ ├── registry_list_garbageCollections.yml │ │ │ │ │ │ ├── registry_list_repositories.yml │ │ │ │ │ │ ├── registry_list_repositoriesV2.yml │ │ │ │ │ │ ├── registry_list_repositoryManifests.yml │ │ │ │ │ │ ├── registry_list_repositoryTags.yml │ │ │ │ │ │ ├── registry_run_garbageCollection.yml │ │ │ │ │ │ ├── registry_update_garbageCollection.yml │ │ │ │ │ │ ├── registry_update_subscription.yml │ │ │ │ │ │ ├── registry_validate_name.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── all_repositories.yml │ │ │ │ │ │ ├── all_repositories_v2.yml │ │ │ │ │ │ ├── docker_credentials.yml │ │ │ │ │ │ ├── garbage_collection.yml │ │ │ │ │ │ ├── garbage_collections.yml │ │ │ │ │ │ ├── registry_info.yml │ │ │ │ │ │ ├── registry_options_response.yml │ │ │ │ │ │ ├── repository_manifests.yml │ │ │ │ │ │ ├── repository_tags.yml │ │ │ │ │ │ └── subscription_response.yml │ │ │ │ │ ├── reserved_ips/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── create_reserved_ip.yml │ │ │ │ │ │ │ │ ├── delete_reserved_ip.yml │ │ │ │ │ │ │ │ ├── get_reserved_ip.yml │ │ │ │ │ │ │ │ ├── get_reserved_ip_action.yml │ │ │ │ │ │ │ │ ├── list_reserved_ip_actions.yml │ │ │ │ │ │ │ │ ├── list_reserved_ips.yml │ │ │ │ │ │ │ │ └── post_reserved_ip_action.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── create_reserved_ip.yml │ │ │ │ │ │ │ │ ├── delete_reserved_ip.yml │ │ │ │ │ │ │ │ ├── get_reserved_ip.yml │ │ │ │ │ │ │ │ ├── get_reserved_ip_action.yml │ │ │ │ │ │ │ │ ├── list_reserved_ip_actions.yml │ │ │ │ │ │ │ │ ├── list_reserved_ips.yml │ │ │ │ │ │ │ │ └── post_reserved_ip_action.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── create_reserved_ip.yml │ │ │ │ │ │ │ │ ├── delete_reserved_ip.yml │ │ │ │ │ │ │ │ ├── get_reserved_ip.yml │ │ │ │ │ │ │ │ ├── get_reserved_ip_action.yml │ │ │ │ │ │ │ │ ├── list_reserved_ip_actions.yml │ │ │ │ │ │ │ │ ├── list_reserved_ips.yml │ │ │ │ │ │ │ │ └── post_reserved_ip_action.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── create_reserved_ip.yml │ │ │ │ │ │ │ ├── delete_reserved_ip.yml │ │ │ │ │ │ │ ├── get_reserved_ip.yml │ │ │ │ │ │ │ ├── get_reserved_ip_action.yml │ │ │ │ │ │ │ ├── list_reserved_ip_actions.yml │ │ │ │ │ │ │ ├── list_reserved_ips.yml │ │ │ │ │ │ │ └── post_reserved_ip_action.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── reserved_ip.yml │ │ │ │ │ │ │ ├── reserved_ip_actions.yml │ │ │ │ │ │ │ └── reserved_ip_create.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ ├── reservedIPsActions_get.yml │ │ │ │ │ │ ├── reservedIPsActions_list.yml │ │ │ │ │ │ ├── reservedIPsActions_post.yml │ │ │ │ │ │ ├── reservedIPs_create.yml │ │ │ │ │ │ ├── reservedIPs_delete.yml │ │ │ │ │ │ ├── reservedIPs_get.yml │ │ │ │ │ │ ├── reservedIPs_list.yml │ │ │ │ │ │ └── responses/ │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── reserved_ip.yml │ │ │ │ │ │ ├── reserved_ip_action.yml │ │ │ │ │ │ ├── reserved_ip_actions.yml │ │ │ │ │ │ ├── reserved_ip_created.yml │ │ │ │ │ │ └── reserved_ip_list.yml │ │ │ │ │ ├── sizes/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ └── sizes_list.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ └── sizes_list.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ └── sizes_list.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ └── sizes_list.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── disk_info.yml │ │ │ │ │ │ │ ├── gpu_info.yml │ │ │ │ │ │ │ └── size.yml │ │ │ │ │ │ ├── responses/ │ │ │ │ │ │ │ └── all_sizes.yml │ │ │ │ │ │ └── sizes_list.yml │ │ │ │ │ ├── snapshots/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── snapshots_delete.yml │ │ │ │ │ │ │ │ ├── snapshots_get.yml │ │ │ │ │ │ │ │ └── snapshots_list.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── snapshots_delete.yml │ │ │ │ │ │ │ │ ├── snapshots_get.yml │ │ │ │ │ │ │ │ └── snapshots_list.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── snapshots_delete.yml │ │ │ │ │ │ │ │ ├── snapshots_get.yml │ │ │ │ │ │ │ │ └── snapshots_list.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── snapshots_delete.yml │ │ │ │ │ │ │ ├── snapshots_get.yml │ │ │ │ │ │ │ └── snapshots_list.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── snapshots.yml │ │ │ │ │ │ │ └── snapshots_base.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ ├── responses/ │ │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ │ ├── not_a_snapshot.yml │ │ │ │ │ │ │ ├── snapshots.yml │ │ │ │ │ │ │ └── snapshots_existing.yml │ │ │ │ │ │ ├── snapshots_delete.yml │ │ │ │ │ │ ├── snapshots_get.yml │ │ │ │ │ │ └── snapshots_list.yml │ │ │ │ │ ├── ssh_keys/ │ │ │ │ │ │ ├── attributes/ │ │ │ │ │ │ │ ├── ssh_key_fingerprint.yml │ │ │ │ │ │ │ ├── ssh_key_id.yml │ │ │ │ │ │ │ └── ssh_key_name.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── sshKeys_create.yml │ │ │ │ │ │ │ │ ├── sshKeys_delete.yml │ │ │ │ │ │ │ │ ├── sshKeys_get.yml │ │ │ │ │ │ │ │ ├── sshKeys_list.yml │ │ │ │ │ │ │ │ └── sshKeys_patch.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── sshKeys_create.yml │ │ │ │ │ │ │ │ ├── sshKeys_delete.yml │ │ │ │ │ │ │ │ ├── sshKeys_get.yml │ │ │ │ │ │ │ │ ├── sshKeys_list.yml │ │ │ │ │ │ │ │ └── sshKeys_patch.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── sshKeys_create.yml │ │ │ │ │ │ │ │ ├── sshKeys_delete.yml │ │ │ │ │ │ │ │ ├── sshKeys_get.yml │ │ │ │ │ │ │ │ ├── sshKeys_list.yml │ │ │ │ │ │ │ │ └── sshKeys_patch.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── sshKeys_create.yml │ │ │ │ │ │ │ ├── sshKeys_delete.yml │ │ │ │ │ │ │ ├── sshKeys_get.yml │ │ │ │ │ │ │ ├── sshKeys_list.yml │ │ │ │ │ │ │ └── sshKeys_patch.yml │ │ │ │ │ │ ├── links/ │ │ │ │ │ │ │ ├── sshKeys_delete_by_fingerprint.yml │ │ │ │ │ │ │ ├── sshKeys_delete_by_id.yml │ │ │ │ │ │ │ ├── sshKeys_get_by_fingerprint.yml │ │ │ │ │ │ │ └── sshKeys_get_by_id.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ └── sshKeys.yml │ │ │ │ │ │ ├── parameters/ │ │ │ │ │ │ │ └── ssh_key_identifier.yml │ │ │ │ │ │ ├── responses/ │ │ │ │ │ │ │ ├── sshKeys_all.yml │ │ │ │ │ │ │ ├── sshKeys_existing.yml │ │ │ │ │ │ │ └── sshKeys_new.yml │ │ │ │ │ │ ├── sshKeys_create.yml │ │ │ │ │ │ ├── sshKeys_delete.yml │ │ │ │ │ │ ├── sshKeys_get.yml │ │ │ │ │ │ ├── sshKeys_list.yml │ │ │ │ │ │ └── sshKeys_update.yml │ │ │ │ │ ├── tags/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── tags_assign_resources.yml │ │ │ │ │ │ │ │ ├── tags_create.yml │ │ │ │ │ │ │ │ ├── tags_delete.yml │ │ │ │ │ │ │ │ ├── tags_get.yml │ │ │ │ │ │ │ │ ├── tags_list.yml │ │ │ │ │ │ │ │ └── tags_unassign_resources.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── tags_assign_resources.yml │ │ │ │ │ │ │ │ ├── tags_create.yml │ │ │ │ │ │ │ │ ├── tags_delete.yml │ │ │ │ │ │ │ │ ├── tags_get.yml │ │ │ │ │ │ │ │ ├── tags_list.yml │ │ │ │ │ │ │ │ └── tags_unassign_resources.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── tags_assign_resources.yml │ │ │ │ │ │ │ │ ├── tags_create.yml │ │ │ │ │ │ │ │ ├── tags_delete.yml │ │ │ │ │ │ │ │ ├── tags_get.yml │ │ │ │ │ │ │ │ ├── tags_list.yml │ │ │ │ │ │ │ │ └── tags_unassign_resources.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── tags_assign_resources.yml │ │ │ │ │ │ │ ├── tags_create.yml │ │ │ │ │ │ │ ├── tags_delete.yml │ │ │ │ │ │ │ ├── tags_get.yml │ │ │ │ │ │ │ ├── tags_list.yml │ │ │ │ │ │ │ └── tags_unassign_resources.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── tags.yml │ │ │ │ │ │ │ ├── tags_metadata.yml │ │ │ │ │ │ │ └── tags_resource.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ ├── responses/ │ │ │ │ │ │ │ ├── tags_all.yml │ │ │ │ │ │ │ ├── tags_bad_request.yml │ │ │ │ │ │ │ ├── tags_existing.yml │ │ │ │ │ │ │ └── tags_new.yml │ │ │ │ │ │ ├── tags_assign_resources.yml │ │ │ │ │ │ ├── tags_create.yml │ │ │ │ │ │ ├── tags_delete.yml │ │ │ │ │ │ ├── tags_get.yml │ │ │ │ │ │ ├── tags_list.yml │ │ │ │ │ │ └── tags_unassign_resources.yml │ │ │ │ │ ├── uptime/ │ │ │ │ │ │ ├── create_alert.yml │ │ │ │ │ │ ├── create_check.yml │ │ │ │ │ │ ├── delete_alert.yml │ │ │ │ │ │ ├── delete_check.yml │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── alert_create.yml │ │ │ │ │ │ │ │ ├── alert_delete.yml │ │ │ │ │ │ │ │ ├── alert_get.yml │ │ │ │ │ │ │ │ ├── alert_list.yml │ │ │ │ │ │ │ │ ├── alert_update.yml │ │ │ │ │ │ │ │ ├── check_create.yml │ │ │ │ │ │ │ │ ├── check_delete.yml │ │ │ │ │ │ │ │ ├── check_get.yml │ │ │ │ │ │ │ │ ├── check_list.yml │ │ │ │ │ │ │ │ ├── check_state_get.yml │ │ │ │ │ │ │ │ └── check_update.yml │ │ │ │ │ │ │ └── python/ │ │ │ │ │ │ │ ├── alert_create.yml │ │ │ │ │ │ │ ├── alert_delete.yml │ │ │ │ │ │ │ ├── alert_get.yml │ │ │ │ │ │ │ ├── alert_list.yml │ │ │ │ │ │ │ ├── alert_update.yml │ │ │ │ │ │ │ ├── check_create.yml │ │ │ │ │ │ │ ├── check_delete.yml │ │ │ │ │ │ │ ├── check_get.yml │ │ │ │ │ │ │ ├── check_list.yml │ │ │ │ │ │ │ ├── check_state_get.yml │ │ │ │ │ │ │ └── check_update.yml │ │ │ │ │ │ ├── get_alert.yml │ │ │ │ │ │ ├── get_check.yml │ │ │ │ │ │ ├── get_check_state.yml │ │ │ │ │ │ ├── list_alerts.yml │ │ │ │ │ │ ├── list_checks.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── alert.yml │ │ │ │ │ │ │ ├── check.yml │ │ │ │ │ │ │ ├── notification.yml │ │ │ │ │ │ │ └── state.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ ├── responses/ │ │ │ │ │ │ │ ├── all_alerts.yml │ │ │ │ │ │ │ ├── all_checks.yml │ │ │ │ │ │ │ ├── existing_alert.yml │ │ │ │ │ │ │ ├── existing_check.yml │ │ │ │ │ │ │ └── existing_check_state.yml │ │ │ │ │ │ ├── update_alert.yml │ │ │ │ │ │ └── update_check.yml │ │ │ │ │ ├── volumes/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ │ ├── volumeActions_attach.yml │ │ │ │ │ │ │ │ ├── volumeActions_attach_byId.yml │ │ │ │ │ │ │ │ ├── volumeActions_get.yml │ │ │ │ │ │ │ │ ├── volumeActions_list.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_create.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_get_byId.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_list.yml │ │ │ │ │ │ │ │ ├── volumes_create.yml │ │ │ │ │ │ │ │ ├── volumes_delete.yml │ │ │ │ │ │ │ │ ├── volumes_delete_byName.yml │ │ │ │ │ │ │ │ ├── volumes_get.yml │ │ │ │ │ │ │ │ └── volumes_list.yml │ │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ │ ├── volumeActions_attach_byId.yml │ │ │ │ │ │ │ │ ├── volumeActions_get.yml │ │ │ │ │ │ │ │ ├── volumeActions_list.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_create.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_list.yml │ │ │ │ │ │ │ │ ├── volumes_create.yml │ │ │ │ │ │ │ │ ├── volumes_delete.yml │ │ │ │ │ │ │ │ ├── volumes_get.yml │ │ │ │ │ │ │ │ └── volumes_list.yml │ │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ │ ├── volumeActions_attach.yml │ │ │ │ │ │ │ │ ├── volumeActions_attach_byId.yml │ │ │ │ │ │ │ │ ├── volumeActions_get.yml │ │ │ │ │ │ │ │ ├── volumeActions_list.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_create.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_get_byId.yml │ │ │ │ │ │ │ │ ├── volumeSnapshots_list.yml │ │ │ │ │ │ │ │ ├── volumes_create.yml │ │ │ │ │ │ │ │ ├── volumes_delete.yml │ │ │ │ │ │ │ │ ├── volumes_delete_byName.yml │ │ │ │ │ │ │ │ ├── volumes_get.yml │ │ │ │ │ │ │ │ └── volumes_list.yml │ │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ │ ├── volumeActions_attach_byId.yml │ │ │ │ │ │ │ ├── volumeActions_get.yml │ │ │ │ │ │ │ ├── volumeActions_list.yml │ │ │ │ │ │ │ ├── volumeSnapshots_create.yml │ │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml │ │ │ │ │ │ │ ├── volumeSnapshots_list.yml │ │ │ │ │ │ │ ├── volumes_create.yml │ │ │ │ │ │ │ ├── volumes_delete.yml │ │ │ │ │ │ │ ├── volumes_get.yml │ │ │ │ │ │ │ └── volumes_list.yml │ │ │ │ │ │ ├── examples.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── attributes.yml │ │ │ │ │ │ │ ├── volumeAction.yml │ │ │ │ │ │ │ ├── volume_action_post_attach.yml │ │ │ │ │ │ │ ├── volume_action_post_base.yml │ │ │ │ │ │ │ ├── volume_action_post_detach.yml │ │ │ │ │ │ │ ├── volume_action_post_resize.yml │ │ │ │ │ │ │ ├── volume_base.yml │ │ │ │ │ │ │ ├── volume_full.yml │ │ │ │ │ │ │ ├── volumes_ext4.yml │ │ │ │ │ │ │ └── volumes_xfs.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ ├── responses/ │ │ │ │ │ │ │ ├── volume.yml │ │ │ │ │ │ │ ├── volumeAction.yml │ │ │ │ │ │ │ ├── volumeActions.yml │ │ │ │ │ │ │ ├── volumeSnapshot.yml │ │ │ │ │ │ │ ├── volumeSnapshots.yml │ │ │ │ │ │ │ └── volumes.yml │ │ │ │ │ │ ├── volumeActions_get.yml │ │ │ │ │ │ ├── volumeActions_list.yml │ │ │ │ │ │ ├── volumeActions_post.yml │ │ │ │ │ │ ├── volumeActions_post_byId.yml │ │ │ │ │ │ ├── volumeSnapshots_create.yml │ │ │ │ │ │ ├── volumeSnapshots_delete_byId.yml │ │ │ │ │ │ ├── volumeSnapshots_get_byId.yml │ │ │ │ │ │ ├── volumeSnapshots_list.yml │ │ │ │ │ │ ├── volumes_create.yml │ │ │ │ │ │ ├── volumes_delete.yml │ │ │ │ │ │ ├── volumes_delete_byName.yml │ │ │ │ │ │ ├── volumes_get.yml │ │ │ │ │ │ └── volumes_list.yml │ │ │ │ │ ├── vpc_peerings/ │ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ │ └── curl/ │ │ │ │ │ │ │ ├── vpc_peerings_create.yml │ │ │ │ │ │ │ ├── vpc_peerings_delete.yml │ │ │ │ │ │ │ ├── vpc_peerings_get.yml │ │ │ │ │ │ │ ├── vpc_peerings_list.yml │ │ │ │ │ │ │ └── vpc_peerings_update.yml │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ └── vpc_peering.yml │ │ │ │ │ │ ├── parameters.yml │ │ │ │ │ │ ├── responses/ │ │ │ │ │ │ │ ├── active_vpc_peering.yml │ │ │ │ │ │ │ ├── all_vpc_peerings.yml │ │ │ │ │ │ │ ├── deleting_vpc_peering.yml │ │ │ │ │ │ │ └── provisioning_vpc_peering.yml │ │ │ │ │ │ ├── vpc_peerings_create.yml │ │ │ │ │ │ ├── vpc_peerings_delete.yml │ │ │ │ │ │ ├── vpc_peerings_get.yml │ │ │ │ │ │ ├── vpc_peerings_list.yml │ │ │ │ │ │ └── vpc_peerings_update.yml │ │ │ │ │ └── vpcs/ │ │ │ │ │ ├── examples/ │ │ │ │ │ │ ├── curl/ │ │ │ │ │ │ │ ├── vpcs_create.yml │ │ │ │ │ │ │ ├── vpcs_create_peerings.yml │ │ │ │ │ │ │ ├── vpcs_delete.yml │ │ │ │ │ │ │ ├── vpcs_get.yml │ │ │ │ │ │ │ ├── vpcs_list.yml │ │ │ │ │ │ │ ├── vpcs_list_members.yml │ │ │ │ │ │ │ ├── vpcs_list_peerings.yml │ │ │ │ │ │ │ ├── vpcs_patch.yml │ │ │ │ │ │ │ ├── vpcs_update.yml │ │ │ │ │ │ │ └── vpcs_update_peerings.yml │ │ │ │ │ │ ├── go/ │ │ │ │ │ │ │ ├── vpcs_create.yml │ │ │ │ │ │ │ ├── vpcs_delete.yml │ │ │ │ │ │ │ ├── vpcs_get.yml │ │ │ │ │ │ │ ├── vpcs_list.yml │ │ │ │ │ │ │ ├── vpcs_patch.yml │ │ │ │ │ │ │ └── vpcs_update.yml │ │ │ │ │ │ └── python/ │ │ │ │ │ │ ├── vpcs_create.yml │ │ │ │ │ │ ├── vpcs_delete.yml │ │ │ │ │ │ ├── vpcs_get.yml │ │ │ │ │ │ ├── vpcs_list.yml │ │ │ │ │ │ ├── vpcs_list_members.yml │ │ │ │ │ │ ├── vpcs_patch.yml │ │ │ │ │ │ └── vpcs_update.yml │ │ │ │ │ ├── models/ │ │ │ │ │ │ ├── vpc.yml │ │ │ │ │ │ └── vpc_member.yml │ │ │ │ │ ├── parameters.yml │ │ │ │ │ ├── responses/ │ │ │ │ │ │ ├── all_vpcs.yml │ │ │ │ │ │ ├── existing_vpc.yml │ │ │ │ │ │ ├── vpc_members.yml │ │ │ │ │ │ ├── vpc_peering.yml │ │ │ │ │ │ └── vpc_peerings.yml │ │ │ │ │ ├── vpcs_create.yml │ │ │ │ │ ├── vpcs_create_peerings.yml │ │ │ │ │ ├── vpcs_delete.yml │ │ │ │ │ ├── vpcs_get.yml │ │ │ │ │ ├── vpcs_list.yml │ │ │ │ │ ├── vpcs_list_members.yml │ │ │ │ │ ├── vpcs_list_peerings.yml │ │ │ │ │ ├── vpcs_patch.yml │ │ │ │ │ ├── vpcs_update.yml │ │ │ │ │ └── vpcs_update_peerings.yml │ │ │ │ └── shared/ │ │ │ │ ├── attributes/ │ │ │ │ │ ├── distribution.yml │ │ │ │ │ ├── existing_tags_array.yml │ │ │ │ │ ├── region_slug.yml │ │ │ │ │ ├── regions_array.yml │ │ │ │ │ ├── tags_array.yml │ │ │ │ │ └── urn.yml │ │ │ │ ├── headers.yml │ │ │ │ ├── meta.yml │ │ │ │ ├── meta_optional_total.yml │ │ │ │ ├── models/ │ │ │ │ │ ├── action_link.yml │ │ │ │ │ ├── error.yml │ │ │ │ │ ├── error_with_root_causes.yml │ │ │ │ │ └── meta_properties.yml │ │ │ │ ├── pages.yml │ │ │ │ ├── parameters.yml │ │ │ │ └── responses/ │ │ │ │ ├── accepted.yml │ │ │ │ ├── bad_request.yml │ │ │ │ ├── conflict.yml │ │ │ │ ├── no_content.yml │ │ │ │ ├── no_content_with_content_type.yml │ │ │ │ ├── not_found.yml │ │ │ │ ├── server_error.yml │ │ │ │ ├── too_many_requests.yml │ │ │ │ ├── unauthorized.yml │ │ │ │ └── unexpected_error.yml │ │ │ ├── digital-ocean-api.ts │ │ │ ├── enum-root-types.ts │ │ │ ├── enum-root-types.yaml │ │ │ ├── github-api-export-type-immutable.ts │ │ │ ├── github-api-immutable.ts │ │ │ ├── github-api-next.ts │ │ │ ├── github-api-next.yaml │ │ │ ├── github-api-required.ts │ │ │ ├── github-api-root-types.ts │ │ │ ├── github-api.ts │ │ │ ├── github-api.yaml │ │ │ ├── octokit-ghes-3.6-diff-to-api.json │ │ │ ├── octokit-ghes-3.6-diff-to-api.ts │ │ │ ├── simple-example.ts │ │ │ ├── simple-example.yaml │ │ │ ├── stripe-api.ts │ │ │ └── stripe-api.yaml │ │ ├── package.json │ │ ├── scripts/ │ │ │ ├── download-schemas.ts │ │ │ ├── schemas.ts │ │ │ └── update-examples.ts │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── lib/ │ │ │ │ ├── redoc.ts │ │ │ │ ├── ts.ts │ │ │ │ └── utils.ts │ │ │ ├── transform/ │ │ │ │ ├── components-object.ts │ │ │ │ ├── header-object.ts │ │ │ │ ├── index.ts │ │ │ │ ├── media-type-object.ts │ │ │ │ ├── operation-object.ts │ │ │ │ ├── parameter-object.ts │ │ │ │ ├── parameters-array.ts │ │ │ │ ├── path-item-object.ts │ │ │ │ ├── paths-enum.ts │ │ │ │ ├── paths-object.ts │ │ │ │ ├── request-body-object.ts │ │ │ │ ├── response-object.ts │ │ │ │ ├── responses-object.ts │ │ │ │ ├── schema-object.ts │ │ │ │ └── webhooks-object.ts │ │ │ └── types.ts │ │ ├── test/ │ │ │ ├── cjs.test.js │ │ │ ├── cli.test.ts │ │ │ ├── discriminators.test.ts │ │ │ ├── fixtures/ │ │ │ │ ├── _jsonschema-remote-obj.yaml │ │ │ │ ├── _parameters-test-partial.yaml │ │ │ │ ├── _path-object-refs-paths.yaml │ │ │ │ ├── _remote-ref-full.yaml │ │ │ │ ├── _remote-ref-partial.yaml │ │ │ │ ├── anchor-with-ref-test-2.yaml │ │ │ │ ├── anchor-with-ref-test.yaml │ │ │ │ ├── generate-params-test.yaml │ │ │ │ ├── jsonschema-defs.yaml │ │ │ │ ├── multi-line-descriptions.yaml │ │ │ │ ├── parameters-test.yaml │ │ │ │ ├── path-item-components.yaml │ │ │ │ ├── path-object-refs.yaml │ │ │ │ ├── redocly/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── openapi/ │ │ │ │ │ │ ├── a.yaml │ │ │ │ │ │ ├── b.yaml │ │ │ │ │ │ └── c.yaml │ │ │ │ │ └── redocly.yaml │ │ │ │ ├── redocly-flag/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── openapi/ │ │ │ │ │ │ ├── a.yaml │ │ │ │ │ │ ├── b.yaml │ │ │ │ │ │ └── c.yaml │ │ │ │ │ ├── redocly.alt.yaml │ │ │ │ │ └── redocly.yaml │ │ │ │ ├── redocly-lint-error/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── openapi/ │ │ │ │ │ │ └── openapi.yaml │ │ │ │ │ └── redocly.yaml │ │ │ │ └── yaml-merge.yaml │ │ │ ├── index.test.ts │ │ │ ├── invalid.test.ts │ │ │ ├── lib/ │ │ │ │ ├── ts.test.ts │ │ │ │ └── utils.test.ts │ │ │ ├── node-api.test.ts │ │ │ ├── test-helpers.ts │ │ │ ├── transform/ │ │ │ │ ├── components-object.test.ts │ │ │ │ ├── header-object.test.ts │ │ │ │ ├── operation-object.test.ts │ │ │ │ ├── path-item-object.test.ts │ │ │ │ ├── paths-enum.test.ts │ │ │ │ ├── paths-object.test.ts │ │ │ │ ├── request-body-object.test.ts │ │ │ │ ├── response-object.test.ts │ │ │ │ ├── schema-object/ │ │ │ │ │ ├── array.test.ts │ │ │ │ │ ├── boolean.test.ts │ │ │ │ │ ├── composition.test.ts │ │ │ │ │ ├── empty.test.ts │ │ │ │ │ ├── enum.test.ts │ │ │ │ │ ├── number.test.ts │ │ │ │ │ ├── object.test.ts │ │ │ │ │ └── string.test.ts │ │ │ │ └── webhooks-object.test.ts │ │ │ └── yaml.test.ts │ │ ├── tsconfig.examples.json │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── openapi-typescript-helpers/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── biome.json │ │ ├── build.config.ts │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ └── swr-openapi/ │ └── README.md ├── pnpm-workspace.yaml ├── renovate.json ├── tsconfig.json ├── turbo.json └── vitest.workspace.ts
SYMBOL INDEX (1600 symbols across 104 files)
FILE: docs/.vitepress/shared.ts
constant HOSTNAME (line 5) | const HOSTNAME = "https://openapi-ts.dev";
method transformPageData (line 49) | transformPageData({ relativePath, frontmatter }) {
FILE: docs/.vitepress/theme/index.ts
method enhanceApp (line 11) | enhanceApp({ app, router, siteData }) {
FILE: docs/scripts/update-contributors.js
constant MAINTAINERS (line 5) | const MAINTAINERS = {
constant CONTRIBUTORS (line 14) | const CONTRIBUTORS = new Set([
constant ONE_WEEK (line 198) | const ONE_WEEK = 1000 * 60 * 60 * 24;
constant FOUR_WEEKS (line 199) | const FOUR_WEEKS = 4 * ONE_WEEK;
constant CONTRIBUTORS_JSON (line 201) | const CONTRIBUTORS_JSON = new URL("../data/contributors.json", import.me...
class UserFetchError (line 205) | class UserFetchError extends Error {
method constructor (line 210) | constructor(message, response) {
method notFound (line 219) | get notFound() {
constant BACKOFF_INTERVALS_MINUTES (line 224) | const BACKOFF_INTERVALS_MINUTES = [1, 2, 3, 5];
constant MAX_RETRIES (line 225) | const MAX_RETRIES = BACKOFF_INTERVALS_MINUTES.length - 1;
function rateLimitDelay (line 230) | async function rateLimitDelay({ retryAfter, ratelimitReset, ratelimitRem...
function fetchUserInfo (line 248) | async function fetchUserInfo(username, retryCount = 0) {
function upsert (line 300) | function upsert(list, userData) {
function main (line 309) | async function main() {
function pluralize (line 358) | function pluralize(count, singular, plural) {
FILE: packages/openapi-fetch/examples/nextjs/app/layout.tsx
function RootLayout (line 8) | function RootLayout({
FILE: packages/openapi-fetch/examples/nextjs/app/page.tsx
function getFact (line 4) | async function getFact() {
function Home (line 12) | async function Home() {
FILE: packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts
type paths (line 6) | interface paths {
type webhooks (line 68) | type webhooks = Record<string, never>;
type components (line 69) | interface components {
type $defs (line 136) | type $defs = Record<string, never>;
type operations (line 137) | interface operations {
FILE: packages/openapi-fetch/examples/sveltekit/src/hooks.server.ts
method filterSerializedResponseHeaders (line 5) | filterSerializedResponseHeaders(name) {
FILE: packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts
type paths (line 6) | interface paths {
type webhooks (line 68) | type webhooks = Record<string, never>;
type components (line 69) | interface components {
type $defs (line 136) | type $defs = Record<string, never>;
type operations (line 137) | interface operations {
FILE: packages/openapi-fetch/examples/vue-3/src/composables/catfact-query.ts
type AppError (line 6) | interface AppError {
type FactCatQueryOptions (line 11) | type FactCatQueryOptions<T> = ParamsOption<T> & RequestBodyOption<T>;
type CatFactResponse (line 13) | type CatFactResponse =
function execute (line 24) | async function execute() {
FILE: packages/openapi-fetch/examples/vue-3/src/generated/catfact.d.ts
type paths (line 6) | interface paths {
type webhooks (line 68) | type webhooks = Record<string, never>;
type components (line 69) | interface components {
type $defs (line 136) | type $defs = Record<string, never>;
type operations (line 137) | interface operations {
FILE: packages/openapi-fetch/playwright.config.ts
constant PORT (line 3) | const PORT = Number.parseInt(process.env.PORT || 4173 || "", 10);
FILE: packages/openapi-fetch/src/index.d.ts
type ClientOptions (line 17) | interface ClientOptions extends Omit<RequestInit, "headers"> {
type HeadersOptions (line 35) | type HeadersOptions =
type QuerySerializer (line 39) | type QuerySerializer<T> = (
type QuerySerializerOptions (line 44) | type QuerySerializerOptions = {
type BodySerializer (line 69) | type BodySerializer<T> = (body: OperationRequestBodyContent<T>) => any;
type PathSerializer (line 71) | type PathSerializer = (pathname: string, pathParams: Record<string, unkn...
type BodyType (line 73) | type BodyType<T = unknown> = {
type ParseAs (line 80) | type ParseAs = keyof BodyType;
type ParseAsResponse (line 81) | type ParseAsResponse<T, Options> = Options extends {
type DefaultParamsOption (line 87) | interface DefaultParamsOption {
type ParamsOption (line 93) | type ParamsOption<T> = T extends {
type RequestBodyOption (line 102) | type RequestBodyOption<T> =
type FetchOptions (line 109) | type FetchOptions<T> = RequestOptions<T> & Omit<RequestInit, "body" | "h...
type FetchResponse (line 112) | type FetchResponse<T extends Record<string | number, any>, Options, Medi...
type RequestOptions (line 124) | type RequestOptions<T> = ParamsOption<T> &
type MergedOptions (line 136) | type MergedOptions<T = unknown> = {
type MiddlewareRequestParams (line 145) | interface MiddlewareRequestParams {
type MiddlewareCallbackParams (line 152) | interface MiddlewareCallbackParams {
type MiddlewareOnRequest (line 165) | type MiddlewareOnRequest = (
type MiddlewareOnResponse (line 168) | type MiddlewareOnResponse = (
type MiddlewareOnError (line 171) | type MiddlewareOnError = (
type Middleware (line 175) | type Middleware =
type MaybeOptionalInit (line 193) | type MaybeOptionalInit<Params, Location extends keyof Params> =
type InitParam (line 202) | type InitParam<Init> =
type ClientMethod (line 205) | type ClientMethod<
type ClientRequestMethod (line 214) | type ClientRequestMethod<Paths extends Record<string, Record<HttpMethod,...
type ClientForPath (line 224) | type ClientForPath<PathInfo extends Record<string | number, any>, Media ...
type Client (line 230) | interface Client<Paths extends {}, Media extends MediaType = MediaType> {
type ClientPathsWithMethod (line 254) | type ClientPathsWithMethod<CreatedClient extends Client<any, any>, Metho...
type MethodResponse (line 257) | type MethodResponse<
type PathBasedClient (line 271) | type PathBasedClient<Paths extends Record<string | number, any>, Media e...
FILE: packages/openapi-fetch/src/index.js
constant PATH_PARAM_RE (line 2) | const PATH_PARAM_RE = /\{[^{}]+\}/g;
function randomID (line 16) | function randomID() {
function createClient (line 24) | function createClient(clientOptions) {
class PathCallForwarder (line 342) | class PathCallForwarder {
method constructor (line 343) | constructor(client, url) {
class PathClientProxyHandler (line 374) | class PathClientProxyHandler {
method constructor (line 375) | constructor() {
method get (line 380) | get(coreClient, url) {
function wrapAsPathBasedClient (line 391) | function wrapAsPathBasedClient(coreClient) {
function createPathBasedClient (line 417) | function createPathBasedClient(clientOptions) {
function serializePrimitiveParam (line 427) | function serializePrimitiveParam(name, value, options) {
function serializeObjectParam (line 443) | function serializeObjectParam(name, value, options) {
function serializeArrayParam (line 490) | function serializeArrayParam(name, value, options) {
function createQuerySerializer (line 536) | function createQuerySerializer(options) {
function defaultPathSerializer (line 582) | function defaultPathSerializer(pathname, pathParams) {
function defaultBodySerializer (line 624) | function defaultBodySerializer(body, headers) {
function createFinalURL (line 644) | function createFinalURL(pathname, options) {
function mergeHeaders (line 663) | function mergeHeaders(...allHeaders) {
function removeTrailingSlash (line 689) | function removeTrailingSlash(url) {
FILE: packages/openapi-fetch/test/bench/index.bench.js
constant BASE_URL (line 9) | const BASE_URL = "https://api.test.local";
FILE: packages/openapi-fetch/test/common/create-client-e2e.test.js
constant API_PORT (line 67) | const API_PORT = process.env.API_PORT || 4578;
FILE: packages/openapi-fetch/test/common/create-client.test.ts
function fireRequestAndGetContentType (line 64) | async function fireRequestAndGetContentType(options: {
FILE: packages/openapi-fetch/test/common/params.test.ts
type Resource (line 6) | type Resource = components["schemas"]["Resource"];
FILE: packages/openapi-fetch/test/common/request.test.ts
type Resource (line 6) | type Resource = components["schemas"]["Resource"];
function fireRequestAndGetBodyInformation (line 99) | async function fireRequestAndGetBodyInformation(options: {
class SpecialRequestImplementation (line 302) | class SpecialRequestImplementation extends Request {}
class SpecialRequestImplementation (line 323) | class SpecialRequestImplementation extends Request {}
function createCustomFetch (line 340) | function createCustomFetch(data: any) {
FILE: packages/openapi-fetch/test/common/response.test.ts
type Resource (line 6) | type Resource = components["schemas"]["Resource"];
type Error (line 7) | type Error = components["schemas"]["Error"];
FILE: packages/openapi-fetch/test/common/schemas/common.d.ts
type paths (line 6) | interface paths {
type webhooks (line 747) | type webhooks = Record<string, never>;
type components (line 748) | interface components {
type $defs (line 765) | type $defs = Record<string, never>;
type operations (line 766) | interface operations {
FILE: packages/openapi-fetch/test/e2e/app/app.ts
function testGet (line 11) | async function testGet() {
function testPost (line 21) | async function testPost() {
function testMultiForm (line 31) | async function testMultiForm() {
FILE: packages/openapi-fetch/test/e2e/app/schemas/e2e.d.ts
type paths (line 6) | interface paths {
type webhooks (line 166) | type webhooks = Record<string, never>;
type components (line 167) | interface components {
type $defs (line 175) | type $defs = Record<string, never>;
type operations (line 176) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/e2e/index.e2e.ts
function mockAPI (line 24) | async function mockAPI(page: Page) {
FILE: packages/openapi-fetch/test/examples/schemas/github.d.ts
type paths (line 6) | interface paths {
type webhooks (line 18416) | type webhooks = Record<string, never>;
type components (line 18417) | interface components {
type $defs (line 88060) | type $defs = Record<string, never>;
type operations (line 88061) | interface operations {
FILE: packages/openapi-fetch/test/examples/schemas/stripe.d.ts
type paths (line 6) | interface paths {
type webhooks (line 8840) | type webhooks = Record<string, never>;
type components (line 8841) | interface components {
type $defs (line 27755) | type $defs = Record<string, never>;
type operations (line 27756) | interface operations {
FILE: packages/openapi-fetch/test/helpers.ts
function createObservedClient (line 15) | function createObservedClient<T extends {}, M extends MediaType = MediaT...
function headersToObj (line 29) | function headersToObj(headers: Headers | Record<string, string>): Record...
FILE: packages/openapi-fetch/test/http-methods/post.test.ts
method bodySerializer (line 142) | bodySerializer(body) {
FILE: packages/openapi-fetch/test/http-methods/schemas/delete.d.ts
type paths (line 6) | interface paths {
type webhooks (line 51) | type webhooks = Record<string, never>;
type components (line 52) | interface components {
type $defs (line 65) | type $defs = Record<string, never>;
type operations (line 66) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/http-methods/schemas/get.d.ts
type paths (line 6) | interface paths {
type webhooks (line 100) | type webhooks = Record<string, never>;
type components (line 101) | interface components {
type $defs (line 117) | type $defs = Record<string, never>;
type operations (line 118) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/http-methods/schemas/head.d.ts
type paths (line 6) | interface paths {
type webhooks (line 56) | type webhooks = Record<string, never>;
type components (line 57) | interface components {
type $defs (line 73) | type $defs = Record<string, never>;
type operations (line 74) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/http-methods/schemas/options.d.ts
type paths (line 6) | interface paths {
type webhooks (line 52) | type webhooks = Record<string, never>;
type components (line 53) | interface components {
type $defs (line 61) | type $defs = Record<string, never>;
type operations (line 62) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/http-methods/schemas/patch.d.ts
type paths (line 6) | interface paths {
type webhooks (line 62) | type webhooks = Record<string, never>;
type components (line 63) | interface components {
type $defs (line 80) | type $defs = Record<string, never>;
type operations (line 81) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/http-methods/schemas/post.d.ts
type paths (line 6) | interface paths {
type webhooks (line 136) | type webhooks = Record<string, never>;
type components (line 137) | interface components {
type $defs (line 196) | type $defs = Record<string, never>;
type operations (line 197) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/http-methods/schemas/put.d.ts
type paths (line 6) | interface paths {
type webhooks (line 49) | type webhooks = Record<string, never>;
type components (line 50) | interface components {
type $defs (line 65) | type $defs = Record<string, never>;
type operations (line 66) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/http-methods/schemas/trace.d.ts
type paths (line 6) | interface paths {
type webhooks (line 56) | type webhooks = Record<string, never>;
type components (line 57) | interface components {
type $defs (line 65) | type $defs = Record<string, never>;
type operations (line 66) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/middleware/middleware.test.ts
method onRequest (line 13) | async onRequest({ id }) {
method onResponse (line 16) | async onResponse({ id }) {
method onRequest (line 42) | async onRequest({ request }) {
method onResponse (line 71) | async onResponse({ response }) {
method onError (line 105) | onError({ error }) {
method onError (line 125) | onError() {
method onError (line 144) | onError({ error }) {
method onRequest (line 166) | async onRequest({ request }) {
method onResponse (line 170) | async onResponse({ response }) {
method onRequest (line 179) | async onRequest({ request }) {
method onResponse (line 183) | async onResponse({ response }) {
method onRequest (line 192) | onRequest({ request }) {
method onResponse (line 196) | onResponse({ response }) {
method onRequest (line 210) | onRequest({ request }) {
method onResponse (line 214) | onResponse({ response }) {
method onError (line 237) | onError({ error }) {
method onError (line 243) | onError() {
method onRequest (line 260) | onRequest({ options }) {
method onResponse (line 273) | onResponse({ request }) {
method onRequest (line 303) | onRequest({ schemaPath, params }) {
method onRequest (line 323) | onRequest() {
method onRequest (line 335) | onRequest() {
method onRequest (line 365) | onRequest({ request }) {
method onResponse (line 372) | onResponse({ request }) {
method onRequest (line 380) | onRequest({ request }) {
method onRequest (line 410) | onRequest({ options }) {
method onRequest (line 426) | async onRequest({ request }) {
method onRequest (line 472) | async onRequest() {
method onRequest (line 490) | async onRequest() {
method onRequest (line 495) | async onRequest() {
method onRequest (line 512) | async onRequest() {
method onResponse (line 515) | async onResponse() {
method onRequest (line 536) | async onRequest() {
FILE: packages/openapi-fetch/test/middleware/schemas/middleware.d.ts
type paths (line 6) | interface paths {
type webhooks (line 111) | type webhooks = Record<string, never>;
type components (line 112) | interface components {
type $defs (line 131) | type $defs = Record<string, never>;
type operations (line 132) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/never-response/schemas/never-response.d.ts
type paths (line 6) | interface paths {
type webhooks (line 123) | type webhooks = Record<string, never>;
type components (line 124) | interface components {
type $defs (line 141) | type $defs = Record<string, never>;
type operations (line 142) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/no-strict-null-checks/no-strict-null-checks.test.ts
type Resource (line 8) | type Resource = components["schemas"]["Resource"];
FILE: packages/openapi-fetch/test/path-based-client/path-based-client.test.ts
function createObservedPathBasedClient (line 7) | function createObservedPathBasedClient<T extends {}, M extends MediaType...
FILE: packages/openapi-fetch/test/path-based-client/schemas/path-based-client.d.ts
type paths (line 6) | interface paths {
type webhooks (line 100) | type webhooks = Record<string, never>;
type components (line 101) | interface components {
type $defs (line 118) | type $defs = Record<string, never>;
type operations (line 119) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/read-write-visibility/read-write.test.ts
type EntriesType (line 39) | type EntriesType = NonNullable<typeof data>["items"][number]["nested"]["...
type LabelType (line 43) | type LabelType = NonNullable<typeof data>["items"][number]["nested"]["en...
FILE: packages/openapi-fetch/test/read-write-visibility/schemas/read-write.d.ts
type $Read (line 6) | type $Read<T> = {
type $Write (line 9) | type $Write<T> = {
type Readable (line 12) | type Readable<T> = T extends $Write<any> ? never : T extends $Read<infer...
type Writable (line 15) | type Writable<T> = T extends $Read<any> ? never : T extends $Write<infer...
type paths (line 20) | interface paths {
type webhooks (line 117) | type webhooks = Record<string, never>;
type components (line 118) | interface components {
type $defs (line 147) | type $defs = Record<string, never>;
type operations (line 148) | type operations = Record<string, never>;
FILE: packages/openapi-fetch/test/types.test.ts
type MixedResponses (line 7) | interface MixedResponses {
type Response (line 21) | type Response = GetResponseContent<MixedResponses>;
type Response (line 38) | type Response = GetResponseContent<MixedResponses, `${string}/${string}`...
type Response (line 56) | type Response = GetResponseContent<MixedResponses, `${string}/json`, 200>;
type Response (line 77) | type Response = GetResponseContent<MixedResponses, "application/json", 2...
type Response (line 98) | type Response = GetResponseContent<MixedResponses, `${string}/${string}`...
type Response (line 113) | type Response = GetResponseContent<
type Response (line 133) | type Response = GetResponseContent<MixedResponses, "I/DO NOT EXIST">;
type Responses (line 167) | interface Responses {
type Response (line 172) | type Response = GetResponseContent<Responses>;
type Responses (line 179) | interface Responses {
type Response (line 193) | type Response = SuccessResponse<Responses>;
type Response (line 208) | type Response = SuccessResponse<Responses, "application/json">;
type Responses (line 228) | interface Responses {
type Response (line 243) | type Response = ErrorResponse<Responses>;
type Response (line 262) | type Response = ErrorResponse<Responses, "application/json">;
FILE: packages/openapi-react-query/src/index.ts
type InferSelectReturnType (line 30) | type InferSelectReturnType<TData, TSelect> = TSelect extends (data: TDat...
type InitWithUnknowns (line 32) | type InitWithUnknowns<Init> = Init & { [key: string]: unknown };
type QueryKey (line 34) | type QueryKey<
type QueryOptionsFunction (line 41) | type QueryOptionsFunction<Paths extends Record<string, Record<HttpMethod...
type UseQueryMethod (line 84) | type UseQueryMethod<Paths extends Record<string, Record<HttpMethod, {}>>...
type UseInfiniteQueryMethod (line 106) | type UseInfiniteQueryMethod<Paths extends Record<string, Record<HttpMeth...
type UseSuspenseQueryMethod (line 134) | type UseSuspenseQueryMethod<Paths extends Record<string, Record<HttpMeth...
type UseMutationMethod (line 156) | type UseMutationMethod<Paths extends Record<string, Record<HttpMethod, {...
type OpenapiQueryClient (line 172) | interface OpenapiQueryClient<Paths extends {}, Media extends MediaType =...
type MethodResponse (line 180) | type MethodResponse<
function createClient (line 193) | function createClient<Paths extends {}, Media extends MediaType = MediaT...
FILE: packages/openapi-react-query/test/fixtures/api.d.ts
type paths (line 6) | interface paths {
type webhooks (line 871) | type webhooks = Record<string, never>;
type components (line 872) | interface components {
type $defs (line 1082) | type $defs = Record<string, never>;
type operations (line 1083) | interface operations {
FILE: packages/openapi-react-query/test/fixtures/mock-server.ts
function toAbsoluteURL (line 27) | function toAbsoluteURL(path: string, base: string = baseUrl) {
type MswHttpMethod (line 49) | type MswHttpMethod = keyof typeof http;
type MockRequestHandlerOptions (line 51) | interface MockRequestHandlerOptions<
function useMockRequestHandler (line 78) | function useMockRequestHandler<
FILE: packages/openapi-react-query/test/index.test.tsx
type minimalGetPaths (line 18) | type minimalGetPaths = {
function Page (line 527) | function Page() {
function Page (line 636) | function Page() {
function Page (line 797) | function Page() {
type expectedOnMutateResultType (line 844) | type expectedOnMutateResultType = typeof onMutateReturnValue | undefined;
function Page (line 910) | function Page() {
FILE: packages/openapi-typescript-helpers/src/index.ts
type HttpMethod (line 3) | type HttpMethod = "get" | "put" | "post" | "delete" | "options" | "head"...
type OkStatus (line 5) | type OkStatus = 200 | 201 | 202 | 203 | 204 | 206 | 207 | "2XX";
type ErrorStatus (line 8) | type ErrorStatus = 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 |...
type OKStatusUnion (line 11) | type OKStatusUnion<T> = FilterKeys<T, OkStatus>;
type FirstErrorStatus (line 15) | type FirstErrorStatus<T> =
type PathsWithMethod (line 71) | type PathsWithMethod<Paths extends {}, PathnameMethod extends HttpMethod...
type OperationObject (line 83) | interface OperationObject {
type PathItemObject (line 90) | type PathItemObject = {
type ResponseObjectMap (line 95) | type ResponseObjectMap<T> = T extends { responses: any } ? T["responses"...
type ResponseContent (line 98) | type ResponseContent<T> = T extends { content: any } ? T["content"] : un...
type OperationRequestBody (line 101) | type OperationRequestBody<T> = "requestBody" extends keyof T ? T["reques...
type PickRequestBody (line 104) | type PickRequestBody<T> = "requestBody" extends keyof T ? Pick<T, "reque...
type IsOperationRequestBodyOptional (line 107) | type IsOperationRequestBodyOptional<T> = RequiredKeysOf<PickRequestBody<...
type OperationRequestBodyMediaContent (line 110) | type OperationRequestBodyMediaContent<T> =
type OperationRequestBodyContent (line 116) | type OperationRequestBodyContent<T> =
type SuccessResponse (line 122) | type SuccessResponse<
type GetResponseContent (line 127) | type GetResponseContent<
type ErrorResponse (line 146) | type ErrorResponse<
type SuccessResponseJSON (line 152) | type SuccessResponseJSON<PathMethod extends Record<string | number, any>...
type ErrorResponseJSON (line 158) | type ErrorResponseJSON<PathMethod extends Record<string | number, any>> ...
type RequestBodyJSON (line 164) | type RequestBodyJSON<PathMethod> = JSONLike<FilterKeys<OperationRequestB...
type FilterKeys (line 169) | type FilterKeys<Obj, Matchers> = Obj[keyof Obj & Matchers];
type GetValueWithDefault (line 175) | type GetValueWithDefault<Obj, KeyPattern, Default> = Obj extends any
type MediaType (line 182) | type MediaType = `${string}/${string}`;
type JSONLike (line 184) | type JSONLike<T> = FilterKeys<T, `${string}/json`>;
type FindRequiredKeys (line 190) | type FindRequiredKeys<T, K extends keyof T> = K extends unknown ? (undef...
type HasRequiredKeys (line 195) | type HasRequiredKeys<T> = FindRequiredKeys<T, keyof T>;
type RequiredKeysOfHelper (line 198) | type RequiredKeysOfHelper<T> = {
type RequiredKeysOf (line 203) | type RequiredKeysOf<T> = RequiredKeysOfHelper<T> extends undefined ? nev...
type $Read (line 208) | type $Read<T> = { readonly $read: T };
type $Write (line 211) | type $Write<T> = { readonly $write: T };
type Readable (line 219) | type Readable<T> =
type Writable (line 236) | type Writable<T> =
FILE: packages/openapi-typescript/bin/cli.js
constant HELP (line 11) | const HELP = `Usage
constant OUTPUT_FILE (line 43) | const OUTPUT_FILE = "FILE";
constant OUTPUT_STDOUT (line 44) | const OUTPUT_STDOUT = "STDOUT";
constant CWD (line 45) | const CWD = new URL(`file://${process.cwd()}/`);
constant REDOC_CONFIG_KEY (line 46) | const REDOC_CONFIG_KEY = "x-openapi-ts";
constant BOOLEAN_FLAGS (line 75) | const BOOLEAN_FLAGS = [
function normalizeOutput (line 116) | function normalizeOutput(output) {
function checkStaleOutput (line 128) | function checkStaleOutput(current, outputPath) {
function generateSchema (line 144) | async function generateSchema(schema, config) {
function errorAndExit (line 149) | function errorAndExit(message) {
function done (line 154) | function done(input, output, time) {
function findRedocConfigPath (line 160) | function findRedocConfigPath() {
function main (line 172) | async function main() {
FILE: packages/openapi-typescript/examples/digital-ocean-api.ts
type paths (line 6) | interface paths {
type webhooks (line 6880) | type webhooks = Record<string, never>;
type components (line 6881) | interface components {
type $defs (line 22836) | type $defs = Record<string, never>;
type operations (line 22837) | interface operations {
type WithRequired (line 34918) | type WithRequired<T, K extends keyof T> = T & {
FILE: packages/openapi-typescript/examples/enum-root-types.ts
type paths (line 6) | type paths = Record<string, never>;
type webhooks (line 7) | type webhooks = Record<string, never>;
type components (line 8) | interface components {
type Item (line 26) | type Item = components['schemas']['Item'];
type $defs (line 27) | type $defs = Record<string, never>;
type Status (line 28) | enum Status {
type Priority (line 33) | enum Priority {
type operations (line 38) | type operations = Record<string, never>;
FILE: packages/openapi-typescript/examples/github-api-export-type-immutable.ts
type paths (line 6) | type paths = {
type webhooks (line 18416) | type webhooks = Record<string, never>;
type components (line 18417) | type components = {
type $defs (line 88060) | type $defs = Record<string, never>;
type operations (line 88061) | interface operations {
FILE: packages/openapi-typescript/examples/github-api-immutable.ts
type paths (line 6) | interface paths {
type webhooks (line 18416) | type webhooks = Record<string, never>;
type components (line 18417) | interface components {
type $defs (line 88060) | type $defs = Record<string, never>;
type operations (line 88061) | interface operations {
FILE: packages/openapi-typescript/examples/github-api-next.ts
type paths (line 6) | interface paths {
type webhooks (line 18416) | interface webhooks {
type components (line 24486) | interface components {
type $defs (line 92285) | type $defs = Record<string, never>;
type operations (line 92286) | interface operations {
FILE: packages/openapi-typescript/examples/github-api-required.ts
type paths (line 6) | interface paths {
type webhooks (line 18416) | type webhooks = Record<string, never>;
type components (line 18417) | interface components {
type $defs (line 88060) | type $defs = Record<string, never>;
type operations (line 88061) | interface operations {
FILE: packages/openapi-typescript/examples/github-api-root-types.ts
type paths (line 6) | interface paths {
type webhooks (line 18416) | type webhooks = Record<string, never>;
type components (line 18417) | interface components {
type SchemaRoot (line 88060) | type SchemaRoot = components['schemas']['root'];
type SchemaSecurityAdvisoryEcosystems (line 88061) | type SchemaSecurityAdvisoryEcosystems = components['schemas']['security-...
type SchemaVulnerability (line 88062) | type SchemaVulnerability = components['schemas']['vulnerability'];
type SchemaCvssSeverities (line 88063) | type SchemaCvssSeverities = components['schemas']['cvss-severities'];
type SchemaSecurityAdvisoryEpss (line 88064) | type SchemaSecurityAdvisoryEpss = components['schemas']['security-adviso...
type SchemaSimpleUser (line 88065) | type SchemaSimpleUser = components['schemas']['simple-user'];
type SchemaSecurityAdvisoryCreditTypes (line 88066) | type SchemaSecurityAdvisoryCreditTypes = components['schemas']['security...
type SchemaGlobalAdvisory (line 88067) | type SchemaGlobalAdvisory = components['schemas']['global-advisory'];
type SchemaBasicError (line 88068) | type SchemaBasicError = components['schemas']['basic-error'];
type SchemaValidationErrorSimple (line 88069) | type SchemaValidationErrorSimple = components['schemas']['validation-err...
type SchemaEnterprise (line 88070) | type SchemaEnterprise = components['schemas']['enterprise'];
type SchemaIntegration (line 88071) | type SchemaIntegration = components['schemas']['integration'];
type SchemaWebhookConfigUrl (line 88072) | type SchemaWebhookConfigUrl = components['schemas']['webhook-config-url'];
type SchemaWebhookConfigContentType (line 88073) | type SchemaWebhookConfigContentType = components['schemas']['webhook-con...
type SchemaWebhookConfigSecret (line 88074) | type SchemaWebhookConfigSecret = components['schemas']['webhook-config-s...
type SchemaWebhookConfigInsecureSsl (line 88075) | type SchemaWebhookConfigInsecureSsl = components['schemas']['webhook-con...
type SchemaWebhookConfig (line 88076) | type SchemaWebhookConfig = components['schemas']['webhook-config'];
type SchemaHookDeliveryItem (line 88077) | type SchemaHookDeliveryItem = components['schemas']['hook-delivery-item'];
type SchemaScimError (line 88078) | type SchemaScimError = components['schemas']['scim-error'];
type SchemaValidationError (line 88079) | type SchemaValidationError = components['schemas']['validation-error'];
type SchemaHookDelivery (line 88080) | type SchemaHookDelivery = components['schemas']['hook-delivery'];
type SchemaIntegrationInstallationRequest (line 88081) | type SchemaIntegrationInstallationRequest = components['schemas']['integ...
type SchemaAppPermissions (line 88082) | type SchemaAppPermissions = components['schemas']['app-permissions'];
type SchemaNullableSimpleUser (line 88083) | type SchemaNullableSimpleUser = components['schemas']['nullable-simple-u...
type SchemaInstallation (line 88084) | type SchemaInstallation = components['schemas']['installation'];
type SchemaNullableLicenseSimple (line 88085) | type SchemaNullableLicenseSimple = components['schemas']['nullable-licen...
type SchemaRepository (line 88086) | type SchemaRepository = components['schemas']['repository'];
type SchemaInstallationToken (line 88087) | type SchemaInstallationToken = components['schemas']['installation-token'];
type SchemaNullableScopedInstallation (line 88088) | type SchemaNullableScopedInstallation = components['schemas']['nullable-...
type SchemaAuthorization (line 88089) | type SchemaAuthorization = components['schemas']['authorization'];
type SchemaSimpleClassroomRepository (line 88090) | type SchemaSimpleClassroomRepository = components['schemas']['simple-cla...
type SchemaSimpleClassroomOrganization (line 88091) | type SchemaSimpleClassroomOrganization = components['schemas']['simple-c...
type SchemaClassroom (line 88092) | type SchemaClassroom = components['schemas']['classroom'];
type SchemaClassroomAssignment (line 88093) | type SchemaClassroomAssignment = components['schemas']['classroom-assign...
type SchemaSimpleClassroomUser (line 88094) | type SchemaSimpleClassroomUser = components['schemas']['simple-classroom...
type SchemaSimpleClassroom (line 88095) | type SchemaSimpleClassroom = components['schemas']['simple-classroom'];
type SchemaSimpleClassroomAssignment (line 88096) | type SchemaSimpleClassroomAssignment = components['schemas']['simple-cla...
type SchemaClassroomAcceptedAssignment (line 88097) | type SchemaClassroomAcceptedAssignment = components['schemas']['classroo...
type SchemaClassroomAssignmentGrade (line 88098) | type SchemaClassroomAssignmentGrade = components['schemas']['classroom-a...
type SchemaCodeOfConduct (line 88099) | type SchemaCodeOfConduct = components['schemas']['code-of-conduct'];
type SchemaCodeSecurityConfiguration (line 88100) | type SchemaCodeSecurityConfiguration = components['schemas']['code-secur...
type SchemaCodeScanningDefaultSetupOptions (line 88101) | type SchemaCodeScanningDefaultSetupOptions = components['schemas']['code...
type SchemaCodeSecurityDefaultConfigurations (line 88102) | type SchemaCodeSecurityDefaultConfigurations = components['schemas']['co...
type SchemaSimpleRepository (line 88103) | type SchemaSimpleRepository = components['schemas']['simple-repository'];
type SchemaCodeSecurityConfigurationRepositories (line 88104) | type SchemaCodeSecurityConfigurationRepositories = components['schemas']...
type SchemaAlertNumber (line 88105) | type SchemaAlertNumber = components['schemas']['alert-number'];
type SchemaDependabotAlertPackage (line 88106) | type SchemaDependabotAlertPackage = components['schemas']['dependabot-al...
type SchemaDependabotAlertSecurityVulnerability (line 88107) | type SchemaDependabotAlertSecurityVulnerability = components['schemas'][...
type SchemaDependabotAlertSecurityAdvisory (line 88108) | type SchemaDependabotAlertSecurityAdvisory = components['schemas']['depe...
type SchemaAlertUrl (line 88109) | type SchemaAlertUrl = components['schemas']['alert-url'];
type SchemaAlertHtmlUrl (line 88110) | type SchemaAlertHtmlUrl = components['schemas']['alert-html-url'];
type SchemaAlertCreatedAt (line 88111) | type SchemaAlertCreatedAt = components['schemas']['alert-created-at'];
type SchemaAlertUpdatedAt (line 88112) | type SchemaAlertUpdatedAt = components['schemas']['alert-updated-at'];
type SchemaAlertDismissedAt (line 88113) | type SchemaAlertDismissedAt = components['schemas']['alert-dismissed-at'];
type SchemaAlertFixedAt (line 88114) | type SchemaAlertFixedAt = components['schemas']['alert-fixed-at'];
type SchemaAlertAutoDismissedAt (line 88115) | type SchemaAlertAutoDismissedAt = components['schemas']['alert-auto-dism...
type SchemaDependabotAlertWithRepository (line 88116) | type SchemaDependabotAlertWithRepository = components['schemas']['depend...
type SchemaNullableAlertUpdatedAt (line 88117) | type SchemaNullableAlertUpdatedAt = components['schemas']['nullable-aler...
type SchemaSecretScanningAlertState (line 88118) | type SchemaSecretScanningAlertState = components['schemas']['secret-scan...
type SchemaSecretScanningAlertResolution (line 88119) | type SchemaSecretScanningAlertResolution = components['schemas']['secret...
type SchemaOrganizationSecretScanningAlert (line 88120) | type SchemaOrganizationSecretScanningAlert = components['schemas']['orga...
type SchemaActor (line 88121) | type SchemaActor = components['schemas']['actor'];
type SchemaNullableMilestone (line 88122) | type SchemaNullableMilestone = components['schemas']['nullable-milestone'];
type SchemaNullableIntegration (line 88123) | type SchemaNullableIntegration = components['schemas']['nullable-integra...
type SchemaAuthorAssociation (line 88124) | type SchemaAuthorAssociation = components['schemas']['author-association'];
type SchemaReactionRollup (line 88125) | type SchemaReactionRollup = components['schemas']['reaction-rollup'];
type SchemaSubIssuesSummary (line 88126) | type SchemaSubIssuesSummary = components['schemas']['sub-issues-summary'];
type SchemaIssue (line 88127) | type SchemaIssue = components['schemas']['issue'];
type SchemaIssueComment (line 88128) | type SchemaIssueComment = components['schemas']['issue-comment'];
type SchemaEvent (line 88129) | type SchemaEvent = components['schemas']['event'];
type SchemaLinkWithType (line 88130) | type SchemaLinkWithType = components['schemas']['link-with-type'];
type SchemaFeed (line 88131) | type SchemaFeed = components['schemas']['feed'];
type SchemaBaseGist (line 88132) | type SchemaBaseGist = components['schemas']['base-gist'];
type SchemaPublicUser (line 88133) | type SchemaPublicUser = components['schemas']['public-user'];
type SchemaGistHistory (line 88134) | type SchemaGistHistory = components['schemas']['gist-history'];
type SchemaGistSimple (line 88135) | type SchemaGistSimple = components['schemas']['gist-simple'];
type SchemaGistComment (line 88136) | type SchemaGistComment = components['schemas']['gist-comment'];
type SchemaGistCommit (line 88137) | type SchemaGistCommit = components['schemas']['gist-commit'];
type SchemaGitignoreTemplate (line 88138) | type SchemaGitignoreTemplate = components['schemas']['gitignore-template'];
type SchemaLicenseSimple (line 88139) | type SchemaLicenseSimple = components['schemas']['license-simple'];
type SchemaLicense (line 88140) | type SchemaLicense = components['schemas']['license'];
type SchemaMarketplaceListingPlan (line 88141) | type SchemaMarketplaceListingPlan = components['schemas']['marketplace-l...
type SchemaMarketplacePurchase (line 88142) | type SchemaMarketplacePurchase = components['schemas']['marketplace-purc...
type SchemaApiOverview (line 88143) | type SchemaApiOverview = components['schemas']['api-overview'];
type SchemaSecurityAndAnalysis (line 88144) | type SchemaSecurityAndAnalysis = components['schemas']['security-and-ana...
type SchemaMinimalRepository (line 88145) | type SchemaMinimalRepository = components['schemas']['minimal-repository'];
type SchemaThread (line 88146) | type SchemaThread = components['schemas']['thread'];
type SchemaThreadSubscription (line 88147) | type SchemaThreadSubscription = components['schemas']['thread-subscripti...
type SchemaOrganizationSimple (line 88148) | type SchemaOrganizationSimple = components['schemas']['organization-simp...
type SchemaBillingUsageReport (line 88149) | type SchemaBillingUsageReport = components['schemas']['billing-usage-rep...
type SchemaOrganizationFull (line 88150) | type SchemaOrganizationFull = components['schemas']['organization-full'];
type SchemaActionsCacheUsageOrgEnterprise (line 88151) | type SchemaActionsCacheUsageOrgEnterprise = components['schemas']['actio...
type SchemaActionsCacheUsageByRepository (line 88152) | type SchemaActionsCacheUsageByRepository = components['schemas']['action...
type SchemaNullableActionsHostedRunnerPoolImage (line 88153) | type SchemaNullableActionsHostedRunnerPoolImage = components['schemas'][...
type SchemaActionsHostedRunnerMachineSpec (line 88154) | type SchemaActionsHostedRunnerMachineSpec = components['schemas']['actio...
type SchemaPublicIp (line 88155) | type SchemaPublicIp = components['schemas']['public-ip'];
type SchemaActionsHostedRunner (line 88156) | type SchemaActionsHostedRunner = components['schemas']['actions-hosted-r...
type SchemaActionsHostedRunnerImage (line 88157) | type SchemaActionsHostedRunnerImage = components['schemas']['actions-hos...
type SchemaActionsHostedRunnerLimits (line 88158) | type SchemaActionsHostedRunnerLimits = components['schemas']['actions-ho...
type SchemaOidcCustomSub (line 88159) | type SchemaOidcCustomSub = components['schemas']['oidc-custom-sub'];
type SchemaEmptyObject (line 88160) | type SchemaEmptyObject = components['schemas']['empty-object'];
type SchemaEnabledRepositories (line 88161) | type SchemaEnabledRepositories = components['schemas']['enabled-reposito...
type SchemaAllowedActions (line 88162) | type SchemaAllowedActions = components['schemas']['allowed-actions'];
type SchemaSelectedActionsUrl (line 88163) | type SchemaSelectedActionsUrl = components['schemas']['selected-actions-...
type SchemaActionsOrganizationPermissions (line 88164) | type SchemaActionsOrganizationPermissions = components['schemas']['actio...
type SchemaSelectedActions (line 88165) | type SchemaSelectedActions = components['schemas']['selected-actions'];
type SchemaActionsDefaultWorkflowPermissions (line 88166) | type SchemaActionsDefaultWorkflowPermissions = components['schemas']['ac...
type SchemaActionsCanApprovePullRequestReviews (line 88167) | type SchemaActionsCanApprovePullRequestReviews = components['schemas']['...
type SchemaActionsGetDefaultWorkflowPermissions (line 88168) | type SchemaActionsGetDefaultWorkflowPermissions = components['schemas'][...
type SchemaActionsSetDefaultWorkflowPermissions (line 88169) | type SchemaActionsSetDefaultWorkflowPermissions = components['schemas'][...
type SchemaRunnerGroupsOrg (line 88170) | type SchemaRunnerGroupsOrg = components['schemas']['runner-groups-org'];
type SchemaRunnerLabel (line 88171) | type SchemaRunnerLabel = components['schemas']['runner-label'];
type SchemaRunner (line 88172) | type SchemaRunner = components['schemas']['runner'];
type SchemaRunnerApplication (line 88173) | type SchemaRunnerApplication = components['schemas']['runner-application'];
type SchemaAuthenticationToken (line 88174) | type SchemaAuthenticationToken = components['schemas']['authentication-t...
type SchemaOrganizationActionsSecret (line 88175) | type SchemaOrganizationActionsSecret = components['schemas']['organizati...
type SchemaActionsPublicKey (line 88176) | type SchemaActionsPublicKey = components['schemas']['actions-public-key'];
type SchemaOrganizationActionsVariable (line 88177) | type SchemaOrganizationActionsVariable = components['schemas']['organiza...
type SchemaCodeScanningAnalysisToolName (line 88178) | type SchemaCodeScanningAnalysisToolName = components['schemas']['code-sc...
type SchemaCodeScanningAnalysisToolGuid (line 88179) | type SchemaCodeScanningAnalysisToolGuid = components['schemas']['code-sc...
type SchemaCodeScanningAlertStateQuery (line 88180) | type SchemaCodeScanningAlertStateQuery = components['schemas']['code-sca...
type SchemaCodeScanningAlertSeverity (line 88181) | type SchemaCodeScanningAlertSeverity = components['schemas']['code-scann...
type SchemaAlertInstancesUrl (line 88182) | type SchemaAlertInstancesUrl = components['schemas']['alert-instances-ur...
type SchemaCodeScanningAlertState (line 88183) | type SchemaCodeScanningAlertState = components['schemas']['code-scanning...
type SchemaCodeScanningAlertDismissedReason (line 88184) | type SchemaCodeScanningAlertDismissedReason = components['schemas']['cod...
type SchemaCodeScanningAlertDismissedComment (line 88185) | type SchemaCodeScanningAlertDismissedComment = components['schemas']['co...
type SchemaCodeScanningAlertRuleSummary (line 88186) | type SchemaCodeScanningAlertRuleSummary = components['schemas']['code-sc...
type SchemaCodeScanningAnalysisToolVersion (line 88187) | type SchemaCodeScanningAnalysisToolVersion = components['schemas']['code...
type SchemaCodeScanningAnalysisTool (line 88188) | type SchemaCodeScanningAnalysisTool = components['schemas']['code-scanni...
type SchemaCodeScanningRef (line 88189) | type SchemaCodeScanningRef = components['schemas']['code-scanning-ref'];
type SchemaCodeScanningAnalysisAnalysisKey (line 88190) | type SchemaCodeScanningAnalysisAnalysisKey = components['schemas']['code...
type SchemaCodeScanningAlertEnvironment (line 88191) | type SchemaCodeScanningAlertEnvironment = components['schemas']['code-sc...
type SchemaCodeScanningAnalysisCategory (line 88192) | type SchemaCodeScanningAnalysisCategory = components['schemas']['code-sc...
type SchemaCodeScanningAlertLocation (line 88193) | type SchemaCodeScanningAlertLocation = components['schemas']['code-scann...
type SchemaCodeScanningAlertClassification (line 88194) | type SchemaCodeScanningAlertClassification = components['schemas']['code...
type SchemaCodeScanningAlertInstance (line 88195) | type SchemaCodeScanningAlertInstance = components['schemas']['code-scann...
type SchemaCodeScanningOrganizationAlertItems (line 88196) | type SchemaCodeScanningOrganizationAlertItems = components['schemas']['c...
type SchemaNullableCodespaceMachine (line 88197) | type SchemaNullableCodespaceMachine = components['schemas']['nullable-co...
type SchemaCodespace (line 88198) | type SchemaCodespace = components['schemas']['codespace'];
type SchemaCodespacesOrgSecret (line 88199) | type SchemaCodespacesOrgSecret = components['schemas']['codespaces-org-s...
type SchemaCodespacesPublicKey (line 88200) | type SchemaCodespacesPublicKey = components['schemas']['codespaces-publi...
type SchemaCopilotSeatBreakdown (line 88201) | type SchemaCopilotSeatBreakdown = components['schemas']['copilot-seat-br...
type SchemaCopilotOrganizationDetails (line 88202) | type SchemaCopilotOrganizationDetails = components['schemas']['copilot-o...
type SchemaNullableOrganizationSimple (line 88203) | type SchemaNullableOrganizationSimple = components['schemas']['nullable-...
type SchemaNullableTeamSimple (line 88204) | type SchemaNullableTeamSimple = components['schemas']['nullable-team-sim...
type SchemaTeam (line 88205) | type SchemaTeam = components['schemas']['team'];
type SchemaEnterpriseTeam (line 88206) | type SchemaEnterpriseTeam = components['schemas']['enterprise-team'];
type SchemaCopilotSeatDetails (line 88207) | type SchemaCopilotSeatDetails = components['schemas']['copilot-seat-deta...
type SchemaCopilotIdeCodeCompletions (line 88208) | type SchemaCopilotIdeCodeCompletions = components['schemas']['copilot-id...
type SchemaCopilotIdeChat (line 88209) | type SchemaCopilotIdeChat = components['schemas']['copilot-ide-chat'];
type SchemaCopilotDotcomChat (line 88210) | type SchemaCopilotDotcomChat = components['schemas']['copilot-dotcom-cha...
type SchemaCopilotDotcomPullRequests (line 88211) | type SchemaCopilotDotcomPullRequests = components['schemas']['copilot-do...
type SchemaCopilotUsageMetricsDay (line 88212) | type SchemaCopilotUsageMetricsDay = components['schemas']['copilot-usage...
type SchemaCopilotUsageMetrics (line 88213) | type SchemaCopilotUsageMetrics = components['schemas']['copilot-usage-me...
type SchemaOrganizationDependabotSecret (line 88214) | type SchemaOrganizationDependabotSecret = components['schemas']['organiz...
type SchemaDependabotPublicKey (line 88215) | type SchemaDependabotPublicKey = components['schemas']['dependabot-publi...
type SchemaNullableMinimalRepository (line 88216) | type SchemaNullableMinimalRepository = components['schemas']['nullable-m...
type SchemaPackage (line 88217) | type SchemaPackage = components['schemas']['package'];
type SchemaOrganizationInvitation (line 88218) | type SchemaOrganizationInvitation = components['schemas']['organization-...
type SchemaOrgHook (line 88219) | type SchemaOrgHook = components['schemas']['org-hook'];
type SchemaApiInsightsRouteStats (line 88220) | type SchemaApiInsightsRouteStats = components['schemas']['api-insights-r...
type SchemaApiInsightsSubjectStats (line 88221) | type SchemaApiInsightsSubjectStats = components['schemas']['api-insights...
type SchemaApiInsightsSummaryStats (line 88222) | type SchemaApiInsightsSummaryStats = components['schemas']['api-insights...
type SchemaApiInsightsTimeStats (line 88223) | type SchemaApiInsightsTimeStats = components['schemas']['api-insights-ti...
type SchemaApiInsightsUserStats (line 88224) | type SchemaApiInsightsUserStats = components['schemas']['api-insights-us...
type SchemaInteractionGroup (line 88225) | type SchemaInteractionGroup = components['schemas']['interaction-group'];
type SchemaInteractionLimitResponse (line 88226) | type SchemaInteractionLimitResponse = components['schemas']['interaction...
type SchemaInteractionExpiry (line 88227) | type SchemaInteractionExpiry = components['schemas']['interaction-expiry'];
type SchemaInteractionLimit (line 88228) | type SchemaInteractionLimit = components['schemas']['interaction-limit'];
type SchemaOrgMembership (line 88229) | type SchemaOrgMembership = components['schemas']['org-membership'];
type SchemaMigration (line 88230) | type SchemaMigration = components['schemas']['migration'];
type SchemaOrganizationRole (line 88231) | type SchemaOrganizationRole = components['schemas']['organization-role'];
type SchemaTeamRoleAssignment (line 88232) | type SchemaTeamRoleAssignment = components['schemas']['team-role-assignm...
type SchemaTeamSimple (line 88233) | type SchemaTeamSimple = components['schemas']['team-simple'];
type SchemaUserRoleAssignment (line 88234) | type SchemaUserRoleAssignment = components['schemas']['user-role-assignm...
type SchemaPackageVersion (line 88235) | type SchemaPackageVersion = components['schemas']['package-version'];
type SchemaOrganizationProgrammaticAccessGrantRequest (line 88236) | type SchemaOrganizationProgrammaticAccessGrantRequest = components['sche...
type SchemaOrganizationProgrammaticAccessGrant (line 88237) | type SchemaOrganizationProgrammaticAccessGrant = components['schemas']['...
type SchemaOrgPrivateRegistryConfiguration (line 88238) | type SchemaOrgPrivateRegistryConfiguration = components['schemas']['org-...
type SchemaOrgPrivateRegistryConfigurationWithSelectedRepositories (line 88239) | type SchemaOrgPrivateRegistryConfigurationWithSelectedRepositories = com...
type SchemaProject (line 88240) | type SchemaProject = components['schemas']['project'];
type SchemaCustomProperty (line 88241) | type SchemaCustomProperty = components['schemas']['custom-property'];
type SchemaCustomPropertySetPayload (line 88242) | type SchemaCustomPropertySetPayload = components['schemas']['custom-prop...
type SchemaCustomPropertyValue (line 88243) | type SchemaCustomPropertyValue = components['schemas']['custom-property-...
type SchemaOrgRepoCustomPropertyValues (line 88244) | type SchemaOrgRepoCustomPropertyValues = components['schemas']['org-repo...
type SchemaNullableRepository (line 88245) | type SchemaNullableRepository = components['schemas']['nullable-reposito...
type SchemaCodeOfConductSimple (line 88246) | type SchemaCodeOfConductSimple = components['schemas']['code-of-conduct-...
type SchemaFullRepository (line 88247) | type SchemaFullRepository = components['schemas']['full-repository'];
type SchemaRepositoryRuleEnforcement (line 88248) | type SchemaRepositoryRuleEnforcement = components['schemas']['repository...
type SchemaRepositoryRulesetBypassActor (line 88249) | type SchemaRepositoryRulesetBypassActor = components['schemas']['reposit...
type SchemaRepositoryRulesetConditions (line 88250) | type SchemaRepositoryRulesetConditions = components['schemas']['reposito...
type SchemaRepositoryRulesetConditionsRepositoryNameTarget (line 88251) | type SchemaRepositoryRulesetConditionsRepositoryNameTarget = components[...
type SchemaRepositoryRulesetConditionsRepositoryIdTarget (line 88252) | type SchemaRepositoryRulesetConditionsRepositoryIdTarget = components['s...
type SchemaRepositoryRulesetConditionsRepositoryPropertySpec (line 88253) | type SchemaRepositoryRulesetConditionsRepositoryPropertySpec = component...
type SchemaRepositoryRulesetConditionsRepositoryPropertyTarget (line 88254) | type SchemaRepositoryRulesetConditionsRepositoryPropertyTarget = compone...
type SchemaOrgRulesetConditions (line 88255) | type SchemaOrgRulesetConditions = components['schemas']['org-ruleset-con...
type SchemaRepositoryRuleCreation (line 88256) | type SchemaRepositoryRuleCreation = components['schemas']['repository-ru...
type SchemaRepositoryRuleUpdate (line 88257) | type SchemaRepositoryRuleUpdate = components['schemas']['repository-rule...
type SchemaRepositoryRuleDeletion (line 88258) | type SchemaRepositoryRuleDeletion = components['schemas']['repository-ru...
type SchemaRepositoryRuleRequiredLinearHistory (line 88259) | type SchemaRepositoryRuleRequiredLinearHistory = components['schemas']['...
type SchemaRepositoryRuleMergeQueue (line 88260) | type SchemaRepositoryRuleMergeQueue = components['schemas']['repository-...
type SchemaRepositoryRuleRequiredDeployments (line 88261) | type SchemaRepositoryRuleRequiredDeployments = components['schemas']['re...
type SchemaRepositoryRuleRequiredSignatures (line 88262) | type SchemaRepositoryRuleRequiredSignatures = components['schemas']['rep...
type SchemaRepositoryRuleParamsRequiredReviewerConfiguration (line 88263) | type SchemaRepositoryRuleParamsRequiredReviewerConfiguration = component...
type SchemaRepositoryRulePullRequest (line 88264) | type SchemaRepositoryRulePullRequest = components['schemas']['repository...
type SchemaRepositoryRuleParamsStatusCheckConfiguration (line 88265) | type SchemaRepositoryRuleParamsStatusCheckConfiguration = components['sc...
type SchemaRepositoryRuleRequiredStatusChecks (line 88266) | type SchemaRepositoryRuleRequiredStatusChecks = components['schemas']['r...
type SchemaRepositoryRuleNonFastForward (line 88267) | type SchemaRepositoryRuleNonFastForward = components['schemas']['reposit...
type SchemaRepositoryRuleCommitMessagePattern (line 88268) | type SchemaRepositoryRuleCommitMessagePattern = components['schemas']['r...
type SchemaRepositoryRuleCommitAuthorEmailPattern (line 88269) | type SchemaRepositoryRuleCommitAuthorEmailPattern = components['schemas'...
type SchemaRepositoryRuleCommitterEmailPattern (line 88270) | type SchemaRepositoryRuleCommitterEmailPattern = components['schemas']['...
type SchemaRepositoryRuleBranchNamePattern (line 88271) | type SchemaRepositoryRuleBranchNamePattern = components['schemas']['repo...
type SchemaRepositoryRuleTagNamePattern (line 88272) | type SchemaRepositoryRuleTagNamePattern = components['schemas']['reposit...
type SchemaRepositoryRuleParamsRestrictedCommits (line 88273) | type SchemaRepositoryRuleParamsRestrictedCommits = components['schemas']...
type SchemaRepositoryRuleParamsWorkflowFileReference (line 88274) | type SchemaRepositoryRuleParamsWorkflowFileReference = components['schem...
type SchemaRepositoryRuleWorkflows (line 88275) | type SchemaRepositoryRuleWorkflows = components['schemas']['repository-r...
type SchemaRepositoryRuleParamsCodeScanningTool (line 88276) | type SchemaRepositoryRuleParamsCodeScanningTool = components['schemas'][...
type SchemaRepositoryRuleCodeScanning (line 88277) | type SchemaRepositoryRuleCodeScanning = components['schemas']['repositor...
type SchemaRepositoryRule (line 88278) | type SchemaRepositoryRule = components['schemas']['repository-rule'];
type SchemaRepositoryRuleset (line 88279) | type SchemaRepositoryRuleset = components['schemas']['repository-ruleset'];
type SchemaRuleSuites (line 88280) | type SchemaRuleSuites = components['schemas']['rule-suites'];
type SchemaRuleSuite (line 88281) | type SchemaRuleSuite = components['schemas']['rule-suite'];
type SchemaRepositoryAdvisoryVulnerability (line 88282) | type SchemaRepositoryAdvisoryVulnerability = components['schemas']['repo...
type SchemaRepositoryAdvisoryCredit (line 88283) | type SchemaRepositoryAdvisoryCredit = components['schemas']['repository-...
type SchemaRepositoryAdvisory (line 88284) | type SchemaRepositoryAdvisory = components['schemas']['repository-adviso...
type SchemaActionsBillingUsage (line 88285) | type SchemaActionsBillingUsage = components['schemas']['actions-billing-...
type SchemaPackagesBillingUsage (line 88286) | type SchemaPackagesBillingUsage = components['schemas']['packages-billin...
type SchemaCombinedBillingUsage (line 88287) | type SchemaCombinedBillingUsage = components['schemas']['combined-billin...
type SchemaNetworkConfiguration (line 88288) | type SchemaNetworkConfiguration = components['schemas']['network-configu...
type SchemaNetworkSettings (line 88289) | type SchemaNetworkSettings = components['schemas']['network-settings'];
type SchemaTeamOrganization (line 88290) | type SchemaTeamOrganization = components['schemas']['team-organization'];
type SchemaTeamFull (line 88291) | type SchemaTeamFull = components['schemas']['team-full'];
type SchemaTeamDiscussion (line 88292) | type SchemaTeamDiscussion = components['schemas']['team-discussion'];
type SchemaTeamDiscussionComment (line 88293) | type SchemaTeamDiscussionComment = components['schemas']['team-discussio...
type SchemaReaction (line 88294) | type SchemaReaction = components['schemas']['reaction'];
type SchemaTeamMembership (line 88295) | type SchemaTeamMembership = components['schemas']['team-membership'];
type SchemaTeamProject (line 88296) | type SchemaTeamProject = components['schemas']['team-project'];
type SchemaTeamRepository (line 88297) | type SchemaTeamRepository = components['schemas']['team-repository'];
type SchemaProjectCard (line 88298) | type SchemaProjectCard = components['schemas']['project-card'];
type SchemaProjectColumn (line 88299) | type SchemaProjectColumn = components['schemas']['project-column'];
type SchemaProjectCollaboratorPermission (line 88300) | type SchemaProjectCollaboratorPermission = components['schemas']['projec...
type SchemaRateLimit (line 88301) | type SchemaRateLimit = components['schemas']['rate-limit'];
type SchemaRateLimitOverview (line 88302) | type SchemaRateLimitOverview = components['schemas']['rate-limit-overvie...
type SchemaArtifact (line 88303) | type SchemaArtifact = components['schemas']['artifact'];
type SchemaActionsCacheList (line 88304) | type SchemaActionsCacheList = components['schemas']['actions-cache-list'];
type SchemaJob (line 88305) | type SchemaJob = components['schemas']['job'];
type SchemaOidcCustomSubRepo (line 88306) | type SchemaOidcCustomSubRepo = components['schemas']['oidc-custom-sub-re...
type SchemaActionsSecret (line 88307) | type SchemaActionsSecret = components['schemas']['actions-secret'];
type SchemaActionsVariable (line 88308) | type SchemaActionsVariable = components['schemas']['actions-variable'];
type SchemaActionsEnabled (line 88309) | type SchemaActionsEnabled = components['schemas']['actions-enabled'];
type SchemaActionsRepositoryPermissions (line 88310) | type SchemaActionsRepositoryPermissions = components['schemas']['actions...
type SchemaActionsWorkflowAccessToRepository (line 88311) | type SchemaActionsWorkflowAccessToRepository = components['schemas']['ac...
type SchemaReferencedWorkflow (line 88312) | type SchemaReferencedWorkflow = components['schemas']['referenced-workfl...
type SchemaPullRequestMinimal (line 88313) | type SchemaPullRequestMinimal = components['schemas']['pull-request-mini...
type SchemaNullableSimpleCommit (line 88314) | type SchemaNullableSimpleCommit = components['schemas']['nullable-simple...
type SchemaWorkflowRun (line 88315) | type SchemaWorkflowRun = components['schemas']['workflow-run'];
type SchemaEnvironmentApprovals (line 88316) | type SchemaEnvironmentApprovals = components['schemas']['environment-app...
type SchemaReviewCustomGatesCommentRequired (line 88317) | type SchemaReviewCustomGatesCommentRequired = components['schemas']['rev...
type SchemaReviewCustomGatesStateRequired (line 88318) | type SchemaReviewCustomGatesStateRequired = components['schemas']['revie...
type SchemaDeploymentReviewerType (line 88319) | type SchemaDeploymentReviewerType = components['schemas']['deployment-re...
type SchemaPendingDeployment (line 88320) | type SchemaPendingDeployment = components['schemas']['pending-deployment'];
type SchemaDeployment (line 88321) | type SchemaDeployment = components['schemas']['deployment'];
type SchemaWorkflowRunUsage (line 88322) | type SchemaWorkflowRunUsage = components['schemas']['workflow-run-usage'];
type SchemaWorkflow (line 88323) | type SchemaWorkflow = components['schemas']['workflow'];
type SchemaWorkflowUsage (line 88324) | type SchemaWorkflowUsage = components['schemas']['workflow-usage'];
type SchemaActivity (line 88325) | type SchemaActivity = components['schemas']['activity'];
type SchemaAutolink (line 88326) | type SchemaAutolink = components['schemas']['autolink'];
type SchemaCheckAutomatedSecurityFixes (line 88327) | type SchemaCheckAutomatedSecurityFixes = components['schemas']['check-au...
type SchemaProtectedBranchRequiredStatusCheck (line 88328) | type SchemaProtectedBranchRequiredStatusCheck = components['schemas']['p...
type SchemaProtectedBranchAdminEnforced (line 88329) | type SchemaProtectedBranchAdminEnforced = components['schemas']['protect...
type SchemaProtectedBranchPullRequestReview (line 88330) | type SchemaProtectedBranchPullRequestReview = components['schemas']['pro...
type SchemaBranchRestrictionPolicy (line 88331) | type SchemaBranchRestrictionPolicy = components['schemas']['branch-restr...
type SchemaBranchProtection (line 88332) | type SchemaBranchProtection = components['schemas']['branch-protection'];
type SchemaShortBranch (line 88333) | type SchemaShortBranch = components['schemas']['short-branch'];
type SchemaNullableGitUser (line 88334) | type SchemaNullableGitUser = components['schemas']['nullable-git-user'];
type SchemaVerification (line 88335) | type SchemaVerification = components['schemas']['verification'];
type SchemaDiffEntry (line 88336) | type SchemaDiffEntry = components['schemas']['diff-entry'];
type SchemaCommit (line 88337) | type SchemaCommit = components['schemas']['commit'];
type SchemaBranchWithProtection (line 88338) | type SchemaBranchWithProtection = components['schemas']['branch-with-pro...
type SchemaStatusCheckPolicy (line 88339) | type SchemaStatusCheckPolicy = components['schemas']['status-check-polic...
type SchemaProtectedBranch (line 88340) | type SchemaProtectedBranch = components['schemas']['protected-branch'];
type SchemaDeploymentSimple (line 88341) | type SchemaDeploymentSimple = components['schemas']['deployment-simple'];
type SchemaCheckRun (line 88342) | type SchemaCheckRun = components['schemas']['check-run'];
type SchemaCheckAnnotation (line 88343) | type SchemaCheckAnnotation = components['schemas']['check-annotation'];
type SchemaSimpleCommit (line 88344) | type SchemaSimpleCommit = components['schemas']['simple-commit'];
type SchemaCheckSuite (line 88345) | type SchemaCheckSuite = components['schemas']['check-suite'];
type SchemaCheckSuitePreference (line 88346) | type SchemaCheckSuitePreference = components['schemas']['check-suite-pre...
type SchemaCodeScanningAlertItems (line 88347) | type SchemaCodeScanningAlertItems = components['schemas']['code-scanning...
type SchemaCodeScanningAlertRule (line 88348) | type SchemaCodeScanningAlertRule = components['schemas']['code-scanning-...
type SchemaCodeScanningAlert (line 88349) | type SchemaCodeScanningAlert = components['schemas']['code-scanning-aler...
type SchemaCodeScanningAlertSetState (line 88350) | type SchemaCodeScanningAlertSetState = components['schemas']['code-scann...
type SchemaCodeScanningAutofixStatus (line 88351) | type SchemaCodeScanningAutofixStatus = components['schemas']['code-scann...
type SchemaCodeScanningAutofixDescription (line 88352) | type SchemaCodeScanningAutofixDescription = components['schemas']['code-...
type SchemaCodeScanningAutofixStartedAt (line 88353) | type SchemaCodeScanningAutofixStartedAt = components['schemas']['code-sc...
type SchemaCodeScanningAutofix (line 88354) | type SchemaCodeScanningAutofix = components['schemas']['code-scanning-au...
type SchemaCodeScanningAutofixCommits (line 88355) | type SchemaCodeScanningAutofixCommits = components['schemas']['code-scan...
type SchemaCodeScanningAutofixCommitsResponse (line 88356) | type SchemaCodeScanningAutofixCommitsResponse = components['schemas']['c...
type SchemaCodeScanningAnalysisSarifId (line 88357) | type SchemaCodeScanningAnalysisSarifId = components['schemas']['code-sca...
type SchemaCodeScanningAnalysisCommitSha (line 88358) | type SchemaCodeScanningAnalysisCommitSha = components['schemas']['code-s...
type SchemaCodeScanningAnalysisEnvironment (line 88359) | type SchemaCodeScanningAnalysisEnvironment = components['schemas']['code...
type SchemaCodeScanningAnalysisCreatedAt (line 88360) | type SchemaCodeScanningAnalysisCreatedAt = components['schemas']['code-s...
type SchemaCodeScanningAnalysisUrl (line 88361) | type SchemaCodeScanningAnalysisUrl = components['schemas']['code-scannin...
type SchemaCodeScanningAnalysis (line 88362) | type SchemaCodeScanningAnalysis = components['schemas']['code-scanning-a...
type SchemaCodeScanningAnalysisDeletion (line 88363) | type SchemaCodeScanningAnalysisDeletion = components['schemas']['code-sc...
type SchemaCodeScanningCodeqlDatabase (line 88364) | type SchemaCodeScanningCodeqlDatabase = components['schemas']['code-scan...
type SchemaCodeScanningVariantAnalysisLanguage (line 88365) | type SchemaCodeScanningVariantAnalysisLanguage = components['schemas']['...
type SchemaCodeScanningVariantAnalysisRepository (line 88366) | type SchemaCodeScanningVariantAnalysisRepository = components['schemas']...
type SchemaCodeScanningVariantAnalysisStatus (line 88367) | type SchemaCodeScanningVariantAnalysisStatus = components['schemas']['co...
type SchemaCodeScanningVariantAnalysisSkippedRepoGroup (line 88368) | type SchemaCodeScanningVariantAnalysisSkippedRepoGroup = components['sch...
type SchemaCodeScanningVariantAnalysis (line 88369) | type SchemaCodeScanningVariantAnalysis = components['schemas']['code-sca...
type SchemaCodeScanningVariantAnalysisRepoTask (line 88370) | type SchemaCodeScanningVariantAnalysisRepoTask = components['schemas']['...
type SchemaCodeScanningDefaultSetup (line 88371) | type SchemaCodeScanningDefaultSetup = components['schemas']['code-scanni...
type SchemaCodeScanningDefaultSetupUpdate (line 88372) | type SchemaCodeScanningDefaultSetupUpdate = components['schemas']['code-...
type SchemaCodeScanningDefaultSetupUpdateResponse (line 88373) | type SchemaCodeScanningDefaultSetupUpdateResponse = components['schemas'...
type SchemaCodeScanningRefFull (line 88374) | type SchemaCodeScanningRefFull = components['schemas']['code-scanning-re...
type SchemaCodeScanningAnalysisSarifFile (line 88375) | type SchemaCodeScanningAnalysisSarifFile = components['schemas']['code-s...
type SchemaCodeScanningSarifsReceipt (line 88376) | type SchemaCodeScanningSarifsReceipt = components['schemas']['code-scann...
type SchemaCodeScanningSarifsStatus (line 88377) | type SchemaCodeScanningSarifsStatus = components['schemas']['code-scanni...
type SchemaCodeSecurityConfigurationForRepository (line 88378) | type SchemaCodeSecurityConfigurationForRepository = components['schemas'...
type SchemaCodeownersErrors (line 88379) | type SchemaCodeownersErrors = components['schemas']['codeowners-errors'];
type SchemaCodespaceMachine (line 88380) | type SchemaCodespaceMachine = components['schemas']['codespace-machine'];
type SchemaCodespacesPermissionsCheckForDevcontainer (line 88381) | type SchemaCodespacesPermissionsCheckForDevcontainer = components['schem...
type SchemaRepoCodespacesSecret (line 88382) | type SchemaRepoCodespacesSecret = components['schemas']['repo-codespaces...
type SchemaCollaborator (line 88383) | type SchemaCollaborator = components['schemas']['collaborator'];
type SchemaRepositoryInvitation (line 88384) | type SchemaRepositoryInvitation = components['schemas']['repository-invi...
type SchemaNullableCollaborator (line 88385) | type SchemaNullableCollaborator = components['schemas']['nullable-collab...
type SchemaRepositoryCollaboratorPermission (line 88386) | type SchemaRepositoryCollaboratorPermission = components['schemas']['rep...
type SchemaCommitComment (line 88387) | type SchemaCommitComment = components['schemas']['commit-comment'];
type SchemaBranchShort (line 88388) | type SchemaBranchShort = components['schemas']['branch-short'];
type SchemaLink (line 88389) | type SchemaLink = components['schemas']['link'];
type SchemaAutoMerge (line 88390) | type SchemaAutoMerge = components['schemas']['auto-merge'];
type SchemaPullRequestSimple (line 88391) | type SchemaPullRequestSimple = components['schemas']['pull-request-simpl...
type SchemaSimpleCommitStatus (line 88392) | type SchemaSimpleCommitStatus = components['schemas']['simple-commit-sta...
type SchemaCombinedCommitStatus (line 88393) | type SchemaCombinedCommitStatus = components['schemas']['combined-commit...
type SchemaStatus (line 88394) | type SchemaStatus = components['schemas']['status'];
type SchemaNullableCodeOfConductSimple (line 88395) | type SchemaNullableCodeOfConductSimple = components['schemas']['nullable...
type SchemaNullableCommunityHealthFile (line 88396) | type SchemaNullableCommunityHealthFile = components['schemas']['nullable...
type SchemaCommunityProfile (line 88397) | type SchemaCommunityProfile = components['schemas']['community-profile'];
type SchemaCommitComparison (line 88398) | type SchemaCommitComparison = components['schemas']['commit-comparison'];
type SchemaContentTree (line 88399) | type SchemaContentTree = components['schemas']['content-tree'];
type SchemaContentDirectory (line 88400) | type SchemaContentDirectory = components['schemas']['content-directory'];
type SchemaContentFile (line 88401) | type SchemaContentFile = components['schemas']['content-file'];
type SchemaContentSymlink (line 88402) | type SchemaContentSymlink = components['schemas']['content-symlink'];
type SchemaContentSubmodule (line 88403) | type SchemaContentSubmodule = components['schemas']['content-submodule'];
type SchemaFileCommit (line 88404) | type SchemaFileCommit = components['schemas']['file-commit'];
type SchemaSecretScanningPushProtectionBypassPlaceholderId (line 88405) | type SchemaSecretScanningPushProtectionBypassPlaceholderId = components[...
type SchemaRepositoryRuleViolationError (line 88406) | type SchemaRepositoryRuleViolationError = components['schemas']['reposit...
type SchemaContributor (line 88407) | type SchemaContributor = components['schemas']['contributor'];
type SchemaDependabotAlert (line 88408) | type SchemaDependabotAlert = components['schemas']['dependabot-alert'];
type SchemaDependabotSecret (line 88409) | type SchemaDependabotSecret = components['schemas']['dependabot-secret'];
type SchemaDependencyGraphDiff (line 88410) | type SchemaDependencyGraphDiff = components['schemas']['dependency-graph...
type SchemaDependencyGraphSpdxSbom (line 88411) | type SchemaDependencyGraphSpdxSbom = components['schemas']['dependency-g...
type SchemaMetadata (line 88412) | type SchemaMetadata = components['schemas']['metadata'];
type SchemaDependency (line 88413) | type SchemaDependency = components['schemas']['dependency'];
type SchemaManifest (line 88414) | type SchemaManifest = components['schemas']['manifest'];
type SchemaSnapshot (line 88415) | type SchemaSnapshot = components['schemas']['snapshot'];
type SchemaDeploymentStatus (line 88416) | type SchemaDeploymentStatus = components['schemas']['deployment-status'];
type SchemaWaitTimer (line 88417) | type SchemaWaitTimer = components['schemas']['wait-timer'];
type SchemaDeploymentBranchPolicySettings (line 88418) | type SchemaDeploymentBranchPolicySettings = components['schemas']['deplo...
type SchemaEnvironment (line 88419) | type SchemaEnvironment = components['schemas']['environment'];
type SchemaPreventSelfReview (line 88420) | type SchemaPreventSelfReview = components['schemas']['prevent-self-revie...
type SchemaDeploymentBranchPolicy (line 88421) | type SchemaDeploymentBranchPolicy = components['schemas']['deployment-br...
type SchemaDeploymentBranchPolicyNamePatternWithType (line 88422) | type SchemaDeploymentBranchPolicyNamePatternWithType = components['schem...
type SchemaDeploymentBranchPolicyNamePattern (line 88423) | type SchemaDeploymentBranchPolicyNamePattern = components['schemas']['de...
type SchemaCustomDeploymentRuleApp (line 88424) | type SchemaCustomDeploymentRuleApp = components['schemas']['custom-deplo...
type SchemaDeploymentProtectionRule (line 88425) | type SchemaDeploymentProtectionRule = components['schemas']['deployment-...
type SchemaShortBlob (line 88426) | type SchemaShortBlob = components['schemas']['short-blob'];
type SchemaBlob (line 88427) | type SchemaBlob = components['schemas']['blob'];
type SchemaGitCommit (line 88428) | type SchemaGitCommit = components['schemas']['git-commit'];
type SchemaGitRef (line 88429) | type SchemaGitRef = components['schemas']['git-ref'];
type SchemaGitTag (line 88430) | type SchemaGitTag = components['schemas']['git-tag'];
type SchemaGitTree (line 88431) | type SchemaGitTree = components['schemas']['git-tree'];
type SchemaHookResponse (line 88432) | type SchemaHookResponse = components['schemas']['hook-response'];
type SchemaHook (line 88433) | type SchemaHook = components['schemas']['hook'];
type SchemaImport (line 88434) | type SchemaImport = components['schemas']['import'];
type SchemaPorterAuthor (line 88435) | type SchemaPorterAuthor = components['schemas']['porter-author'];
type SchemaPorterLargeFile (line 88436) | type SchemaPorterLargeFile = components['schemas']['porter-large-file'];
type SchemaNullableIssue (line 88437) | type SchemaNullableIssue = components['schemas']['nullable-issue'];
type SchemaIssueEventLabel (line 88438) | type SchemaIssueEventLabel = components['schemas']['issue-event-label'];
type SchemaIssueEventDismissedReview (line 88439) | type SchemaIssueEventDismissedReview = components['schemas']['issue-even...
type SchemaIssueEventMilestone (line 88440) | type SchemaIssueEventMilestone = components['schemas']['issue-event-mile...
type SchemaIssueEventProjectCard (line 88441) | type SchemaIssueEventProjectCard = components['schemas']['issue-event-pr...
type SchemaIssueEventRename (line 88442) | type SchemaIssueEventRename = components['schemas']['issue-event-rename'];
type SchemaIssueEvent (line 88443) | type SchemaIssueEvent = components['schemas']['issue-event'];
type SchemaLabeledIssueEvent (line 88444) | type SchemaLabeledIssueEvent = components['schemas']['labeled-issue-even...
type SchemaUnlabeledIssueEvent (line 88445) | type SchemaUnlabeledIssueEvent = components['schemas']['unlabeled-issue-...
type SchemaAssignedIssueEvent (line 88446) | type SchemaAssignedIssueEvent = components['schemas']['assigned-issue-ev...
type SchemaUnassignedIssueEvent (line 88447) | type SchemaUnassignedIssueEvent = components['schemas']['unassigned-issu...
type SchemaMilestonedIssueEvent (line 88448) | type SchemaMilestonedIssueEvent = components['schemas']['milestoned-issu...
type SchemaDemilestonedIssueEvent (line 88449) | type SchemaDemilestonedIssueEvent = components['schemas']['demilestoned-...
type SchemaRenamedIssueEvent (line 88450) | type SchemaRenamedIssueEvent = components['schemas']['renamed-issue-even...
type SchemaReviewRequestedIssueEvent (line 88451) | type SchemaReviewRequestedIssueEvent = components['schemas']['review-req...
type SchemaReviewRequestRemovedIssueEvent (line 88452) | type SchemaReviewRequestRemovedIssueEvent = components['schemas']['revie...
type SchemaReviewDismissedIssueEvent (line 88453) | type SchemaReviewDismissedIssueEvent = components['schemas']['review-dis...
type SchemaLockedIssueEvent (line 88454) | type SchemaLockedIssueEvent = components['schemas']['locked-issue-event'];
type SchemaAddedToProjectIssueEvent (line 88455) | type SchemaAddedToProjectIssueEvent = components['schemas']['added-to-pr...
type SchemaMovedColumnInProjectIssueEvent (line 88456) | type SchemaMovedColumnInProjectIssueEvent = components['schemas']['moved...
type SchemaRemovedFromProjectIssueEvent (line 88457) | type SchemaRemovedFromProjectIssueEvent = components['schemas']['removed...
type SchemaConvertedNoteToIssueIssueEvent (line 88458) | type SchemaConvertedNoteToIssueIssueEvent = components['schemas']['conve...
type SchemaIssueEventForIssue (line 88459) | type SchemaIssueEventForIssue = components['schemas']['issue-event-for-i...
type SchemaLabel (line 88460) | type SchemaLabel = components['schemas']['label'];
type SchemaTimelineCommentEvent (line 88461) | type SchemaTimelineCommentEvent = components['schemas']['timeline-commen...
type SchemaTimelineCrossReferencedEvent (line 88462) | type SchemaTimelineCrossReferencedEvent = components['schemas']['timelin...
type SchemaTimelineCommittedEvent (line 88463) | type SchemaTimelineCommittedEvent = components['schemas']['timeline-comm...
type SchemaTimelineReviewedEvent (line 88464) | type SchemaTimelineReviewedEvent = components['schemas']['timeline-revie...
type SchemaPullRequestReviewComment (line 88465) | type SchemaPullRequestReviewComment = components['schemas']['pull-reques...
type SchemaTimelineLineCommentedEvent (line 88466) | type SchemaTimelineLineCommentedEvent = components['schemas']['timeline-...
type SchemaTimelineCommitCommentedEvent (line 88467) | type SchemaTimelineCommitCommentedEvent = components['schemas']['timelin...
type SchemaTimelineAssignedIssueEvent (line 88468) | type SchemaTimelineAssignedIssueEvent = components['schemas']['timeline-...
type SchemaTimelineUnassignedIssueEvent (line 88469) | type SchemaTimelineUnassignedIssueEvent = components['schemas']['timelin...
type SchemaStateChangeIssueEvent (line 88470) | type SchemaStateChangeIssueEvent = components['schemas']['state-change-i...
type SchemaTimelineIssueEvents (line 88471) | type SchemaTimelineIssueEvents = components['schemas']['timeline-issue-e...
type SchemaDeployKey (line 88472) | type SchemaDeployKey = components['schemas']['deploy-key'];
type SchemaLanguage (line 88473) | type SchemaLanguage = components['schemas']['language'];
type SchemaLicenseContent (line 88474) | type SchemaLicenseContent = components['schemas']['license-content'];
type SchemaMergedUpstream (line 88475) | type SchemaMergedUpstream = components['schemas']['merged-upstream'];
type SchemaMilestone (line 88476) | type SchemaMilestone = components['schemas']['milestone'];
type SchemaPagesSourceHash (line 88477) | type SchemaPagesSourceHash = components['schemas']['pages-source-hash'];
type SchemaPagesHttpsCertificate (line 88478) | type SchemaPagesHttpsCertificate = components['schemas']['pages-https-ce...
type SchemaPage (line 88479) | type SchemaPage = components['schemas']['page'];
type SchemaPageBuild (line 88480) | type SchemaPageBuild = components['schemas']['page-build'];
type SchemaPageBuildStatus (line 88481) | type SchemaPageBuildStatus = components['schemas']['page-build-status'];
type SchemaPageDeployment (line 88482) | type SchemaPageDeployment = components['schemas']['page-deployment'];
type SchemaPagesDeploymentStatus (line 88483) | type SchemaPagesDeploymentStatus = components['schemas']['pages-deployme...
type SchemaPagesHealthCheck (line 88484) | type SchemaPagesHealthCheck = components['schemas']['pages-health-check'];
type SchemaPullRequest (line 88485) | type SchemaPullRequest = components['schemas']['pull-request'];
type SchemaPullRequestMergeResult (line 88486) | type SchemaPullRequestMergeResult = components['schemas']['pull-request-...
type SchemaPullRequestReviewRequest (line 88487) | type SchemaPullRequestReviewRequest = components['schemas']['pull-reques...
type SchemaPullRequestReview (line 88488) | type SchemaPullRequestReview = components['schemas']['pull-request-revie...
type SchemaReviewComment (line 88489) | type SchemaReviewComment = components['schemas']['review-comment'];
type SchemaReleaseAsset (line 88490) | type SchemaReleaseAsset = components['schemas']['release-asset'];
type SchemaRelease (line 88491) | type SchemaRelease = components['schemas']['release'];
type SchemaReleaseNotesContent (line 88492) | type SchemaReleaseNotesContent = components['schemas']['release-notes-co...
type SchemaRepositoryRuleRulesetInfo (line 88493) | type SchemaRepositoryRuleRulesetInfo = components['schemas']['repository...
type SchemaRepositoryRuleDetailed (line 88494) | type SchemaRepositoryRuleDetailed = components['schemas']['repository-ru...
type SchemaSecretScanningAlert (line 88495) | type SchemaSecretScanningAlert = components['schemas']['secret-scanning-...
type SchemaSecretScanningAlertResolutionComment (line 88496) | type SchemaSecretScanningAlertResolutionComment = components['schemas'][...
type SchemaSecretScanningLocationCommit (line 88497) | type SchemaSecretScanningLocationCommit = components['schemas']['secret-...
type SchemaSecretScanningLocationWikiCommit (line 88498) | type SchemaSecretScanningLocationWikiCommit = components['schemas']['sec...
type SchemaSecretScanningLocationIssueTitle (line 88499) | type SchemaSecretScanningLocationIssueTitle = components['schemas']['sec...
type SchemaSecretScanningLocationIssueBody (line 88500) | type SchemaSecretScanningLocationIssueBody = components['schemas']['secr...
type SchemaSecretScanningLocationIssueComment (line 88501) | type SchemaSecretScanningLocationIssueComment = components['schemas']['s...
type SchemaSecretScanningLocationDiscussionTitle (line 88502) | type SchemaSecretScanningLocationDiscussionTitle = components['schemas']...
type SchemaSecretScanningLocationDiscussionBody (line 88503) | type SchemaSecretScanningLocationDiscussionBody = components['schemas'][...
type SchemaSecretScanningLocationDiscussionComment (line 88504) | type SchemaSecretScanningLocationDiscussionComment = components['schemas...
type SchemaSecretScanningLocationPullRequestTitle (line 88505) | type SchemaSecretScanningLocationPullRequestTitle = components['schemas'...
type SchemaSecretScanningLocationPullRequestBody (line 88506) | type SchemaSecretScanningLocationPullRequestBody = components['schemas']...
type SchemaSecretScanningLocationPullRequestComment (line 88507) | type SchemaSecretScanningLocationPullRequestComment = components['schema...
type SchemaSecretScanningLocationPullRequestReview (line 88508) | type SchemaSecretScanningLocationPullRequestReview = components['schemas...
type SchemaSecretScanningLocationPullRequestReviewComment (line 88509) | type SchemaSecretScanningLocationPullRequestReviewComment = components['...
type SchemaSecretScanningLocation (line 88510) | type SchemaSecretScanningLocation = components['schemas']['secret-scanni...
type SchemaSecretScanningPushProtectionBypassReason (line 88511) | type SchemaSecretScanningPushProtectionBypassReason = components['schema...
type SchemaSecretScanningPushProtectionBypass (line 88512) | type SchemaSecretScanningPushProtectionBypass = components['schemas']['s...
type SchemaSecretScanningScan (line 88513) | type SchemaSecretScanningScan = components['schemas']['secret-scanning-s...
type SchemaSecretScanningScanHistory (line 88514) | type SchemaSecretScanningScanHistory = components['schemas']['secret-sca...
type SchemaRepositoryAdvisoryCreate (line 88515) | type SchemaRepositoryAdvisoryCreate = components['schemas']['repository-...
type SchemaPrivateVulnerabilityReportCreate (line 88516) | type SchemaPrivateVulnerabilityReportCreate = components['schemas']['pri...
type SchemaRepositoryAdvisoryUpdate (line 88517) | type SchemaRepositoryAdvisoryUpdate = components['schemas']['repository-...
type SchemaStargazer (line 88518) | type SchemaStargazer = components['schemas']['stargazer'];
type SchemaCodeFrequencyStat (line 88519) | type SchemaCodeFrequencyStat = components['schemas']['code-frequency-sta...
type SchemaCommitActivity (line 88520) | type SchemaCommitActivity = components['schemas']['commit-activity'];
type SchemaContributorActivity (line 88521) | type SchemaContributorActivity = components['schemas']['contributor-acti...
type SchemaParticipationStats (line 88522) | type SchemaParticipationStats = components['schemas']['participation-sta...
type SchemaRepositorySubscription (line 88523) | type SchemaRepositorySubscription = components['schemas']['repository-su...
type SchemaTag (line 88524) | type SchemaTag = components['schemas']['tag'];
type SchemaTagProtection (line 88525) | type SchemaTagProtection = components['schemas']['tag-protection'];
type SchemaTopic (line 88526) | type SchemaTopic = components['schemas']['topic'];
type SchemaTraffic (line 88527) | type SchemaTraffic = components['schemas']['traffic'];
type SchemaCloneTraffic (line 88528) | type SchemaCloneTraffic = components['schemas']['clone-traffic'];
type SchemaContentTraffic (line 88529) | type SchemaContentTraffic = components['schemas']['content-traffic'];
type SchemaReferrerTraffic (line 88530) | type SchemaReferrerTraffic = components['schemas']['referrer-traffic'];
type SchemaViewTraffic (line 88531) | type SchemaViewTraffic = components['schemas']['view-traffic'];
type SchemaSearchResultTextMatches (line 88532) | type SchemaSearchResultTextMatches = components['schemas']['search-resul...
type SchemaCodeSearchResultItem (line 88533) | type SchemaCodeSearchResultItem = components['schemas']['code-search-res...
type SchemaCommitSearchResultItem (line 88534) | type SchemaCommitSearchResultItem = components['schemas']['commit-search...
type SchemaIssueSearchResultItem (line 88535) | type SchemaIssueSearchResultItem = components['schemas']['issue-search-r...
type SchemaLabelSearchResultItem (line 88536) | type SchemaLabelSearchResultItem = components['schemas']['label-search-r...
type SchemaRepoSearchResultItem (line 88537) | type SchemaRepoSearchResultItem = components['schemas']['repo-search-res...
type SchemaTopicSearchResultItem (line 88538) | type SchemaTopicSearchResultItem = components['schemas']['topic-search-r...
type SchemaUserSearchResultItem (line 88539) | type SchemaUserSearchResultItem = components['schemas']['user-search-res...
type SchemaPrivateUser (line 88540) | type SchemaPrivateUser = components['schemas']['private-user'];
type SchemaCodespacesSecret (line 88541) | type SchemaCodespacesSecret = components['schemas']['codespaces-secret'];
type SchemaCodespacesUserPublicKey (line 88542) | type SchemaCodespacesUserPublicKey = components['schemas']['codespaces-u...
type SchemaCodespaceExportDetails (line 88543) | type SchemaCodespaceExportDetails = components['schemas']['codespace-exp...
type SchemaCodespaceWithFullRepository (line 88544) | type SchemaCodespaceWithFullRepository = components['schemas']['codespac...
type SchemaEmail (line 88545) | type SchemaEmail = components['schemas']['email'];
type SchemaGpgKey (line 88546) | type SchemaGpgKey = components['schemas']['gpg-key'];
type SchemaKey (line 88547) | type SchemaKey = components['schemas']['key'];
type SchemaMarketplaceAccount (line 88548) | type SchemaMarketplaceAccount = components['schemas']['marketplace-accou...
type SchemaUserMarketplacePurchase (line 88549) | type SchemaUserMarketplacePurchase = components['schemas']['user-marketp...
type SchemaSocialAccount (line 88550) | type SchemaSocialAccount = components['schemas']['social-account'];
type SchemaSshSigningKey (line 88551) | type SchemaSshSigningKey = components['schemas']['ssh-signing-key'];
type SchemaStarredRepository (line 88552) | type SchemaStarredRepository = components['schemas']['starred-repository'];
type SchemaSigstoreBundle_0 (line 88553) | type SchemaSigstoreBundle_0 = components['schemas']['sigstore-bundle-0'];
type SchemaHovercard (line 88554) | type SchemaHovercard = components['schemas']['hovercard'];
type SchemaKeySimple (line 88555) | type SchemaKeySimple = components['schemas']['key-simple'];
type SchemaEnterpriseWebhooks (line 88556) | type SchemaEnterpriseWebhooks = components['schemas']['enterprise-webhoo...
type SchemaSimpleInstallation (line 88557) | type SchemaSimpleInstallation = components['schemas']['simple-installati...
type SchemaOrganizationSimpleWebhooks (line 88558) | type SchemaOrganizationSimpleWebhooks = components['schemas']['organizat...
type SchemaRepositoryWebhooks (line 88559) | type SchemaRepositoryWebhooks = components['schemas']['repository-webhoo...
type SchemaWebhooksRule (line 88560) | type SchemaWebhooksRule = components['schemas']['webhooks_rule'];
type SchemaSimpleCheckSuite (line 88561) | type SchemaSimpleCheckSuite = components['schemas']['simple-check-suite'];
type SchemaCheckRunWithSimpleCheckSuite (line 88562) | type SchemaCheckRunWithSimpleCheckSuite = components['schemas']['check-r...
type SchemaWebhooksCodeScanningCommitOid (line 88563) | type SchemaWebhooksCodeScanningCommitOid = components['schemas']['webhoo...
type SchemaWebhooksCodeScanningRef (line 88564) | type SchemaWebhooksCodeScanningRef = components['schemas']['webhooks_cod...
type SchemaWebhooksDeployPusherType (line 88565) | type SchemaWebhooksDeployPusherType = components['schemas']['webhooks_de...
type SchemaWebhooksRef_0 (line 88566) | type SchemaWebhooksRef_0 = components['schemas']['webhooks_ref_0'];
type SchemaWebhooksDeployKey (line 88567) | type SchemaWebhooksDeployKey = components['schemas']['webhooks_deploy_ke...
type SchemaWebhooksWorkflow (line 88568) | type SchemaWebhooksWorkflow = components['schemas']['webhooks_workflow'];
type SchemaWebhooksApprover (line 88569) | type SchemaWebhooksApprover = components['schemas']['webhooks_approver'];
type SchemaWebhooksReviewers (line 88570) | type SchemaWebhooksReviewers = components['schemas']['webhooks_reviewers'];
type SchemaWebhooksWorkflowJobRun (line 88571) | type SchemaWebhooksWorkflowJobRun = components['schemas']['webhooks_work...
type SchemaWebhooksUser (line 88572) | type SchemaWebhooksUser = components['schemas']['webhooks_user'];
type SchemaWebhooksAnswer (line 88573) | type SchemaWebhooksAnswer = components['schemas']['webhooks_answer'];
type SchemaDiscussion (line 88574) | type SchemaDiscussion = components['schemas']['discussion'];
type SchemaWebhooksComment (line 88575) | type SchemaWebhooksComment = components['schemas']['webhooks_comment'];
type SchemaWebhooksLabel (line 88576) | type SchemaWebhooksLabel = components['schemas']['webhooks_label'];
type SchemaWebhooksRepositories (line 88577) | type SchemaWebhooksRepositories = components['schemas']['webhooks_reposi...
type SchemaWebhooksRepositoriesAdded (line 88578) | type SchemaWebhooksRepositoriesAdded = components['schemas']['webhooks_r...
type SchemaWebhooksRepositorySelection (line 88579) | type SchemaWebhooksRepositorySelection = components['schemas']['webhooks...
type SchemaWebhooksIssueComment (line 88580) | type SchemaWebhooksIssueComment = components['schemas']['webhooks_issue_...
type SchemaWebhooksChanges (line 88581) | type SchemaWebhooksChanges = components['schemas']['webhooks_changes'];
type SchemaWebhooksIssue (line 88582) | type SchemaWebhooksIssue = components['schemas']['webhooks_issue'];
type SchemaWebhooksMilestone (line 88583) | type SchemaWebhooksMilestone = components['schemas']['webhooks_milestone'];
type SchemaWebhooksIssue_2 (line 88584) | type SchemaWebhooksIssue_2 = components['schemas']['webhooks_issue_2'];
type SchemaWebhooksUserMannequin (line 88585) | type SchemaWebhooksUserMannequin = components['schemas']['webhooks_user_...
type SchemaWebhooksMarketplacePurchase (line 88586) | type SchemaWebhooksMarketplacePurchase = components['schemas']['webhooks...
type SchemaWebhooksPreviousMarketplacePurchase (line 88587) | type SchemaWebhooksPreviousMarketplacePurchase = components['schemas']['...
type SchemaWebhooksTeam (line 88588) | type SchemaWebhooksTeam = components['schemas']['webhooks_team'];
type SchemaMergeGroup (line 88589) | type SchemaMergeGroup = components['schemas']['merge-group'];
type SchemaNullableRepositoryWebhooks (line 88590) | type SchemaNullableRepositoryWebhooks = components['schemas']['nullable-...
type SchemaWebhooksMilestone_3 (line 88591) | type SchemaWebhooksMilestone_3 = components['schemas']['webhooks_milesto...
type SchemaWebhooksMembership (line 88592) | type SchemaWebhooksMembership = components['schemas']['webhooks_membersh...
type SchemaPersonalAccessTokenRequest (line 88593) | type SchemaPersonalAccessTokenRequest = components['schemas']['personal-...
type SchemaWebhooksProjectCard (line 88594) | type SchemaWebhooksProjectCard = components['schemas']['webhooks_project...
type SchemaWebhooksProject (line 88595) | type SchemaWebhooksProject = components['schemas']['webhooks_project'];
type SchemaWebhooksProjectColumn (line 88596) | type SchemaWebhooksProjectColumn = components['schemas']['webhooks_proje...
type SchemaProjectsV2 (line 88597) | type SchemaProjectsV2 = components['schemas']['projects-v2'];
type SchemaWebhooksProjectChanges (line 88598) | type SchemaWebhooksProjectChanges = components['schemas']['webhooks_proj...
type SchemaProjectsV2ItemContentType (line 88599) | type SchemaProjectsV2ItemContentType = components['schemas']['projects-v...
type SchemaProjectsV2Item (line 88600) | type SchemaProjectsV2Item = components['schemas']['projects-v2-item'];
type SchemaProjectsV2SingleSelectOption (line 88601) | type SchemaProjectsV2SingleSelectOption = components['schemas']['project...
type SchemaProjectsV2IterationSetting (line 88602) | type SchemaProjectsV2IterationSetting = components['schemas']['projects-...
type SchemaProjectsV2StatusUpdate (line 88603) | type SchemaProjectsV2StatusUpdate = components['schemas']['projects-v2-s...
type SchemaWebhooksNumber (line 88604) | type SchemaWebhooksNumber = components['schemas']['webhooks_number'];
type SchemaPullRequestWebhook (line 88605) | type SchemaPullRequestWebhook = components['schemas']['pull-request-webh...
type SchemaWebhooksPullRequest_5 (line 88606) | type SchemaWebhooksPullRequest_5 = components['schemas']['webhooks_pull_...
type SchemaWebhooksReviewComment (line 88607) | type SchemaWebhooksReviewComment = components['schemas']['webhooks_revie...
type SchemaWebhooksReview (line 88608) | type SchemaWebhooksReview = components['schemas']['webhooks_review'];
type SchemaWebhooksNullableString (line 88609) | type SchemaWebhooksNullableString = components['schemas']['webhooks_null...
type SchemaWebhooksRelease (line 88610) | type SchemaWebhooksRelease = components['schemas']['webhooks_release'];
type SchemaWebhooksRelease_1 (line 88611) | type SchemaWebhooksRelease_1 = components['schemas']['webhooks_release_1'];
type SchemaWebhooksAlert (line 88612) | type SchemaWebhooksAlert = components['schemas']['webhooks_alert'];
type SchemaSecretScanningAlertResolutionWebhook (line 88613) | type SchemaSecretScanningAlertResolutionWebhook = components['schemas'][...
type SchemaSecretScanningAlertWebhook (line 88614) | type SchemaSecretScanningAlertWebhook = components['schemas']['secret-sc...
type SchemaWebhooksSecurityAdvisory (line 88615) | type SchemaWebhooksSecurityAdvisory = components['schemas']['webhooks_se...
type SchemaWebhooksSponsorship (line 88616) | type SchemaWebhooksSponsorship = components['schemas']['webhooks_sponsor...
type SchemaWebhooksEffectiveDate (line 88617) | type SchemaWebhooksEffectiveDate = components['schemas']['webhooks_effec...
type SchemaWebhooksChanges_8 (line 88618) | type SchemaWebhooksChanges_8 = components['schemas']['webhooks_changes_8'];
type SchemaWebhooksTeam_1 (line 88619) | type SchemaWebhooksTeam_1 = components['schemas']['webhooks_team_1'];
type SchemaWebhookBranchProtectionConfigurationDisabled (line 88620) | type SchemaWebhookBranchProtectionConfigurationDisabled = components['sc...
type SchemaWebhookBranchProtectionConfigurationEnabled (line 88621) | type SchemaWebhookBranchProtectionConfigurationEnabled = components['sch...
type SchemaWebhookBranchProtectionRuleCreated (line 88622) | type SchemaWebhookBranchProtectionRuleCreated = components['schemas']['w...
type SchemaWebhookBranchProtectionRuleDeleted (line 88623) | type SchemaWebhookBranchProtectionRuleDeleted = components['schemas']['w...
type SchemaWebhookBranchProtectionRuleEdited (line 88624) | type SchemaWebhookBranchProtectionRuleEdited = components['schemas']['we...
type SchemaWebhookCheckRunCompleted (line 88625) | type SchemaWebhookCheckRunCompleted = components['schemas']['webhook-che...
type SchemaWebhookCheckRunCompletedFormEncoded (line 88626) | type SchemaWebhookCheckRunCompletedFormEncoded = components['schemas']['...
type SchemaWebhookCheckRunCreated (line 88627) | type SchemaWebhookCheckRunCreated = components['schemas']['webhook-check...
type SchemaWebhookCheckRunCreatedFormEncoded (line 88628) | type SchemaWebhookCheckRunCreatedFormEncoded = components['schemas']['we...
type SchemaWebhookCheckRunRequestedAction (line 88629) | type SchemaWebhookCheckRunRequestedAction = components['schemas']['webho...
type SchemaWebhookCheckRunRequestedActionFormEncoded (line 88630) | type SchemaWebhookCheckRunRequestedActionFormEncoded = components['schem...
type SchemaWebhookCheckRunRerequested (line 88631) | type SchemaWebhookCheckRunRerequested = components['schemas']['webhook-c...
type SchemaWebhookCheckRunRerequestedFormEncoded (line 88632) | type SchemaWebhookCheckRunRerequestedFormEncoded = components['schemas']...
type SchemaWebhookCheckSuiteCompleted (line 88633) | type SchemaWebhookCheckSuiteCompleted = components['schemas']['webhook-c...
type SchemaWebhookCheckSuiteRequested (line 88634) | type SchemaWebhookCheckSuiteRequested = components['schemas']['webhook-c...
type SchemaWebhookCheckSuiteRerequested (line 88635) | type SchemaWebhookCheckSuiteRerequested = components['schemas']['webhook...
type SchemaWebhookCodeScanningAlertAppearedInBranch (line 88636) | type SchemaWebhookCodeScanningAlertAppearedInBranch = components['schema...
type SchemaWebhookCodeScanningAlertClosedByUser (line 88637) | type SchemaWebhookCodeScanningAlertClosedByUser = components['schemas'][...
type SchemaWebhookCodeScanningAlertCreated (line 88638) | type SchemaWebhookCodeScanningAlertCreated = components['schemas']['webh...
type SchemaWebhookCodeScanningAlertFixed (line 88639) | type SchemaWebhookCodeScanningAlertFixed = components['schemas']['webhoo...
type SchemaWebhookCodeScanningAlertReopened (line 88640) | type SchemaWebhookCodeScanningAlertReopened = components['schemas']['web...
type SchemaWebhookCodeScanningAlertReopenedByUser (line 88641) | type SchemaWebhookCodeScanningAlertReopenedByUser = components['schemas'...
type SchemaWebhookCommitCommentCreated (line 88642) | type SchemaWebhookCommitCommentCreated = components['schemas']['webhook-...
type SchemaWebhookCreate (line 88643) | type SchemaWebhookCreate = components['schemas']['webhook-create'];
type SchemaWebhookCustomPropertyCreated (line 88644) | type SchemaWebhookCustomPropertyCreated = components['schemas']['webhook...
type SchemaWebhookCustomPropertyDeleted (line 88645) | type SchemaWebhookCustomPropertyDeleted = components['schemas']['webhook...
type SchemaWebhookCustomPropertyUpdated (line 88646) | type SchemaWebhookCustomPropertyUpdated = components['schemas']['webhook...
type SchemaWebhookCustomPropertyValuesUpdated (line 88647) | type SchemaWebhookCustomPropertyValuesUpdated = components['schemas']['w...
type SchemaWebhookDelete (line 88648) | type SchemaWebhookDelete = components['schemas']['webhook-delete'];
type SchemaWebhookDependabotAlertAutoDismissed (line 88649) | type SchemaWebhookDependabotAlertAutoDismissed = components['schemas']['...
type SchemaWebhookDependabotAlertAutoReopened (line 88650) | type SchemaWebhookDependabotAlertAutoReopened = components['schemas']['w...
type SchemaWebhookDependabotAlertCreated (line 88651) | type SchemaWebhookDependabotAlertCreated = components['schemas']['webhoo...
type SchemaWebhookDependabotAlertDismissed (line 88652) | type SchemaWebhookDependabotAlertDismissed = components['schemas']['webh...
type SchemaWebhookDependabotAlertFixed (line 88653) | type SchemaWebhookDependabotAlertFixed = components['schemas']['webhook-...
type SchemaWebhookDependabotAlertReintroduced (line 88654) | type SchemaWebhookDependabotAlertReintroduced = components['schemas']['w...
type SchemaWebhookDependabotAlertReopened (line 88655) | type SchemaWebhookDependabotAlertReopened = components['schemas']['webho...
type SchemaWebhookDeployKeyCreated (line 88656) | type SchemaWebhookDeployKeyCreated = components['schemas']['webhook-depl...
type SchemaWebhookDeployKeyDeleted (line 88657) | type SchemaWebhookDeployKeyDeleted = components['schemas']['webhook-depl...
type SchemaWebhookDeploymentCreated (line 88658) | type SchemaWebhookDeploymentCreated = components['schemas']['webhook-dep...
type SchemaWebhookDeploymentProtectionRuleRequested (line 88659) | type SchemaWebhookDeploymentProtectionRuleRequested = components['schema...
type SchemaWebhookDeploymentReviewApproved (line 88660) | type SchemaWebhookDeploymentReviewApproved = components['schemas']['webh...
type SchemaWebhookDeploymentReviewRejected (line 88661) | type SchemaWebhookDeploymentReviewRejected = components['schemas']['webh...
type SchemaWebhookDeploymentReviewRequested (line 88662) | type SchemaWebhookDeploymentReviewRequested = components['schemas']['web...
type SchemaWebhookDeploymentStatusCreated (line 88663) | type SchemaWebhookDeploymentStatusCreated = components['schemas']['webho...
type SchemaWebhookDiscussionAnswered (line 88664) | type SchemaWebhookDiscussionAnswered = components['schemas']['webhook-di...
type SchemaWebhookDiscussionCategoryChanged (line 88665) | type SchemaWebhookDiscussionCategoryChanged = components['schemas']['web...
type SchemaWebhookDiscussionClosed (line 88666) | type SchemaWebhookDiscussionClosed = components['schemas']['webhook-disc...
type SchemaWebhookDiscussionCommentCreated (line 88667) | type SchemaWebhookDiscussionCommentCreated = components['schemas']['webh...
type SchemaWebhookDiscussionCommentDeleted (line 88668) | type SchemaWebhookDiscussionCommentDeleted = components['schemas']['webh...
type SchemaWebhookDiscussionCommentEdited (line 88669) | type SchemaWebhookDiscussionCommentEdited = components['schemas']['webho...
type SchemaWebhookDiscussionCreated (line 88670) | type SchemaWebhookDiscussionCreated = components['schemas']['webhook-dis...
type SchemaWebhookDiscussionDeleted (line 88671) | type SchemaWebhookDiscussionDeleted = components['schemas']['webhook-dis...
type SchemaWebhookDiscussionEdited (line 88672) | type SchemaWebhookDiscussionEdited = components['schemas']['webhook-disc...
type SchemaWebhookDiscussionLabeled (line 88673) | type SchemaWebhookDiscussionLabeled = components['schemas']['webhook-dis...
type SchemaWebhookDiscussionLocked (line 88674) | type SchemaWebhookDiscussionLocked = components['schemas']['webhook-disc...
type SchemaWebhookDiscussionPinned (line 88675) | type SchemaWebhookDiscussionPinned = components['schemas']['webhook-disc...
type SchemaWebhookDiscussionReopened (line 88676) | type SchemaWebhookDiscussionReopened = components['schemas']['webhook-di...
type SchemaWebhookDiscussionTransferred (line 88677) | type SchemaWebhookDiscussionTransferred = components['schemas']['webhook...
type SchemaWebhookDiscussionUnanswered (line 88678) | type SchemaWebhookDiscussionUnanswered = components['schemas']['webhook-...
type SchemaWebhookDiscussionUnlabeled (line 88679) | type SchemaWebhookDiscussionUnlabeled = components['schemas']['webhook-d...
type SchemaWebhookDiscussionUnlocked (line 88680) | type SchemaWebhookDiscussionUnlocked = components['schemas']['webhook-di...
type SchemaWebhookDiscussionUnpinned (line 88681) | type SchemaWebhookDiscussionUnpinned = components['schemas']['webhook-di...
type SchemaWebhookFork (line 88682) | type SchemaWebhookFork = components['schemas']['webhook-fork'];
type SchemaWebhookGithubAppAuthorizationRevoked (line 88683) | type SchemaWebhookGithubAppAuthorizationRevoked = components['schemas'][...
type SchemaWebhookGollum (line 88684) | type SchemaWebhookGollum = components['schemas']['webhook-gollum'];
type SchemaWebhookInstallationCreated (line 88685) | type SchemaWebhookInstallationCreated = components['schemas']['webhook-i...
type SchemaWebhookInstallationDeleted (line 88686) | type SchemaWebhookInstallationDeleted = components['schemas']['webhook-i...
type SchemaWebhookInstallationNewPermissionsAccepted (line 88687) | type SchemaWebhookInstallationNewPermissionsAccepted = components['schem...
type SchemaWebhookInstallationRepositoriesAdded (line 88688) | type SchemaWebhookInstallationRepositoriesAdded = components['schemas'][...
type SchemaWebhookInstallationRepositoriesRemoved (line 88689) | type SchemaWebhookInstallationRepositoriesRemoved = components['schemas'...
type SchemaWebhookInstallationSuspend (line 88690) | type SchemaWebhookInstallationSuspend = components['schemas']['webhook-i...
type SchemaWebhookInstallationTargetRenamed (line 88691) | type SchemaWebhookInstallationTargetRenamed = components['schemas']['web...
type SchemaWebhookInstallationUnsuspend (line 88692) | type SchemaWebhookInstallationUnsuspend = components['schemas']['webhook...
type SchemaWebhookIssueCommentCreated (line 88693) | type SchemaWebhookIssueCommentCreated = components['schemas']['webhook-i...
type SchemaWebhookIssueCommentDeleted (line 88694) | type SchemaWebhookIssueCommentDeleted = components['schemas']['webhook-i...
type SchemaWebhookIssueCommentEdited (line 88695) | type SchemaWebhookIssueCommentEdited = components['schemas']['webhook-is...
type SchemaWebhookIssuesAssigned (line 88696) | type SchemaWebhookIssuesAssigned = components['schemas']['webhook-issues...
type SchemaWebhookIssuesClosed (line 88697) | type SchemaWebhookIssuesClosed = components['schemas']['webhook-issues-c...
type SchemaWebhookIssuesDeleted (line 88698) | type SchemaWebhookIssuesDeleted = components['schemas']['webhook-issues-...
type SchemaWebhookIssuesDemilestoned (line 88699) | type SchemaWebhookIssuesDemilestoned = components['schemas']['webhook-is...
type SchemaWebhookIssuesEdited (line 88700) | type SchemaWebhookIssuesEdited = components['schemas']['webhook-issues-e...
type SchemaWebhookIssuesLabeled (line 88701) | type SchemaWebhookIssuesLabeled = components['schemas']['webhook-issues-...
type SchemaWebhookIssuesLocked (line 88702) | type SchemaWebhookIssuesLocked = components['schemas']['webhook-issues-l...
type SchemaWebhookIssuesMilestoned (line 88703) | type SchemaWebhookIssuesMilestoned = components['schemas']['webhook-issu...
type SchemaWebhookIssuesOpened (line 88704) | type SchemaWebhookIssuesOpened = components['schemas']['webhook-issues-o...
type SchemaWebhookIssuesPinned (line 88705) | type SchemaWebhookIssuesPinned = components['schemas']['webhook-issues-p...
type SchemaWebhookIssuesReopened (line 88706) | type SchemaWebhookIssuesReopened = components['schemas']['webhook-issues...
type SchemaWebhookIssuesTransferred (line 88707) | type SchemaWebhookIssuesTransferred = components['schemas']['webhook-iss...
type SchemaWebhookIssuesUnassigned (line 88708) | type SchemaWebhookIssuesUnassigned = components['schemas']['webhook-issu...
type SchemaWebhookIssuesUnlabeled (line 88709) | type SchemaWebhookIssuesUnlabeled = components['schemas']['webhook-issue...
type SchemaWebhookIssuesUnlocked (line 88710) | type SchemaWebhookIssuesUnlocked = components['schemas']['webhook-issues...
type SchemaWebhookIssuesUnpinned (line 88711) | type SchemaWebhookIssuesUnpinned = components['schemas']['webhook-issues...
type SchemaWebhookLabelCreated (line 88712) | type SchemaWebhookLabelCreated = components['schemas']['webhook-label-cr...
type SchemaWebhookLabelDeleted (line 88713) | type SchemaWebhookLabelDeleted = components['schemas']['webhook-label-de...
type SchemaWebhookLabelEdited (line 88714) | type SchemaWebhookLabelEdited = components['schemas']['webhook-label-edi...
type SchemaWebhookMarketplacePurchaseCancelled (line 88715) | type SchemaWebhookMarketplacePurchaseCancelled = components['schemas']['...
type SchemaWebhookMarketplacePurchaseChanged (line 88716) | type SchemaWebhookMarketplacePurchaseChanged = components['schemas']['we...
type SchemaWebhookMarketplacePurchasePendingChange (line 88717) | type SchemaWebhookMarketplacePurchasePendingChange = components['schemas...
type SchemaWebhookMarketplacePurchasePendingChangeCancelled (line 88718) | type SchemaWebhookMarketplacePurchasePendingChangeCancelled = components...
type SchemaWebhookMarketplacePurchasePurchased (line 88719) | type SchemaWebhookMarketplacePurchasePurchased = components['schemas']['...
type SchemaWebhookMemberAdded (line 88720) | type SchemaWebhookMemberAdded = components['schemas']['webhook-member-ad...
type SchemaWebhookMemberEdited (line 88721) | type SchemaWebhookMemberEdited = components['schemas']['webhook-member-e...
type SchemaWebhookMemberRemoved (line 88722) | type SchemaWebhookMemberRemoved = components['schemas']['webhook-member-...
type SchemaWebhookMembershipAdded (line 88723) | type SchemaWebhookMembershipAdded = components['schemas']['webhook-membe...
type SchemaWebhookMembershipRemoved (line 88724) | type SchemaWebhookMembershipRemoved = components['schemas']['webhook-mem...
type SchemaWebhookMergeGroupChecksRequested (line 88725) | type SchemaWebhookMergeGroupChecksRequested = components['schemas']['web...
type SchemaWebhookMergeGroupDestroyed (line 88726) | type SchemaWebhookMergeGroupDestroyed = components['schemas']['webhook-m...
type SchemaWebhookMetaDeleted (line 88727) | type SchemaWebhookMetaDeleted = components['schemas']['webhook-meta-dele...
type SchemaWebhookMilestoneClosed (line 88728) | type SchemaWebhookMilestoneClosed = components['schemas']['webhook-miles...
type SchemaWebhookMilestoneCreated (line 88729) | type SchemaWebhookMilestoneCreated = components['schemas']['webhook-mile...
type SchemaWebhookMilestoneDeleted (line 88730) | type SchemaWebhookMilestoneDeleted = components['schemas']['webhook-mile...
type SchemaWebhookMilestoneEdited (line 88731) | type SchemaWebhookMilestoneEdited = components['schemas']['webhook-miles...
type SchemaWebhookMilestoneOpened (line 88732) | type SchemaWebhookMilestoneOpened = components['schemas']['webhook-miles...
type SchemaWebhookOrgBlockBlocked (line 88733) | type SchemaWebhookOrgBlockBlocked = components['schemas']['webhook-org-b...
type SchemaWebhookOrgBlockUnblocked (line 88734) | type SchemaWebhookOrgBlockUnblocked = components['schemas']['webhook-org...
type SchemaWebhookOrganizationDeleted (line 88735) | type SchemaWebhookOrganizationDeleted = components['schemas']['webhook-o...
type SchemaWebhookOrganizationMemberAdded (line 88736) | type SchemaWebhookOrganizationMemberAdded = components['schemas']['webho...
type SchemaWebhookOrganizationMemberInvited (line 88737) | type SchemaWebhookOrganizationMemberInvited = components['schemas']['web...
type SchemaWebhookOrganizationMemberRemoved (line 88738) | type SchemaWebhookOrganizationMemberRemoved = components['schemas']['web...
type SchemaWebhookOrganizationRenamed (line 88739) | type SchemaWebhookOrganizationRenamed = components['schemas']['webhook-o...
type SchemaWebhookRubygemsMetadata (line 88740) | type SchemaWebhookRubygemsMetadata = components['schemas']['webhook-ruby...
type SchemaWebhookPackagePublished (line 88741) | type SchemaWebhookPackagePublished = components['schemas']['webhook-pack...
type SchemaWebhookPackageUpdated (line 88742) | type SchemaWebhookPackageUpdated = components['schemas']['webhook-packag...
type SchemaWebhookPageBuild (line 88743) | type SchemaWebhookPageBuild = components['schemas']['webhook-page-build'];
type SchemaWebhookPersonalAccessTokenRequestApproved (line 88744) | type SchemaWebhookPersonalAccessTokenRequestApproved = components['schem...
type SchemaWebhookPersonalAccessTokenRequestCancelled (line 88745) | type SchemaWebhookPersonalAccessTokenRequestCancelled = components['sche...
type SchemaWebhookPersonalAccessTokenRequestCreated (line 88746) | type SchemaWebhookPersonalAccessTokenRequestCreated = components['schema...
type SchemaWebhookPersonalAccessTokenRequestDenied (line 88747) | type SchemaWebhookPersonalAccessTokenRequestDenied = components['schemas...
type SchemaWebhookPing (line 88748) | type SchemaWebhookPing = components['schemas']['webhook-ping'];
type SchemaWebhookPingFormEncoded (line 88749) | type SchemaWebhookPingFormEncoded = components['schemas']['webhook-ping-...
type SchemaWebhookProjectCardConverted (line 88750) | type SchemaWebhookProjectCardConverted = components['schemas']['webhook-...
type SchemaWebhookProjectCardCreated (line 88751) | type SchemaWebhookProjectCardCreated = components['schemas']['webhook-pr...
type SchemaWebhookProjectCardDeleted (line 88752) | type SchemaWebhookProjectCardDeleted = components['schemas']['webhook-pr...
type SchemaWebhookProjectCardEdited (line 88753) | type SchemaWebhookProjectCardEdited = components['schemas']['webhook-pro...
type SchemaWebhookProjectCardMoved (line 88754) | type SchemaWebhookProjectCardMoved = components['schemas']['webhook-proj...
type SchemaWebhookProjectClosed (line 88755) | type SchemaWebhookProjectClosed = components['schemas']['webhook-project...
type SchemaWebhookProjectColumnCreated (line 88756) | type SchemaWebhookProjectColumnCreated = components['schemas']['webhook-...
type SchemaWebhookProjectColumnDeleted (line 88757) | type SchemaWebhookProjectColumnDeleted = components['schemas']['webhook-...
type SchemaWebhookProjectColumnEdited (line 88758) | type SchemaWebhookProjectColumnEdited = components['schemas']['webhook-p...
type SchemaWebhookProjectColumnMoved (line 88759) | type SchemaWebhookProjectColumnMoved = components['schemas']['webhook-pr...
type SchemaWebhookProjectCreated (line 88760) | type SchemaWebhookProjectCreated = components['schemas']['webhook-projec...
type SchemaWebhookProjectDeleted (line 88761) | type SchemaWebhookProjectDeleted = components['schemas']['webhook-projec...
type SchemaWebhookProjectEdited (line 88762) | type SchemaWebhookProjectEdited = components['schemas']['webhook-project...
type SchemaWebhookProjectReopened (line 88763) | type SchemaWebhookProjectReopened = components['schemas']['webhook-proje...
type SchemaWebhookProjectsV2ProjectClosed (line 88764) | type SchemaWebhookProjectsV2ProjectClosed = components['schemas']['webho...
type SchemaWebhookProjectsV2ProjectCreated (line 88765) | type SchemaWebhookProjectsV2ProjectCreated = components['schemas']['webh...
type SchemaWebhookProjectsV2ProjectDeleted (line 88766) | type SchemaWebhookProjectsV2ProjectDeleted = components['schemas']['webh...
type SchemaWebhookProjectsV2ProjectEdited (line 88767) | type SchemaWebhookProjectsV2ProjectEdited = components['schemas']['webho...
type SchemaWebhookProjectsV2ItemArchived (line 88768) | type SchemaWebhookProjectsV2ItemArchived = components['schemas']['webhoo...
type SchemaWebhookProjectsV2ItemConverted (line 88769) | type SchemaWebhookProjectsV2ItemConverted = components['schemas']['webho...
type SchemaWebhookProjectsV2ItemCreated (line 88770) | type SchemaWebhookProjectsV2ItemCreated = components['schemas']['webhook...
type SchemaWebhookProjectsV2ItemDeleted (line 88771) | type SchemaWebhookProjectsV2ItemDeleted = components['schemas']['webhook...
type SchemaWebhookProjectsV2ItemEdited (line 88772) | type SchemaWebhookProjectsV2ItemEdited = components['schemas']['webhook-...
type SchemaWebhookProjectsV2ItemReordered (line 88773) | type SchemaWebhookProjectsV2ItemReordered = components['schemas']['webho...
type SchemaWebhookProjectsV2ItemRestored (line 88774) | type SchemaWebhookProjectsV2ItemRestored = components['schemas']['webhoo...
type SchemaWebhookProjectsV2ProjectReopened (line 88775) | type SchemaWebhookProjectsV2ProjectReopened = components['schemas']['web...
type SchemaWebhookProjectsV2StatusUpdateCreated (line 88776) | type SchemaWebhookProjectsV2StatusUpdateCreated = components['schemas'][...
type SchemaWebhookProjectsV2StatusUpdateDeleted (line 88777) | type SchemaWebhookProjectsV2StatusUpdateDeleted = components['schemas'][...
type SchemaWebhookProjectsV2StatusUpdateEdited (line 88778) | type SchemaWebhookProjectsV2StatusUpdateEdited = components['schemas']['...
type SchemaWebhookPublic (line 88779) | type SchemaWebhookPublic = components['schemas']['webhook-public'];
type SchemaWebhookPullRequestAssigned (line 88780) | type SchemaWebhookPullRequestAssigned = components['schemas']['webhook-p...
type SchemaWebhookPullRequestAutoMergeDisabled (line 88781) | type SchemaWebhookPullRequestAutoMergeDisabled = components['schemas']['...
type SchemaWebhookPullRequestAutoMergeEnabled (line 88782) | type SchemaWebhookPullRequestAutoMergeEnabled = components['schemas']['w...
type SchemaWebhookPullRequestClosed (line 88783) | type SchemaWebhookPullRequestClosed = components['schemas']['webhook-pul...
type SchemaWebhookPullRequestConvertedToDraft (line 88784) | type SchemaWebhookPullRequestConvertedToDraft = components['schemas']['w...
type SchemaWebhookPullRequestDemilestoned (line 88785) | type SchemaWebhookPullRequestDemilestoned = components['schemas']['webho...
type SchemaWebhookPullRequestDequeued (line 88786) | type SchemaWebhookPullRequestDequeued = components['schemas']['webhook-p...
type SchemaWebhookPullRequestEdited (line 88787) | type SchemaWebhookPullRequestEdited = components['schemas']['webhook-pul...
type SchemaWebhookPullRequestEnqueued (line 88788) | type SchemaWebhookPullRequestEnqueued = components['schemas']['webhook-p...
type SchemaWebhookPullRequestLabeled (line 88789) | type SchemaWebhookPullRequestLabeled = components['schemas']['webhook-pu...
type SchemaWebhookPullRequestLocked (line 88790) | type SchemaWebhookPullRequestLocked = components['schemas']['webhook-pul...
type SchemaWebhookPullRequestMilestoned (line 88791) | type SchemaWebhookPullRequestMilestoned = components['schemas']['webhook...
type SchemaWebhookPullRequestOpened (line 88792) | type SchemaWebhookPullRequestOpened = components['schemas']['webhook-pul...
type SchemaWebhookPullRequestReadyForReview (line 88793) | type SchemaWebhookPullRequestReadyForReview = components['schemas']['web...
type SchemaWebhookPullRequestReopened (line 88794) | type SchemaWebhookPullRequestReopened = components['schemas']['webhook-p...
type SchemaWebhookPullRequestReviewCommentCreated (line 88795) | type SchemaWebhookPullRequestReviewCommentCreated = components['schemas'...
type SchemaWebhookPullRequestReviewCommentDeleted (line 88796) | type SchemaWebhookPullRequestReviewCommentDeleted = components['schemas'...
type SchemaWebhookPullRequestReviewCommentEdited (line 88797) | type SchemaWebhookPullRequestReviewCommentEdited = components['schemas']...
type SchemaWebhookPullRequestReviewDismissed (line 88798) | type SchemaWebhookPullRequestReviewDismissed = components['schemas']['we...
type SchemaWebhookPullRequestReviewEdited (line 88799) | type SchemaWebhookPullRequestReviewEdited = components['schemas']['webho...
type SchemaWebhookPullRequestReviewRequestRemoved (line 88800) | type SchemaWebhookPullRequestReviewRequestRemoved = components['schemas'...
type SchemaWebhookPullRequestReviewRequested (line 88801) | type SchemaWebhookPullRequestReviewRequested = components['schemas']['we...
type SchemaWebhookPullRequestReviewSubmitted (line 88802) | type SchemaWebhookPullRequestReviewSubmitted = components['schemas']['we...
type SchemaWebhookPullRequestReviewThreadResolved (line 88803) | type SchemaWebhookPullRequestReviewThreadResolved = components['schemas'...
type SchemaWebhookPullRequestReviewThreadUnresolved (line 88804) | type SchemaWebhookPullRequestReviewThreadUnresolved = components['schema...
type SchemaWebhookPullRequestSynchronize (line 88805) | type SchemaWebhookPullRequestSynchronize = components['schemas']['webhoo...
type SchemaWebhookPullRequestUnassigned (line 88806) | type SchemaWebhookPullRequestUnassigned = components['schemas']['webhook...
type SchemaWebhookPullRequestUnlabeled (line 88807) | type SchemaWebhookPullRequestUnlabeled = components['schemas']['webhook-...
type SchemaWebhookPullRequestUnlocked (line 88808) | type SchemaWebhookPullRequestUnlocked = components['schemas']['webhook-p...
type SchemaWebhookPush (line 88809) | type SchemaWebhookPush = components['schemas']['webhook-push'];
type SchemaWebhookRegistryPackagePublished (line 88810) | type SchemaWebhookRegistryPackagePublished = components['schemas']['webh...
type SchemaWebhookRegistryPackageUpdated (line 88811) | type SchemaWebhookRegistryPackageUpdated = components['schemas']['webhoo...
type SchemaWebhookReleaseCreated (line 88812) | type SchemaWebhookReleaseCreated = components['schemas']['webhook-releas...
type SchemaWebhookReleaseDeleted (line 88813) | type SchemaWebhookReleaseDeleted = components['schemas']['webhook-releas...
type SchemaWebhookReleaseEdited (line 88814) | type SchemaWebhookReleaseEdited = components['schemas']['webhook-release...
type SchemaWebhookReleasePrereleased (line 88815) | type SchemaWebhookReleasePrereleased = components['schemas']['webhook-re...
type SchemaWebhookReleasePublished (line 88816) | type SchemaWebhookReleasePublished = components['schemas']['webhook-rele...
type SchemaWebhookReleaseReleased (line 88817) | type SchemaWebhookReleaseReleased = components['schemas']['webhook-relea...
type SchemaWebhookReleaseUnpublished (line 88818) | type SchemaWebhookReleaseUnpublished = components['schemas']['webhook-re...
type SchemaWebhookRepositoryAdvisoryPublished (line 88819) | type SchemaWebhookRepositoryAdvisoryPublished = components['schemas']['w...
type SchemaWebhookRepositoryAdvisoryReported (line 88820) | type SchemaWebhookRepositoryAdvisoryReported = components['schemas']['we...
type SchemaWebhookRepositoryArchived (line 88821) | type SchemaWebhookRepositoryArchived = components['schemas']['webhook-re...
type SchemaWebhookRepositoryCreated (line 88822) | type SchemaWebhookRepositoryCreated = components['schemas']['webhook-rep...
type SchemaWebhookRepositoryDeleted (line 88823) | type SchemaWebhookRepositoryDeleted = components['schemas']['webhook-rep...
type SchemaWebhookRepositoryDispatchSample (line 88824) | type SchemaWebhookRepositoryDispatchSample = components['schemas']['webh...
type SchemaWebhookRepositoryEdited (line 88825) | type SchemaWebhookRepositoryEdited = components['schemas']['webhook-repo...
type SchemaWebhookRepositoryImport (line 88826) | type SchemaWebhookRepositoryImport = components['schemas']['webhook-repo...
type SchemaWebhookRepositoryPrivatized (line 88827) | type SchemaWebhookRepositoryPrivatized = components['schemas']['webhook-...
type SchemaWebhookRepositoryPublicized (line 88828) | type SchemaWebhookRepositoryPublicized = components['schemas']['webhook-...
type SchemaWebhookRepositoryRenamed (line 88829) | type SchemaWebhookRepositoryRenamed = components['schemas']['webhook-rep...
type SchemaWebhookRepositoryRulesetCreated (line 88830) | type SchemaWebhookRepositoryRulesetCreated = components['schemas']['webh...
type SchemaWebhookRepositoryRulesetDeleted (line 88831) | type SchemaWebhookRepositoryRulesetDeleted = components['schemas']['webh...
type SchemaWebhookRepositoryRulesetEdited (line 88832) | type SchemaWebhookRepositoryRulesetEdited = components['schemas']['webho...
type SchemaWebhookRepositoryTransferred (line 88833) | type SchemaWebhookRepositoryTransferred = components['schemas']['webhook...
type SchemaWebhookRepositoryUnarchived (line 88834) | type SchemaWebhookRepositoryUnarchived = components['schemas']['webhook-...
type SchemaWebhookRepositoryVulnerabilityAlertCreate (line 88835) | type SchemaWebhookRepositoryVulnerabilityAlertCreate = components['schem...
type SchemaWebhookRepositoryVulnerabilityAlertDismiss (line 88836) | type SchemaWebhookRepositoryVulnerabilityAlertDismiss = components['sche...
type SchemaWebhookRepositoryVulnerabilityAlertReopen (line 88837) | type SchemaWebhookRepositoryVulnerabilityAlertReopen = components['schem...
type SchemaWebhookRepositoryVulnerabilityAlertResolve (line 88838) | type SchemaWebhookRepositoryVulnerabilityAlertResolve = components['sche...
type SchemaWebhookSecretScanningAlertCreated (line 88839) | type SchemaWebhookSecretScanningAlertCreated = components['schemas']['we...
type SchemaWebhookSecretScanningAlertLocationCreated (line 88840) | type SchemaWebhookSecretScanningAlertLocationCreated = components['schem...
type SchemaWebhookSecretScanningAlertLocationCreatedFormEncoded (line 88841) | type SchemaWebhookSecretScanningAlertLocationCreatedFormEncoded = compon...
type SchemaWebhookSecretScanningAlertPubliclyLeaked (line 88842) | type SchemaWebhookSecretScanningAlertPubliclyLeaked = components['schema...
type SchemaWebhookSecretScanningAlertReopened (line 88843) | type SchemaWebhookSecretScanningAlertReopened = components['schemas']['w...
type SchemaWebhookSecretScanningAlertResolved (line 88844) | type SchemaWebhookSecretScanningAlertResolved = components['schemas']['w...
type SchemaWebhookSecretScanningAlertValidated (line 88845) | type SchemaWebhookSecretScanningAlertValidated = components['schemas']['...
type SchemaWebhookSecretScanningScanCompleted (line 88846) | type SchemaWebhookSecretScanningScanCompleted = components['schemas']['w...
type SchemaWebhookSecurityAdvisoryPublished (line 88847) | type SchemaWebhookSecurityAdvisoryPublished = components['schemas']['web...
type SchemaWebhookSecurityAdvisoryUpdated (line 88848) | type SchemaWebhookSecurityAdvisoryUpdated = components['schemas']['webho...
type SchemaWebhookSecurityAdvisoryWithdrawn (line 88849) | type SchemaWebhookSecurityAdvisoryWithdrawn = components['schemas']['web...
type SchemaWebhookSecurityAndAnalysis (line 88850) | type SchemaWebhookSecurityAndAnalysis = components['schemas']['webhook-s...
type SchemaWebhookSponsorshipCancelled (line 88851) | type SchemaWebhookSponsorshipCancelled = components['schemas']['webhook-...
type SchemaWebhookSponsorshipCreated (line 88852) | type SchemaWebhookSponsorshipCreated = components['schemas']['webhook-sp...
type SchemaWebhookSponsorshipEdited (line 88853) | type SchemaWebhookSponsorshipEdited = components['schemas']['webhook-spo...
type SchemaWebhookSponsorshipPendingCancellation (line 88854) | type SchemaWebhookSponsorshipPendingCancellation = components['schemas']...
type SchemaWebhookSponsorshipPendingTierChange (line 88855) | type SchemaWebhookSponsorshipPendingTierChange = components['schemas']['...
type SchemaWebhookSponsorshipTierChanged (line 88856) | type SchemaWebhookSponsorshipTierChanged = components['schemas']['webhoo...
type SchemaWebhookStarCreated (line 88857) | type SchemaWebhookStarCreated = components['schemas']['webhook-star-crea...
type SchemaWebhookStarDeleted (line 88858) | type SchemaWebhookStarDeleted = components['schemas']['webhook-star-dele...
type SchemaWebhookStatus (line 88859) | type SchemaWebhookStatus = components['schemas']['webhook-status'];
type SchemaWebhookSubIssuesParentIssueAdded (line 88860) | type SchemaWebhookSubIssuesParentIssueAdded = components['schemas']['web...
type SchemaWebhookSubIssuesParentIssueRemoved (line 88861) | type SchemaWebhookSubIssuesParentIssueRemoved = components['schemas']['w...
type SchemaWebhookSubIssuesSubIssueAdded (line 88862) | type SchemaWebhookSubIssuesSubIssueAdded = components['schemas']['webhoo...
type SchemaWebhookSubIssuesSubIssueRemoved (line 88863) | type SchemaWebhookSubIssuesSubIssueRemoved = components['schemas']['webh...
type SchemaWebhookTeamAdd (line 88864) | type SchemaWebhookTeamAdd = components['schemas']['webhook-team-add'];
type SchemaWebhookTeamAddedToRepository (line 88865) | type SchemaWebhookTeamAddedToRepository = components['schemas']['webhook...
type SchemaWebhookTeamCreated (line 88866) | type SchemaWebhookTeamCreated = components['schemas']['webhook-team-crea...
type SchemaWebhookTeamDeleted (line 88867) | type SchemaWebhookTeamDeleted = components['schemas']['webhook-team-dele...
type SchemaWebhookTeamEdited (line 88868) | type SchemaWebhookTeamEdited = components['schemas']['webhook-team-edite...
type SchemaWebhookTeamRemovedFromRepository (line 88869) | type SchemaWebhookTeamRemovedFromRepository = components['schemas']['web...
type SchemaWebhookWatchStarted (line 88870) | type SchemaWebhookWatchStarted = components['schemas']['webhook-watch-st...
type SchemaWebhookWorkflowDispatch (line 88871) | type SchemaWebhookWorkflowDispatch = components['schemas']['webhook-work...
type SchemaWebhookWorkflowJobCompleted (line 88872) | type SchemaWebhookWorkflowJobCompleted = components['schemas']['webhook-...
type SchemaWebhookWorkflowJobInProgress (line 88873) | type SchemaWebhookWorkflowJobInProgress = components['schemas']['webhook...
type SchemaWebhookWorkflowJobQueued (line 88874) | type SchemaWebhookWorkflowJobQueued = components['schemas']['webhook-wor...
type SchemaWebhookWorkflowJobWaiting (line 88875) | type SchemaWebhookWorkflowJobWaiting = components['schemas']['webhook-wo...
type SchemaWebhookWorkflowRunCompleted (line 88876) | type SchemaWebhookWorkflowRunCompleted = components['schemas']['webhook-...
type SchemaWebhookWorkflowRunInProgress (line 88877) | type SchemaWebhookWorkflowRunInProgress = components['schemas']['webhook...
type SchemaWebhookWorkflowRunRequested (line 88878) | type SchemaWebhookWorkflowRunRequested = components['schemas']['webhook-...
type ResponseValidationFailedSimple (line 88879) | type ResponseValidationFailedSimple = components['responses']['validatio...
type ResponseNotFound (line 88880) | type ResponseNotFound = components['responses']['not_found'];
type ResponseBadRequest (line 88881) | type ResponseBadRequest = components['responses']['bad_request'];
type ResponseValidationFailed (line 88882) | type ResponseValidationFailed = components['responses']['validation_fail...
type ResponseAccepted (line 88883) | type ResponseAccepted = components['responses']['accepted'];
type ResponseNotModified (line 88884) | type ResponseNotModified = components['responses']['not_modified'];
type ResponseRequiresAuthentication (line 88885) | type ResponseRequiresAuthentication = components['responses']['requires_...
type ResponseForbidden (line 88886) | type ResponseForbidden = components['responses']['forbidden'];
type ResponseConflict (line 88887) | type ResponseConflict = components['responses']['conflict'];
type ResponseNoContent (line 88888) | type ResponseNoContent = components['responses']['no_content'];
type ResponseServiceUnavailable (line 88889) | type ResponseServiceUnavailable = components['responses']['service_unava...
type ResponseForbiddenGist (line 88890) | type ResponseForbiddenGist = components['responses']['forbidden_gist'];
type ResponseMovedPermanently (line 88891) | type ResponseMovedPermanently = components['responses']['moved_permanent...
type ResponseBillingUsageReportOrg (line 88892) | type ResponseBillingUsageReportOrg = components['responses']['billing_us...
type ResponseInternalError (line 88893) | type ResponseInternalError = components['responses']['internal_error'];
type ResponseActionsRunnerJitconfig (line 88894) | type ResponseActionsRunnerJitconfig = components['responses']['actions_r...
type ResponseActionsRunnerLabels (line 88895) | type ResponseActionsRunnerLabels = components['responses']['actions_runn...
type ResponseActionsRunnerLabelsReadonly (line 88896) | type ResponseActionsRunnerLabelsReadonly = components['responses']['acti...
type ResponseUsageMetricsApiDisabled (line 88897) | type ResponseUsageMetricsApiDisabled = components['responses']['usage_me...
type ResponsePackageEsListError (line 88898) | type ResponsePackageEsListError = components['responses']['package_es_li...
type ResponseGone (line 88899) | type ResponseGone = components['responses']['gone'];
type ResponseTemporaryRedirect (line 88900) | type ResponseTemporaryRedirect = components['responses']['temporary_redi...
type ResponseCodeScanningForbiddenRead (line 88901) | type ResponseCodeScanningForbiddenRead = components['responses']['code_s...
type ResponseCodeScanningForbiddenWrite (line 88902) | type ResponseCodeScanningForbiddenWrite = components['responses']['code_...
type ResponseCodeScanningBadRequest (line 88903) | type ResponseCodeScanningBadRequest = components['responses']['code_scan...
type ResponseCodeScanningAutofixCreateForbidden (line 88904) | type ResponseCodeScanningAutofixCreateForbidden = components['responses'...
type ResponseFound (line 88905) | type ResponseFound = components['responses']['found'];
type ResponseCodeScanningConflict (line 88906) | type ResponseCodeScanningConflict = components['responses']['code_scanni...
type ResponseDependencyReviewForbidden (line 88907) | type ResponseDependencyReviewForbidden = components['responses']['depend...
type ResponsePorterMaintenance (line 88908) | type ResponsePorterMaintenance = components['responses']['porter_mainten...
type ResponseUnacceptable (line 88909) | type ResponseUnacceptable = components['responses']['unacceptable'];
type ParameterPaginationBefore (line 88910) | type ParameterPaginationBefore = components['parameters']['pagination-be...
type ParameterPaginationAfter (line 88911) | type ParameterPaginationAfter = components['parameters']['pagination-aft...
type ParameterDirection (line 88912) | type ParameterDirection = components['parameters']['direction'];
type ParameterGhsaId (line 88913) | type ParameterGhsaId = components['parameters']['ghsa_id'];
type ParameterPerPage (line 88914) | type ParameterPerPage = components['parameters']['per-page'];
type ParameterCursor (line 88915) | type ParameterCursor = components['parameters']['cursor'];
type ParameterDeliveryId (line 88916) | type ParameterDeliveryId = components['parameters']['delivery-id'];
type ParameterPage (line 88917) | type ParameterPage = components['parameters']['page'];
type ParameterSince (line 88918) | type ParameterSince = components['parameters']['since'];
type ParameterInstallationId (line 88919) | type ParameterInstallationId = components['parameters']['installation-id'];
type ParameterClientId (line 88920) | type ParameterClientId = components['parameters']['client-id'];
type ParameterAppSlug (line 88921) | type ParameterAppSlug = components['parameters']['app-slug'];
type ParameterAssignmentId (line 88922) | type ParameterAssignmentId = components['parameters']['assignment-id'];
type ParameterClassroomId (line 88923) | type ParameterClassroomId = components['parameters']['classroom-id'];
type ParameterEnterprise (line 88924) | type ParameterEnterprise = components['parameters']['enterprise'];
type ParameterConfigurationId (line 88925) | type ParameterConfigurationId = components['parameters']['configuration-...
type ParameterDependabotAlertCommaSeparatedStates (line 88926) | type ParameterDependabotAlertCommaSeparatedStates = components['paramete...
type ParameterDependabotAlertCommaSeparatedSeverities (line 88927) | type ParameterDependabotAlertCommaSeparatedSeverities = components['para...
type ParameterDependabotAlertCommaSeparatedEcosystems (line 88928) | type ParameterDependabotAlertCommaSeparatedEcosystems = components['para...
type ParameterDependabotAlertCommaSeparatedPackages (line 88929) | type ParameterDependabotAlertCommaSeparatedPackages = components['parame...
type ParameterDependabotAlertCommaSeparatedEpss (line 88930) | type ParameterDependabotAlertCommaSeparatedEpss = components['parameters...
type ParameterDependabotAlertScope (line 88931) | type ParameterDependabotAlertScope = components['parameters']['dependabo...
type ParameterDependabotAlertSort (line 88932) | type ParameterDependabotAlertSort = components['parameters']['dependabot...
type ParameterPaginationFirst (line 88933) | type ParameterPaginationFirst = components['parameters']['pagination-fir...
type ParameterPaginationLast (line 88934) | type ParameterPaginationLast = components['parameters']['pagination-last'];
type ParameterSecretScanningAlertState (line 88935) | type ParameterSecretScanningAlertState = components['parameters']['secre...
type ParameterSecretScanningAlertSecretType (line 88936) | type ParameterSecretScanningAlertSecretType = components['parameters']['...
type ParameterSecretScanningAlertResolution (line 88937) | type ParameterSecretScanningAlertResolution = components['parameters']['...
type ParameterSecretScanningAlertSort (line 88938) | type ParameterSecretScanningAlertSort = components['parameters']['secret...
type ParameterSecretScanningAlertValidity (line 88939) | type ParameterSecretScanningAlertValidity = components['parameters']['se...
type ParameterSecretScanningAlertPubliclyLeaked (line 88940) | type ParameterSecretScanningAlertPubliclyLeaked = components['parameters...
type ParameterSecretScanningAlertMultiRepo (line 88941) | type ParameterSecretScanningAlertMultiRepo = components['parameters']['s...
type ParameterGistId (line 88942) | type ParameterGistId = components['parameters']['gist-id'];
type ParameterCommentId (line 88943) | type ParameterCommentId = components['parameters']['comment-id'];
type ParameterLabels (line 88944) | type ParameterLabels = components['parameters']['labels'];
type ParameterAccountId (line 88945) | type ParameterAccountId = components['parameters']['account-id'];
type ParameterPlanId (line 88946) | type ParameterPlanId = components['parameters']['plan-id'];
type ParameterSort (line 88947) | type ParameterSort = components['parameters']['sort'];
type ParameterOwner (line 88948) | type ParameterOwner = components['parameters']['owner'];
type ParameterRepo (line 88949) | type ParameterRepo = components['parameters']['repo'];
type ParameterAll (line 88950) | type ParameterAll = components['parameters']['all'];
type ParameterParticipating (line 88951) | type ParameterParticipating = components['parameters']['participating'];
type ParameterBefore (line 88952) | type ParameterBefore = components['parameters']['before'];
type ParameterThreadId (line 88953) | type ParameterThreadId = components['parameters']['thread-id'];
type ParameterSinceOrg (line 88954) | type ParameterSinceOrg = components['parameters']['since-org'];
type ParameterOrg (line 88955) | type ParameterOrg = components['parameters']['org'];
type ParameterBillingUsageReportYear (line 88956) | type ParameterBillingUsageReportYear = components['parameters']['billing...
type ParameterBillingUsageReportMonth (line 88957) | type ParameterBillingUsageReportMonth = components['parameters']['billin...
type ParameterBillingUsageReportDay (line 88958) | type ParameterBillingUsageReportDay = components['parameters']['billing-...
type ParameterBillingUsageReportHour (line 88959) | type ParameterBillingUsageReportHour = components['parameters']['billing...
type ParameterHostedRunnerId (line 88960) | type ParameterHostedRunnerId = components['parameters']['hosted-runner-i...
type ParameterRepositoryId (line 88961) | type ParameterRepositoryId = components['parameters']['repository-id'];
type ParameterVisibleToRepository (line 88962) | type ParameterVisibleToRepository = components['parameters']['visible-to...
type ParameterRunnerGroupId (line 88963) | type ParameterRunnerGroupId = components['parameters']['runner-group-id'];
type ParameterRunnerId (line 88964) | type ParameterRunnerId = components['parameters']['runner-id'];
type ParameterRunnerLabelName (line 88965) | type ParameterRunnerLabelName = components['parameters']['runner-label-n...
type ParameterSecretName (line 88966) | type ParameterSecretName = components['parameters']['secret-name'];
type ParameterVariablesPerPage (line 88967) | type ParameterVariablesPerPage = components['parameters']['variables-per...
type ParameterVariableName (line 88968) | type ParameterVariableName = components['parameters']['variable-name'];
type ParameterUsername (line 88969) | type ParameterUsername = components['parameters']['username'];
type ParameterToolName (line 88970) | type ParameterToolName = components['parameters']['tool-name'];
type ParameterToolGuid (line 88971) | type ParameterToolGuid = components['parameters']['tool-guid'];
type ParameterHookId (line 88972) | type ParameterHookId = components['parameters']['hook-id'];
type ParameterApiInsightsActorType (line 88973) | type ParameterApiInsightsActorType = components['parameters']['api-insig...
type ParameterApiInsightsActorId (line 88974) | type ParameterApiInsightsActorId = components['parameters']['api-insight...
type ParameterApiInsightsMinTimestamp (line 88975) | type ParameterApiInsightsMinTimestamp = components['parameters']['api-in...
type ParameterApiInsightsMaxTimestamp (line 88976) | type ParameterApiInsightsMaxTimestamp = components['parameters']['api-in...
type ParameterApiInsightsRouteStatsSort (line 88977) | type ParameterApiInsightsRouteStatsSort = components['parameters']['api-...
type ParameterApiInsightsApiRouteSubstring (line 88978) | type ParameterApiInsightsApiRouteSubstring = components['parameters']['a...
type ParameterApiInsightsSort (line 88979) | type ParameterApiInsightsSort = components['parameters']['api-insights-s...
type ParameterApiInsightsSubjectNameSubstring (line 88980) | type ParameterApiInsightsSubjectNameSubstring = components['parameters']...
type ParameterApiInsightsUserId (line 88981) | type ParameterApiInsightsUserId = components['parameters']['api-insights...
type ParameterApiInsightsTimestampIncrement (line 88982) | type ParameterApiInsightsTimestampIncrement = components['parameters']['...
type ParameterApiInsightsActorNameSubstring (line 88983) | type ParameterApiInsightsActorNameSubstring = components['parameters']['...
type ParameterInvitationId (line 88984) | type ParameterInvitationId = components['parameters']['invitation-id'];
type ParameterCodespaceName (line 88985) | type ParameterCodespaceName = components['parameters']['codespace-name'];
type ParameterMigrationId (line 88986) | type ParameterMigrationId = components['parameters']['migration-id'];
type ParameterRepoName (line 88987) | type ParameterRepoName = components['parameters']['repo-name'];
type ParameterTeamSlug (line 88988) | type ParameterTeamSlug = components['parameters']['team-slug'];
type ParameterRoleId (line 88989) | type ParameterRoleId = components['parameters']['role-id'];
type ParameterPackageVisibility (line 88990) | type ParameterPackageVisibility = components['parameters']['package-visi...
type ParameterPackageType (line 88991) | type ParameterPackageType = components['parameters']['package-type'];
type ParameterPackageName (line 88992) | type ParameterPackageName = components['parameters']['package-name'];
type ParameterPackageVersionId (line 88993) | type ParameterPackageVersionId = components['parameters']['package-versi...
type ParameterPersonalAccessTokenSort (line 88994) | type ParameterPersonalAccessTokenSort = components['parameters']['person...
type ParameterPersonalAccessTokenOwner (line 88995) | type ParameterPersonalAccessTokenOwner = components['parameters']['perso...
type ParameterPersonalAccessTokenRepository (line 88996) | type ParameterPersonalAccessTokenRepository = components['parameters']['...
type ParameterPersonalAccessTokenPermission (line 88997) | type ParameterPersonalAccessTokenPermission = components['parameters']['...
type ParameterPersonalAccessTokenBefore (line 88998) | type ParameterPersonalAccessTokenBefore = components['parameters']['pers...
type ParameterPersonalAccessTokenAfter (line 88999) | type ParameterPersonalAccessTokenAfter = components['parameters']['perso...
type ParameterFineGrainedPersonalAccessTokenId (line 89000) | type ParameterFineGrainedPersonalAccessTokenId = components['parameters'...
type ParameterCustomPropertyName (line 89001) | type ParameterCustomPropertyName = components['parameters']['custom-prop...
type ParameterRulesetTargets (line 89002) | type ParameterRulesetTargets = components['parameters']['ruleset-targets'];
type ParameterRefInQuery (line 89003) | type ParameterRefInQuery = components['parameters']['ref-in-query'];
type ParameterRepositoryNameInQuery (line 89004) | type ParameterRepositoryNameInQuery = components['parameters']['reposito...
type ParameterTimePeriod (line 89005) | type ParameterTimePeriod = components['parameters']['time-period'];
type ParameterActorNameInQuery (line 89006) | type ParameterActorNameInQuery = components['parameters']['actor-name-in...
type ParameterRuleSuiteResult (line 89007) | type ParameterRuleSuiteResult = components['parameters']['rule-suite-res...
type ParameterRuleSuiteId (line 89008) | type ParameterRuleSuiteId = components['parameters']['rule-suite-id'];
type ParameterSecretScanningPaginationBeforeOrgRepo (line 89009) | type ParameterSecretScanningPaginationBeforeOrgRepo = components['parame...
type ParameterSecretScanningPaginationAfterOrgRepo (line 89010) | type ParameterSecretScanningPaginationAfterOrgRepo = components['paramet...
type ParameterNetworkConfigurationId (line 89011) | type ParameterNetworkConfigurationId = components['parameters']['network...
type ParameterNetworkSettingsId (line 89012) | type ParameterNetworkSettingsId = components['parameters']['network-sett...
type ParameterDiscussionNumber (line 89013) | type ParameterDiscussionNumber = components['parameters']['discussion-nu...
type ParameterCommentNumber (line 89014) | type ParameterCommentNumber = components['parameters']['comment-number'];
type ParameterReactionId (line 89015) | type ParameterReactionId = components['parameters']['reaction-id'];
type ParameterProjectId (line 89016) | type ParameterProjectId = components['parameters']['project-id'];
type ParameterSecurityProduct (line 89017) | type ParameterSecurityProduct = components['parameters']['security-produ...
type ParameterOrgSecurityProductEnablement (line 89018) | type ParameterOrgSecurityProductEnablement = components['parameters']['o...
type ParameterCardId (line 89019) | type ParameterCardId = components['parameters']['card-id'];
type ParameterColumnId (line 89020) | type ParameterColumnId = components['parameters']['column-id'];
type ParameterArtifactName (line 89021) | type ParameterArtifactName = components['parameters']['artifact-name'];
type ParameterArtifactId (line 89022) | type ParameterArtifactId = components['parameters']['artifact-id'];
type ParameterActionsCacheGitRefFull (line 89023) | type ParameterActionsCacheGitRefFull = components['parameters']['actions...
type ParameterActionsCacheKey (line 89024) | type ParameterActionsCacheKey = components['parameters']['actions-cache-...
type ParameterActionsCacheListSort (line 89025) | type ParameterActionsCacheListSort = components['parameters']['actions-c...
type ParameterActionsCacheKeyRequired (line 89026) | type ParameterActionsCacheKeyRequired = components['parameters']['action...
type ParameterCacheId (line 89027) | type ParameterCacheId = components['parameters']['cache-id'];
type ParameterJobId (line 89028) | type ParameterJobId = components['parameters']['job-id'];
type ParameterActor (line 89029) | type ParameterActor = components['parameters']['actor'];
type ParameterWorkflowRunBranch (line 89030) | type ParameterWorkflowRunBranch = components['parameters']['workflow-run...
type ParameterEvent (line 89031) | type ParameterEvent = components['parameters']['event'];
type ParameterWorkflowRunStatus (line 89032) | type ParameterWorkflowRunStatus = components['parameters']['workflow-run...
type ParameterCreated (line 89033) | type ParameterCreated = components['parameters']['created'];
type ParameterExcludePullRequests (line 89034) | type ParameterExcludePullRequests = components['parameters']['exclude-pu...
type ParameterWorkflowRunCheckSuiteId (line 89035) | type ParameterWorkflowRunCheckSuiteId = components['parameters']['workfl...
type ParameterWorkflowRunHeadSha (line 89036) | type ParameterWorkflowRunHeadSha = components['parameters']['workflow-ru...
type ParameterRunId (line 89037) | type ParameterRunId = components['parameters']['run-id'];
type ParameterAttemptNumber (line 89038) | type ParameterAttemptNumber = components['parameters']['attempt-number'];
type ParameterWorkflowId (line 89039) | type ParameterWorkflowId = components['parameters']['workflow-id'];
type ParameterAutolinkId (line 89040) | type ParameterAutolinkId = components['parameters']['autolink-id'];
type ParameterBranch (line 89041) | type ParameterBranch = components['parameters']['branch'];
type ParameterCheckRunId (line 89042) | type ParameterCheckRunId = components['parameters']['check-run-id'];
type ParameterCheckSuiteId (line 89043) | type ParameterCheckSuiteId = components['parameters']['check-suite-id'];
type ParameterCheckName (line 89044) | type ParameterCheckName = components['parameters']['check-name'];
type ParameterStatus (line 89045) | type ParameterStatus = components['parameters']['status'];
type ParameterGitRef (line 89046) | type ParameterGitRef = components['parameters']['git-ref'];
type ParameterPrAlias (line 89047) | type ParameterPrAlias = components['parameters']['pr-alias'];
type ParameterAlertNumber (line 89048) | type ParameterAlertNumber = components['parameters']['alert-number'];
type ParameterCommitSha (line 89049) | type ParameterCommitSha = components['parameters']['commit-sha'];
type ParameterCommitRef (line 89050) | type ParameterCommitRef = components['parameters']['commit-ref'];
type ParameterDependabotAlertCommaSeparatedManifests (line 89051) | type ParameterDependabotAlertCommaSeparatedManifests = components['param...
type ParameterDependabotAlertNumber (line 89052) | type ParameterDependabotAlertNumber = components['parameters']['dependab...
type ParameterManifestPath (line 89053) | type ParameterManifestPath = components['parameters']['manifest-path'];
type ParameterDeploymentId (line 89054) | type ParameterDeploymentId = components['parameters']['deployment-id'];
type ParameterEnvironmentName (line 89055) | type ParameterEnvironmentName = components['parameters']['environment-na...
type ParameterBranchPolicyId (line 89056) | type ParameterBranchPolicyId = components['parameters']['branch-policy-i...
type ParameterProtectionRuleId (line 89057) | type ParameterProtectionRuleId = components['parameters']['protection-ru...
type ParameterGitRefOnly (line 89058) | type ParameterGitRefOnly = components['parameters']['git-ref-only'];
type ParameterSinceUser (line 89059) | type ParameterSinceUser = components['parameters']['since-user'];
type ParameterIssueNumber (line 89060) | type ParameterIssueNumber = components['parameters']['issue-number'];
type ParameterKeyId (line 89061) | type ParameterKeyId = components['parameters']['key-id'];
type ParameterMilestoneNumber (line 89062) | type ParameterMilestoneNumber = components['parameters']['milestone-numb...
type ParameterPagesDeploymentId (line 89063) | type ParameterPagesDeploymentId = components['parameters']['pages-deploy...
type ParameterPullNumber (line 89064) | type ParameterPullNumber = components['parameters']['pull-number'];
type ParameterReviewId (line 89065) | type ParameterReviewId = components['parameters']['review-id'];
type ParameterAssetId (line 89066) | type ParameterAssetId = components['parameters']['asset-id'];
type ParameterReleaseId (line 89067) | type ParameterReleaseId = components['parameters']['release-id'];
type ParameterTagProtectionId (line 89068) | type ParameterTagProtectionId = components['parameters']['tag-protection...
type ParameterPer (line 89069) | type ParameterPer = components['parameters']['per'];
type ParameterSinceRepo (line 89070) | type ParameterSinceRepo = components['parameters']['since-repo'];
type ParameterOrder (line 89071) | type ParameterOrder = components['parameters']['order'];
type ParameterTeamId (line 89072) | type ParameterTeamId = components['parameters']['team-id'];
type ParameterRepositoryIdInQuery (line 89073) | type ParameterRepositoryIdInQuery = components['parameters']['repository...
type ParameterExportId (line 89074) | type ParameterExportId = components['parameters']['export-id'];
type ParameterGpgKeyId (line 89075) | type ParameterGpgKeyId = components['parameters']['gpg-key-id'];
type ParameterSinceRepoDate (line 89076) | type ParameterSinceRepoDate = components['parameters']['since-repo-date'];
type ParameterBeforeRepoDate (line 89077) | type ParameterBeforeRepoDate = components['parameters']['before-repo-dat...
type ParameterSshSigningKeyId (line 89078) | type ParameterSshSigningKeyId = components['parameters']['ssh-signing-ke...
type ParameterSortStarred (line 89079) | type ParameterSortStarred = components['parameters']['sort-starred'];
type HeaderLink (line 89080) | type HeaderLink = components['headers']['link'];
type HeaderContentType (line 89081) | type HeaderContentType = components['headers']['content-type'];
type HeaderXCommonMarkerVersion (line 89082) | type HeaderXCommonMarkerVersion = components['headers']['x-common-marker...
type HeaderXRateLimitLimit (line 89083) | type HeaderXRateLimitLimit = components['headers']['x-rate-limit-limit'];
type HeaderXRateLimitRemaining (line 89084) | type HeaderXRateLimitRemaining = components['headers']['x-rate-limit-rem...
type HeaderXRateLimitReset (line 89085) | type HeaderXRateLimitReset = components['headers']['x-rate-limit-reset'];
type HeaderLocation (line 89086) | type HeaderLocation = components['headers']['location'];
type $defs (line 89087) | type $defs = Record<string, never>;
type operations (line 89088) | interface operations {
FILE: packages/openapi-typescript/examples/github-api.ts
type paths (line 6) | interface paths {
type webhooks (line 18416) | type webhooks = Record<string, never>;
type components (line 18417) | interface components {
type $defs (line 88060) | type $defs = Record<string, never>;
type operations (line 88061) | interface operations {
FILE: packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts
type paths (line 6) | interface paths {
type webhooks (line 2495) | type webhooks = Record<string, never>;
type components (line 2496) | interface components {
type $defs (line 7168) | type $defs = Record<string, never>;
type operations (line 7169) | interface operations {
FILE: packages/openapi-typescript/examples/simple-example.ts
type paths (line 6) | interface paths {
type webhooks (line 126) | interface webhooks {
type components (line 152) | interface components {
type $defs (line 243) | type $defs = Record<string, never>;
type operations (line 244) | interface operations {
FILE: packages/openapi-typescript/examples/stripe-api.ts
type paths (line 6) | interface paths {
type webhooks (line 8840) | type webhooks = Record<string, never>;
type components (line 8841) | interface components {
type $defs (line 27755) | type $defs = Record<string, never>;
type operations (line 27756) | interface operations {
FILE: packages/openapi-typescript/scripts/download-schemas.ts
constant ONE_DAY (line 9) | const ONE_DAY = 1000 * 60 * 60 * 24;
constant EXAMPLES_DIR (line 10) | const EXAMPLES_DIR = new URL("../examples/", import.meta.url);
function download (line 12) | async function download() {
FILE: packages/openapi-typescript/scripts/update-examples.ts
function generateSchemas (line 6) | async function generateSchemas() {
FILE: packages/openapi-typescript/src/index.ts
constant COMMENT_HEADER (line 29) | const COMMENT_HEADER = `/**
function openapiTS (line 44) | async function openapiTS(
FILE: packages/openapi-typescript/src/lib/redoc.ts
type ValidateAndBundleOptions (line 18) | interface ValidateAndBundleOptions {
type ParseSchemaOptions (line 24) | interface ParseSchemaOptions {
function parseSchema (line 29) | async function parseSchema(schema: unknown, { absoluteRef, resolver }: P...
function _processProblems (line 85) | function _processProblems(problems: NormalizedProblem[], options: { sile...
function validateAndBundle (line 107) | async function validateAndBundle(
FILE: packages/openapi-typescript/src/lib/ts.ts
constant JS_PROPERTY_INDEX_RE (line 6) | const JS_PROPERTY_INDEX_RE = /^[A-Za-z_$][A-Za-z_$0-9]*$/;
constant JS_ENUM_INVALID_CHARS_RE (line 7) | const JS_ENUM_INVALID_CHARS_RE = /[^A-Za-z_$0-9]+(.)?/g;
constant JS_PROPERTY_INDEX_INVALID_CHARS_RE (line 8) | const JS_PROPERTY_INDEX_INVALID_CHARS_RE = /[^A-Za-z_$0-9]+/g;
constant SPECIAL_CHARACTER_MAP (line 9) | const SPECIAL_CHARACTER_MAP: Record<string, string> = {
constant BOOLEAN (line 14) | const BOOLEAN = ts.factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKe...
constant FALSE (line 15) | const FALSE = ts.factory.createLiteralTypeNode(ts.factory.createFalse());
constant NEVER (line 16) | const NEVER = ts.factory.createKeywordTypeNode(ts.SyntaxKind.NeverKeyword);
constant NULL (line 17) | const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull());
constant NUMBER (line 18) | const NUMBER = ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyw...
constant QUESTION_TOKEN (line 19) | const QUESTION_TOKEN = ts.factory.createToken(ts.SyntaxKind.QuestionToken);
constant STRING (line 20) | const STRING = ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyw...
constant TRUE (line 21) | const TRUE = ts.factory.createLiteralTypeNode(ts.factory.createTrue());
constant UNDEFINED (line 22) | const UNDEFINED = ts.factory.createKeywordTypeNode(ts.SyntaxKind.Undefin...
constant UNKNOWN (line 23) | const UNKNOWN = ts.factory.createKeywordTypeNode(ts.SyntaxKind.UnknownKe...
constant LB_RE (line 25) | const LB_RE = /\r?\n/g;
constant COMMENT_RE (line 26) | const COMMENT_RE = /\*\//g;
type AnnotatedSchemaObject (line 28) | interface AnnotatedSchemaObject {
function addJSDocComment (line 48) | function addJSDocComment(schemaObject: AnnotatedSchemaObject, node: ts.P...
function isOasRef (line 128) | function isOasRef<T>(obj: Referenced<T>): obj is OasRef {
type OapiRefResolved (line 131) | type OapiRefResolved = Referenced<ParameterObject>;
function isParameterObject (line 133) | function isParameterObject(obj: OapiRefResolved | undefined): obj is Par...
function addIndexedAccess (line 137) | function addIndexedAccess(node: ts.TypeNode, ...segments: readonly strin...
function wrapWithExtract (line 154) | function wrapWithExtract(type: ts.TypeNode, propertyName: string): ts.Ty...
type OapiRefOptions (line 168) | interface OapiRefOptions {
function oapiRef (line 195) | function oapiRef(path: string, resolved?: OapiRefResolved, options: Oapi...
type AstToStringOptions (line 242) | interface AstToStringOptions {
function astToString (line 249) | function astToString(
function stringToAST (line 273) | function stringToAST(source: string): unknown[] {
function tsDedupe (line 287) | function tsDedupe(types: ts.TypeNode[]): ts.TypeNode[] {
function tsEnum (line 309) | function tsEnum(
function tsArrayLiteralExpression (line 340) | function tsArrayLiteralExpression(
function sanitizeMemberName (line 396) | function sanitizeMemberName(name: string) {
function tsEnumMember (line 408) | function tsEnumMember(value: string | number, metadata: { name?: string;...
function tsIntersection (line 453) | function tsIntersection(types: ts.TypeNode[]): ts.TypeNode {
function tsIsPrimitive (line 464) | function tsIsPrimitive(type: ts.TypeNode): boolean {
function tsLiteral (line 480) | function tsLiteral(value: unknown): ts.TypeNode {
function tsModifiers (line 525) | function tsModifiers(modifiers: { readonly?: boolean; export?: boolean }...
function tsNullable (line 537) | function tsNullable(types: ts.TypeNode[]): ts.TypeNode {
function tsOmit (line 542) | function tsOmit(type: ts.TypeNode, keys: string[]): ts.TypeNode {
function tsRecord (line 550) | function tsRecord(key: ts.TypeNode, value: ts.TypeNode) {
function tsPropertyIndex (line 555) | function tsPropertyIndex(index: string | number) {
function tsUnion (line 568) | function tsUnion(types: ts.TypeNode[]): ts.TypeNode {
function tsWithRequired (line 579) | function tsWithRequired(
function tsReadonlyArray (line 605) | function tsReadonlyArray(type: ts.TypeNode, injectFooter?: ts.Node[]): t...
FILE: packages/openapi-typescript/src/lib/utils.ts
constant DEBUG_GROUPS (line 12) | const DEBUG_GROUPS: Record<string, c.StyleFunction | undefined> = {
function createDiscriminatorProperty (line 22) | function createDiscriminatorProperty(
function createRef (line 49) | function createRef(parts: (number | string | undefined | null)[]): string {
function debug (line 68) | function debug(msg: string, group?: string, time?: number) {
function error (line 88) | function error(msg: string) {
function formatTime (line 94) | function formatTime(t: number) {
function getEntries (line 108) | function getEntries<T>(
function resolveRef (line 126) | function resolveRef<T>(
function createDiscriminatorEnum (line 160) | function createDiscriminatorEnum(values: string[], prevSchema?: SchemaOb...
function patchDiscriminatorEnum (line 171) | function patchDiscriminatorEnum(
type InternalDiscriminatorMapping (line 227) | type InternalDiscriminatorMapping = Record<string, { inferred?: string; ...
function scanDiscriminators (line 230) | function scanDiscriminators(schema: OpenAPI3, options: OpenAPITSOptions) {
function walk (line 368) | function walk(
function warn (line 389) | function warn(msg: string, silent = false) {
FILE: packages/openapi-typescript/src/transform/components-object.ts
function isEnumSchema (line 29) | function isEnumSchema(schema: unknown): boolean {
type ComponentTransforms (line 42) | type ComponentTransforms = keyof Omit<ComponentsObject, "examples" | "se...
function transformComponentsObject (line 57) | function transformComponentsObject(componentsObject: ComponentsObject, c...
function singularizeComponentKey (line 150) | function singularizeComponentKey(
FILE: packages/openapi-typescript/src/transform/header-object.ts
function transformHeaderObject (line 13) | function transformHeaderObject(headerObject: HeaderObject, options: Tran...
FILE: packages/openapi-typescript/src/transform/index.ts
type SchemaTransforms (line 12) | type SchemaTransforms = keyof Pick<OpenAPI3, "paths" | "webhooks" | "com...
constant READ_WRITE_HELPER_TYPES (line 22) | const READ_WRITE_HELPER_TYPES = `
function transformSchema (line 29) | function transformSchema(schema: OpenAPI3, ctx: GlobalContext) {
FILE: packages/openapi-typescript/src/transform/media-type-object.ts
function transformMediaTypeObject (line 10) | function transformMediaTypeObject(
FILE: packages/openapi-typescript/src/transform/operation-object.ts
function transformOperationObject (line 13) | function transformOperationObject(
function injectOperationObject (line 69) | function injectOperationObject(
FILE: packages/openapi-typescript/src/transform/parameter-object.ts
function transformParameterObject (line 10) | function transformParameterObject(
FILE: packages/openapi-typescript/src/transform/parameters-array.ts
constant PATH_PARAM_RE (line 8) | const PATH_PARAM_RE = /\{([^}]+)\}/g;
function createPathParameter (line 13) | function createPathParameter(paramName: string): ParameterObject {
function extractPathParamsFromUrl (line 25) | function extractPathParamsFromUrl(path: string): ParameterObject[] {
function transformParametersArray (line 40) | function transformParametersArray(
FILE: packages/openapi-typescript/src/transform/path-item-object.ts
type Method (line 14) | type Method = "get" | "put" | "post" | "delete" | "options" | "head" | "...
function transformPathItemObject (line 20) | function transformPathItemObject(pathItem: PathItemObject, options: Tran...
constant HASH_RE (line 102) | const HASH_RE = /#/g;
FILE: packages/openapi-typescript/src/transform/paths-enum.ts
function makeApiPathsEnum (line 6) | function makeApiPathsEnum(pathsObject: PathsObject): ts.EnumDeclaration {
FILE: packages/openapi-typescript/src/transform/paths-object.ts
constant PATH_PARAM_RE (line 15) | const PATH_PARAM_RE = /\{[^}]+\}/g;
function transformPathsObject (line 21) | function transformPathsObject(pathsObject: PathsObject, ctx: GlobalConte...
function extractPathParams (line 109) | function extractPathParams(pathItemObject: PathItemObject, ctx: GlobalCo...
FILE: packages/openapi-typescript/src/transform/request-body-object.ts
function transformRequestBodyObject (line 12) | function transformRequestBodyObject(
FILE: packages/openapi-typescript/src/transform/response-object.ts
function transformResponseObject (line 21) | function transformResponseObject(
FILE: packages/openapi-typescript/src/transform/responses-object.ts
function transformResponsesObject (line 11) | function transformResponsesObject(
FILE: packages/openapi-typescript/src/transform/schema-object.ts
function transformSchemaObject (line 34) | function transformSchemaObject(
function transformSchemaObjectWithComposition (line 52) | function transformSchemaObjectWithComposition(
function shouldTransformToTsEnum (line 332) | function shouldTransformToTsEnum(options: TransformNodeOptions, schemaOb...
function transformSchemaObjectCore (line 361) | function transformSchemaObjectCore(schemaObject: SchemaObject, options: ...
function hasKey (line 727) | function hasKey<K extends string>(possibleObject: unknown, key: K): poss...
function applyAdditionalPropertiesToEnum (line 731) | function applyAdditionalPropertiesToEnum(
function wrapWithReadWriteMarker (line 745) | function wrapWithReadWriteMarker(
FILE: packages/openapi-typescript/src/transform/webhooks-object.ts
function transformWebhooksObject (line 7) | function transformWebhooksObject(webhooksObject: WebhooksObject, options...
FILE: packages/openapi-typescript/src/types.ts
type Extensable (line 7) | interface Extensable {
type OpenAPI3 (line 21) | interface OpenAPI3 extends Extensable {
type InfoObject (line 49) | interface InfoObject extends Extensable {
type ContactObject (line 70) | interface ContactObject extends Extensable {
type LicenseObject (line 83) | interface LicenseObject extends Extensable {
type ServerObject (line 96) | interface ServerObject extends Extensable {
type ServerVariableObject (line 109) | interface ServerVariableObject extends Extensable {
type ComponentsObject (line 122) | interface ComponentsObject extends Extensable {
type PathsObject (line 149) | interface PathsObject {
type WebhooksObject (line 157) | interface WebhooksObject {
type PathItemObject (line 165) | interface PathItemObject extends Extensable {
type OperationObject (line 192) | interface OperationObject extends Extensable {
type ExternalDocumentationObject (line 223) | interface ExternalDocumentationObject extends Extensable {
type ParameterObject (line 235) | interface ParameterObject extends Extensable {
type RequestBodyObject (line 274) | interface RequestBodyObject extends Extensable {
type MediaTypeObject (line 286) | interface MediaTypeObject extends Extensable {
type EncodingObject (line 301) | interface EncodingObject extends Extensable {
type ResponsesObject (line 318) | type ResponsesObject = {
type ResponseObject (line 329) | interface ResponseObject extends Extensable {
type CallbackObject (line 344) | type CallbackObject = Record<string, PathItemObject>;
type ExampleObject (line 349) | interface ExampleObject extends Extensable {
type LinkObject (line 364) | interface LinkObject extends Extensable {
type HeaderObject (line 387) | type HeaderObject = Omit<ParameterObject, "name" | "in">;
type TagObject (line 393) | interface TagObject extends Extensable {
type ReferenceObject (line 406) | interface ReferenceObject extends Extensable {
type SchemaObject (line 419) | type SchemaObject = {
type TransformObject (line 460) | interface TransformObject {
type StringSubtype (line 465) | interface StringSubtype {
type NumberSubtype (line 470) | interface NumberSubtype {
type IntegerSubtype (line 477) | interface IntegerSubtype {
type ArraySubtype (line 484) | interface ArraySubtype {
type BooleanSubtype (line 493) | interface BooleanSubtype {
type NullSubtype (line 498) | interface NullSubtype {
type ObjectSubtype (line 502) | interface ObjectSubtype {
type DiscriminatorObject (line 518) | interface DiscriminatorObject {
type XMLObject (line 531) | interface XMLObject extends Extensable {
type SecuritySchemeObject (line 548) | type SecuritySchemeObject = {
type OAuthFlowsObject (line 591) | interface OAuthFlowsObject extends Extensable {
type OAuthFlowObject (line 606) | interface OAuthFlowObject extends Extensable {
type SecurityRequirementObject (line 621) | type SecurityRequirementObject = {
type OpenAPITSOptions (line 625) | interface OpenAPITSOptions {
type GlobalContext (line 692) | interface GlobalContext {
type $defs (line 729) | type $defs = Record<string, SchemaObject>;
type TransformNodeOptions (line 732) | interface TransformNodeOptions {
FILE: packages/openapi-typescript/test/cjs.test.js
constant TIMEOUT (line 5) | const TIMEOUT = 10_000;
FILE: packages/openapi-typescript/test/cli.test.ts
constant TIMEOUT (line 11) | const TIMEOUT = 90_000;
FILE: packages/openapi-typescript/test/node-api.test.ts
constant EXAMPLES_DIR (line 7) | const EXAMPLES_DIR = new URL("../examples/", import.meta.url);
constant DATE (line 9) | const DATE = ts.factory.createTypeReferenceNode(ts.factory.createIdentif...
constant BLOB (line 10) | const BLOB = ts.factory.createTypeReferenceNode("Blob");
method transform (line 378) | transform(schemaObject) {
method transform (line 419) | transform(schemaObject) {
method transform (line 470) | transform(schemaObject) {
method transform (line 523) | transform(schemaObject) {
method postTransform (line 569) | postTransform(_type, options) {
method transformProperty (line 670) | transformProperty(property, schemaObject, _options) {
method transformProperty (line 754) | transformProperty(property, schemaObject, _options) {
FILE: packages/openapi-typescript/test/test-helpers.ts
constant DEFAULT_CTX (line 6) | const DEFAULT_CTX: GlobalContext = {
method resolve (line 31) | resolve($ref) {
type TestCase (line 43) | type TestCase<T = any, O = TransformNodeOptions> = [
FILE: packages/openapi-typescript/test/transform/components-object.test.ts
constant DEFAULT_OPTIONS (line 8) | const DEFAULT_OPTIONS = DEFAULT_CTX;
constant DATE (line 10) | const DATE = ts.factory.createTypeReferenceNode("Date");
method resolve (line 163) | resolve($ref) {
method resolve (line 415) | resolve($ref) {
method transform (line 833) | transform(schemaObject) {
FILE: packages/openapi-typescript/test/transform/header-object.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/operation-object.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = { path: "#/paths/~1get-item", ctx: { ...DEFAULT_...
FILE: packages/openapi-typescript/test/transform/path-item-object.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/paths-object.test.ts
constant DEFAULT_OPTIONS (line 7) | const DEFAULT_OPTIONS = DEFAULT_CTX;
method resolve (line 153) | resolve($ref) {
method resolve (line 235) | resolve($ref) {
FILE: packages/openapi-typescript/test/transform/request-body-object.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/response-object.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/schema-object/array.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/schema-object/boolean.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/schema-object/composition.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
method resolve (line 182) | resolve($ref) {
method resolve (line 238) | resolve($ref) {
method resolve (line 282) | resolve($ref) {
method resolve (line 332) | resolve($ref) {
method resolve (line 371) | resolve($ref) {
method resolve (line 421) | resolve($ref) {
method resolve (line 470) | resolve($ref) {
method resolve (line 552) | resolve($ref) {
FILE: packages/openapi-typescript/test/transform/schema-object/empty.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/schema-object/enum.test.ts
function mockSchema (line 256) | function mockSchema() {
function createTestContext (line 327) | function createTestContext(overrides: Partial<typeof DEFAULT_CTX> = {}) {
FILE: packages/openapi-typescript/test/transform/schema-object/number.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/schema-object/object.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/schema-object/string.test.ts
constant DEFAULT_OPTIONS (line 6) | const DEFAULT_OPTIONS = {
FILE: packages/openapi-typescript/test/transform/webhooks-object.test.ts
constant DEFAULT_OPTIONS (line 7) | const DEFAULT_OPTIONS = { ...DEFAULT_CTX };
method resolve (line 142) | resolve($ref) {
FILE: packages/openapi-typescript/test/yaml.test.ts
constant TIMEOUT (line 5) | const TIMEOUT = 10_000;
Copy disabled (too large)
Download .json
Condensed preview — 2395 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (79,629K chars).
[
{
"path": ".changeset/config.json",
"chars": 319,
"preview": "{\n \"$schema\": \"https://unpkg.com/@changesets/config@3.0.1/schema.json\",\n \"changelog\": [\"@changesets/changelog-github\","
},
{
"path": ".changeset/fix-empty-error-response.md",
"chars": 120,
"preview": "---\n\"openapi-fetch\": patch\n---\n\nfix(openapi-fetch): handle empty error responses when Content-Length header is stripped\n"
},
{
"path": ".changeset/honest-comics-worry.md",
"chars": 222,
"preview": "---\n\"openapi-react-query\": patch\n---\n\nTag generated querykeys with `DataTag`, allowing us to infer the return type (data"
},
{
"path": ".changeset/loose-enum-autocomplete.md",
"chars": 245,
"preview": "---\n\"openapi-typescript\": patch\n---\n\nSupport `additionalProperties: true` on string enums by generating a loose autocomp"
},
{
"path": ".changeset/yellow-meteors-rush.md",
"chars": 78,
"preview": "---\n\"openapi-typescript\": minor\n---\n\nAdd ability to set flags in redocly.yaml\n"
},
{
"path": ".github/CODEOWNERS",
"chars": 26,
"preview": "* @openapi-ts/maintainers\n"
},
{
"path": ".github/FUNDING.yml",
"chars": 717,
"preview": "# These are supported funding model platforms\n\ngithub: # Replace with GitHub username(s)\npatreon: # Replace with a singl"
},
{
"path": ".github/ISSUE_TEMPLATE/01_openapi-typescript-bug.yml",
"chars": 1755,
"preview": "name: \"openapi-typescript: Bug report\"\ndescription: Report a bug or unexpected behavior\nlabels:\n - openapi-ts\n - bug\n "
},
{
"path": ".github/ISSUE_TEMPLATE/01_openapi-typescript-feat.yml",
"chars": 988,
"preview": "name: \"openapi-typescript: Feature request\"\ndescription: Propose new functionality or a breaking change\nlabels:\n - open"
},
{
"path": ".github/ISSUE_TEMPLATE/02_openapi-fetch-bug.yml",
"chars": 1193,
"preview": "name: \"openapi-fetch: Bug report\"\ndescription: Report a bug or unexpected behavior\nlabels:\n - openapi-fetch\n - bug\n -"
},
{
"path": ".github/ISSUE_TEMPLATE/02_openapi-fetch-feat.yml",
"chars": 868,
"preview": "name: \"openapi-fetch: Feature request\"\ndescription: Propose new functionality or a breaking change\nlabels:\n - openapi-f"
},
{
"path": ".github/ISSUE_TEMPLATE/03_openapi-react-query-bug.yml",
"chars": 1234,
"preview": "name: \"openapi-react-query: Bug report\"\ndescription: Report a bug or unexpected behavior\nlabels:\n - openapi-react-query"
},
{
"path": ".github/ISSUE_TEMPLATE/03_openapi-react-query-feat.yml",
"chars": 859,
"preview": "name: \"openapi-react-query: Feature request\"\ndescription: Propose new functionality or a breaking change\nlabels:\n - ope"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 28,
"preview": "blank_issues_enabled: false\n"
},
{
"path": ".github/pull_request_template.md",
"chars": 331,
"preview": "## Changes\n\n_What does this PR change? Link to any related issue(s)._\n\n## How to Review\n\n_How can a reviewer review your"
},
{
"path": ".github/workflows/ci.yml",
"chars": 1647,
"preview": "name: ci\n\non:\n push:\n branches:\n - main\n - \"renovate/**\"\n pull_request:\n\nconcurrency:\n group: ci-${{ git"
},
{
"path": ".github/workflows/issue-stale.yml",
"chars": 905,
"preview": "name: Close inactive issues\non:\n workflow_dispatch:\n schedule:\n - cron: \"30 1 * * *\"\n\njobs:\n close-issues:\n run"
},
{
"path": ".github/workflows/issue.yml",
"chars": 414,
"preview": "name: Issue creation\n\non:\n issues:\n types:\n - opened\n\njobs:\n auto-assign:\n runs-on: ubuntu-latest\n permi"
},
{
"path": ".github/workflows/release.yml",
"chars": 924,
"preview": "name: release\n\non:\n push:\n branches:\n - main\n\npermissions:\n id-token: write # Required for OIDC\n contents: wr"
},
{
"path": ".github/workflows/size-limit.yml",
"chars": 556,
"preview": "name: \"Size Limit\"\n\non:\n pull_request:\n branches: [main]\n types: [opened, synchronize]\n\njobs:\n size-limit:\n p"
},
{
"path": ".gitignore",
"chars": 143,
"preview": ".DS_Store\n.turbo\ndist\nnode_modules\ncoverage\n\npackages/openapi-typescript/test/fixtures/cli-outputs/out\n\n# IntelliJ IDEA "
},
{
"path": ".nvmrc",
"chars": 3,
"preview": "24\n"
},
{
"path": ".vscode/extensions.json",
"chars": 43,
"preview": "{\n \"recommendations\": [\"biomejs.biome\"]\n}\n"
},
{
"path": ".vscode/settings.json",
"chars": 381,
"preview": "{\n \"[javascript]\": {\n \"editor.defaultFormatter\": \"biomejs.biome\"\n },\n \"[json]\": {\n \"editor.defaultFormatter\": \""
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 5231,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participa"
},
{
"path": "CONTRIBUTING.md",
"chars": 1969,
"preview": "# Contributing\n\nContributions are welcome!\n\n## Setup\n\nThis monorepo uses [pnpm workspaces](https://pnpm.io/) that lets p"
},
{
"path": "GOVERNANCE.md",
"chars": 5877,
"preview": "# Governance\n\nThis document outlines the governance model for openapi-typescript.\n\n## Contributor model\n\nThe following e"
},
{
"path": "LICENSE",
"chars": 1068,
"preview": "MIT License\n\nCopyright (c) 2020 Drew Powers\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
},
{
"path": "MAINTAINERS.md",
"chars": 11422,
"preview": "# Maintainers\n\nAdditional criteria on top of the base [CONTRIBUTING.md](CONTRIBUTING.md) guidelines, this is meant to se"
},
{
"path": "README.md",
"chars": 2838,
"preview": "# openapi-typescript\n\nTools for consuming OpenAPI schemas in TypeScript.\n\n## 📦 Packages\n\n<a href=\"./packages/openapi-typ"
},
{
"path": "biome.json",
"chars": 755,
"preview": "{\n \"$schema\": \"https://biomejs.dev/schemas/2.3.14/schema.json\",\n \"root\": true,\n \"files\": {\n \"includes\": [\"**\", \"!*"
},
{
"path": "docs/.gitignore",
"chars": 33,
"preview": ".vitepress/cache\n.vitepress/dist\n"
},
{
"path": "docs/.vitepress/config.ts",
"chars": 361,
"preview": "import { defineConfig } from \"vitepress\";\nimport en from \"./en\";\nimport zh from \"./zh\";\nimport ja from \"./ja\";\nimport sh"
},
{
"path": "docs/.vitepress/en.ts",
"chars": 3350,
"preview": "import { defineConfig } from \"vitepress\";\nimport sharedConfig from \"./shared\";\n\nexport default defineConfig({\n descript"
},
{
"path": "docs/.vitepress/ja.ts",
"chars": 3317,
"preview": "import { defineConfig, type DefaultTheme } from \"vitepress\";\n\nexport default defineConfig({\n lang: \"ja\",\n description:"
},
{
"path": "docs/.vitepress/shared.ts",
"chars": 2000,
"preview": "import type { UserConfig, DefaultTheme } from \"vitepress\";\nimport { zhSearch } from \"./zh\";\nimport { jaSearch } from \"./"
},
{
"path": "docs/.vitepress/theme/Contributors.vue",
"chars": 846,
"preview": "<script setup lang=\"ts\">\ndefineProps<{\n contributors: {\n username: string;\n avatar: string;\n links: { icon: st"
},
{
"path": "docs/.vitepress/theme/CustomLayout.vue",
"chars": 5544,
"preview": "<script setup>\nimport DefaultTheme from \"vitepress/theme\";\n\nimport sponsors from \"../../data/sponsors.json\";\n\nconst { La"
},
{
"path": "docs/.vitepress/theme/SponsorList.vue",
"chars": 1074,
"preview": "<script setup>\nimport sponsors from \"../../data/sponsors.json\";\n</script>\n\n<template>\n <ul class=\"sponsors-list\">\n <"
},
{
"path": "docs/.vitepress/theme/index.ts",
"chars": 422,
"preview": "// https://vitepress.dev/guide/custom-theme\nimport type { Theme } from \"vitepress\";\nimport DefaultTheme from \"vitepress/"
},
{
"path": "docs/.vitepress/theme/style.css",
"chars": 6359,
"preview": "/**\n * Customize default theme styling by overriding CSS variables:\n * https://github.com/vuejs/vitepress/blob/main/src/"
},
{
"path": "docs/.vitepress/zh.ts",
"chars": 2723,
"preview": "import { defineConfig, type DefaultTheme } from \"vitepress\";\n\nexport default defineConfig({\n lang: \"zh-Hans\",\n descrip"
},
{
"path": "docs/6.x/about.md",
"chars": 4077,
"preview": "---\ntitle: About\ndescription: Additional info about this project\n---\n\n<script setup>\n import { VPTeamMembers } from 'vi"
},
{
"path": "docs/6.x/advanced.md",
"chars": 16280,
"preview": "---\ntitle: Advanced\ndescription: Advanced usage as well as tips, tricks, and best practices\n---\n\n# Advanced usage\n\nAdvan"
},
{
"path": "docs/6.x/cli.md",
"chars": 5830,
"preview": "---\ntitle: openapi-typescript CLI\ndescription: The quickest, easiest way to generate types.\n---\n\n# CLI\n\nThe CLI is the m"
},
{
"path": "docs/6.x/introduction.md",
"chars": 3013,
"preview": "---\ntitle: openapi-typescript\ndescription: Quickstart\n---\n\n<img src=\"/assets/openapi-ts.svg\" alt=\"openapi-typescript\" wi"
},
{
"path": "docs/6.x/node.md",
"chars": 5582,
"preview": "---\ntitle: openapi-typescript Node.js API\ndescription: Programmatic usage and unlimited flexibility.\n---\n\n# Node.js API\n"
},
{
"path": "docs/CONTRIBUTING.md",
"chars": 1275,
"preview": "# Contributing to openapi-typescript docs\n\n## Setup\n\nSee the [README](./README.md) for basic setup.\n\n## Corrections / sm"
},
{
"path": "docs/README.md",
"chars": 709,
"preview": "# openapi-typescript Docs\n\nDocs site powered by [Vitepress](https://vitepress.dev/), an ergonomic docs site template pow"
},
{
"path": "docs/_redirects",
"chars": 139,
"preview": "/v6/about /6.x/about 301\n/v6/advanced /6.x/advanced 301\n/v6/cli /6.x/cli 301\n/v6/introduction /6.x/introduction 301\n/v6/"
},
{
"path": "docs/about.md",
"chars": 3290,
"preview": "---\ntitle: About openapi-typescript\ndescription: Additional info about this project\n---\n\n<script setup>\n import { VPTea"
},
{
"path": "docs/advanced.md",
"chars": 11683,
"preview": "---\ntitle: Advanced\ndescription: Advanced usage as well as tips, tricks, and best practices\n---\n\n# Advanced usage\n\nAdvan"
},
{
"path": "docs/cli.md",
"chars": 13081,
"preview": "---\ntitle: openapi-typescript CLI\ndescription: The quickest, easiest way to generate types.\n---\n\n# CLI\n\nThe CLI is the m"
},
{
"path": "docs/data/contributors.json",
"chars": 39321,
"preview": "{\"maintainers\":[{\"username\":\"drwpow\",\"name\":\"Drew Powers\",\"avatar\":\"https://avatars.githubusercontent.com/u/1369770?v=4\""
},
{
"path": "docs/data/sponsors.json",
"chars": 356,
"preview": "{\n \"gold\": [\n {\n \"name\": \"Speakeasy\",\n \"logo\": \"/assets/speakeasy.png\",\n \"url\": \"https://www.speakeas"
},
{
"path": "docs/examples.md",
"chars": 18733,
"preview": "---\ntitle: Examples\ndescription: Using openapi-typescript in real-world applications\n---\n\n# Examples\n\nThe types generate"
},
{
"path": "docs/index.md",
"chars": 31928,
"preview": "---\n# https://vitepress.dev/reference/default-theme-home-page\nlayout: home\n\nhero:\n name: \"OpenAPI TypeScript\"\n tagline"
},
{
"path": "docs/introduction.md",
"chars": 3463,
"preview": "---\ntitle: openapi-typescript\ndescription: Quickstart\n---\n\n<img src=\"/assets/openapi-ts.svg\" alt=\"openapi-typescript\" wi"
},
{
"path": "docs/ja/about.md",
"chars": 2586,
"preview": "---\ntitle: openapi-typescriptについて\ndescription: このプロジェクトに関する追加情報\n---\n\n<script setup>\n import { VPTeamMembers } from 'vit"
},
{
"path": "docs/ja/advanced.md",
"chars": 9748,
"preview": "---\ntitle: 高度な使い方\ndescription: 高度な使い方、ヒント、テクニック、ベストプラクティス\n---\n\n# 高度な使い方\n\n高度な使い方やさまざまなトピックについて説明します。これは _多くの人のための_ 緩やかな提案"
},
{
"path": "docs/ja/cli.md",
"chars": 7336,
"preview": "---\ntitle: openapi-typescript CLI\ndescription: 最も簡単かつ迅速に型を生成する方法\n---\n\n# CLI\n\nCLI は、openapi-typescript を使用する最も一般的な方法です。CL"
},
{
"path": "docs/ja/examples.md",
"chars": 15461,
"preview": "---\ntitle: 使用例\ndescription: openapi-typescriptを実際のアプリケーションで使用する例\n---\n\n# 使用例\n\nopenapi-typescript で生成された型は汎用性が高く、さまざまな方法で利"
},
{
"path": "docs/ja/index.md",
"chars": 31747,
"preview": "---\n# https://vitepress.dev/reference/default-theme-home-page\nlayout: home\n\nhero:\n name: \"OpenAPI TypeScript\"\n tagline"
},
{
"path": "docs/ja/introduction.md",
"chars": 2853,
"preview": "---\ntitle: openapi-typescript\ndescription: クイックスタート\n---\n\n<img src=\"/assets/openapi-ts.svg\" alt=\"openapi-typescript\" widt"
},
{
"path": "docs/ja/migration-guide.md",
"chars": 2284,
"preview": "---\ntitle: マイグレーションガイド\ndescription: openapi-typescript のバージョン間の移行\n---\n\n# 7.x への移行\n\n7.x リリースには、注意すべきいくつかの軽微な破壊的変更があります:\n\n"
},
{
"path": "docs/ja/node.md",
"chars": 7613,
"preview": "---\ntitle: openapi-typescript Node.js API\ndescription: プログラムでの使用と無限の柔軟性。\n---\n\n# Node.js API\n\nNode APIは、動的に生成されたスキーマを扱う場合"
},
{
"path": "docs/ja/openapi-fetch/api.md",
"chars": 14427,
"preview": "---\ntitle: API\ndescription: openapi-fetch API\n---\n\n# API\n\n## createClient\n\n**createClient** は、すべての後続のfetch呼び出しに対するデフォルト設"
},
{
"path": "docs/ja/openapi-fetch/examples.md",
"chars": 1575,
"preview": "---\ntitle: openapi-fetch 使用例\n---\n\n# 使用例\n\nopenapi-fetchを他のフレームワークやライブラリと組み合わせて使用するコード例\n\n## React + React Query\n\nSee [open"
},
{
"path": "docs/ja/openapi-fetch/index.md",
"chars": 7036,
"preview": "---\ntitle: openapi-fetch\n---\n\n<img src=\"/assets/openapi-fetch.svg\" alt=\"openapi-fetch\" width=\"216\" height=\"40\" />\n\nopena"
},
{
"path": "docs/ja/openapi-fetch/middleware-auth.md",
"chars": 4073,
"preview": "---\ntitle: ミドルウェアと認証\n---\n\n# ミドルウェアと認証\n\nミドルウェアは、すべてのフェッチに対してリクエスト、レスポンス、またはその両方を修正するために使用できます。最も一般的なユースケースの1つは認証ですが、ロギングや"
},
{
"path": "docs/ja/openapi-fetch/testing.md",
"chars": 2110,
"preview": "---\ntitle: テスト\n---\n\n# テスト\n\nopenapi-fetchのテストは、[Vitest](https://vitest.dev/) や Jest のような TypeScript をサポートするテストランナーで行うのが最適"
},
{
"path": "docs/ja/openapi-react-query/index.md",
"chars": 2623,
"preview": "---\ntitle: openapi-react-query\n---\n\n# Introduction\n\nopenapi-react-queryは、[@tanstack/react-query](https://tanstack.com/qu"
},
{
"path": "docs/ja/openapi-react-query/use-mutation.md",
"chars": 1842,
"preview": "---\ntitle: useMutation\n---\n\n# {{ $frontmatter.title }}\n\n`useMutation` メソッドを使用すると、react-query 本来の [useMutation](https://t"
},
{
"path": "docs/ja/openapi-react-query/use-query.md",
"chars": 2145,
"preview": "---\ntitle: useQuery\n---\n\n# {{ $frontmatter.title }}\n\n`useQuery` メソッドを使用すると、react-query 本来の [useQuery](https://tanstack.c"
},
{
"path": "docs/ja/openapi-react-query/use-suspense-query.md",
"chars": 2338,
"preview": "---\ntitle: useSuspenseQuery\n---\n\n# {{ $frontmatter.title }}\n\n`useSuspenseQuery` メソッドを使用すると、react-query 本来の [useSuspenseQ"
},
{
"path": "docs/migration-guide.md",
"chars": 3039,
"preview": "---\ntitle: Migration Guide\ndescription: Migrating between openapi-typescript versions\n---\n\n# Migrating to 7.x\n\nThe 7.x r"
},
{
"path": "docs/node.md",
"chars": 12878,
"preview": "---\ntitle: openapi-typescript Node.js API\ndescription: Programmatic usage and unlimited flexibility.\n---\n\n# Node.js API\n"
},
{
"path": "docs/openapi-fetch/api.md",
"chars": 18146,
"preview": "---\ntitle: API\ndescription: openapi-fetch API\n---\n\n# API\n\n## createClient\n\n**createClient** accepts the following option"
},
{
"path": "docs/openapi-fetch/examples.md",
"chars": 2521,
"preview": "---\ntitle: openapi-fetch Examples\n---\n\n# Examples\n\nExample code of using openapi-fetch with other frameworks and librari"
},
{
"path": "docs/openapi-fetch/index.md",
"chars": 8472,
"preview": "---\ntitle: openapi-fetch\n---\n\n<img src=\"/assets/openapi-fetch.svg\" alt=\"openapi-fetch\" width=\"216\" height=\"40\" />\n\nopena"
},
{
"path": "docs/openapi-fetch/middleware-auth.md",
"chars": 7590,
"preview": "---\ntitle: Middleware & Auth\n---\n\n# Middleware & Auth\n\nMiddleware allows you to modify either the request, response, or "
},
{
"path": "docs/openapi-fetch/testing.md",
"chars": 2276,
"preview": "---\ntitle: Testing\n---\n\n# Testing\n\nTesting openapi-fetch is best done in a test runner that supports TypeScript, such as"
},
{
"path": "docs/openapi-react-query/index.md",
"chars": 2948,
"preview": "---\ntitle: openapi-react-query\n---\n# Introduction\n\nopenapi-react-query is a type-safe tiny wrapper (1 kb) around [@tanst"
},
{
"path": "docs/openapi-react-query/query-options.md",
"chars": 3916,
"preview": "---\ntitle: queryOptions\n---\n# {{ $frontmatter.title }}\n\nThe `queryOptions` method allows you to construct type-safe [Que"
},
{
"path": "docs/openapi-react-query/use-infinite-query.md",
"chars": 3301,
"preview": "---\ntitle: useInfiniteQuery\n---\n\n# {{ $frontmatter.title }}\n\nThe `useInfiniteQuery` method allows you to use the origina"
},
{
"path": "docs/openapi-react-query/use-mutation.md",
"chars": 2067,
"preview": "---\ntitle: useMutation\n---\n# {{ $frontmatter.title }}\n\nThe `useMutation` method allows you to use the original [useMutat"
},
{
"path": "docs/openapi-react-query/use-query.md",
"chars": 2485,
"preview": "---\ntitle: useQuery\n---\n# {{ $frontmatter.title }}\n\nThe `useQuery` method allows you to use the original [useQuery](http"
},
{
"path": "docs/openapi-react-query/use-suspense-query.md",
"chars": 2664,
"preview": "---\ntitle: useSuspenseQuery\n---\n# {{ $frontmatter.title }}\n\nThe `useSuspenseQuery` method allows you to use the original"
},
{
"path": "docs/package.json",
"chars": 382,
"preview": "{\n \"name\": \"openapi-typescript-docs\",\n \"version\": \"0.0.0\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \""
},
{
"path": "docs/public/googlec446be7f016b2162.html",
"chars": 53,
"preview": "google-site-verification: googlec446be7f016b2162.html"
},
{
"path": "docs/public/make-scrollable-code-focusable.js",
"chars": 116,
"preview": "Array.from(document.getElementsByTagName('pre')).forEach((element) => {\n\telement.setAttribute('tabindex', '0');\n});\n"
},
{
"path": "docs/public/robots.txt",
"chars": 23,
"preview": "User-agent: *\nAllow: /\n"
},
{
"path": "docs/scripts/update-contributors.js",
"chars": 8504,
"preview": "import fs from \"node:fs/promises\";\nimport timers from \"node:timers/promises\";\nimport { URL } from \"node:url\";\n\nconst MAI"
},
{
"path": "docs/tsconfig.json",
"chars": 253,
"preview": "{\n \"compilerOptions\": {\n \"baseUrl\": \".\",\n \"esModuleInterop\": true,\n \"jsx\": \"preserve\",\n \"module\": \"ESNext\","
},
{
"path": "docs/zh/about.md",
"chars": 2191,
"preview": "---\ntitle: 关于 openapi-typescript\ndescription: Additional info about this project\n---\n\n<script setup>\n import { VPTeamMe"
},
{
"path": "docs/zh/advanced.md",
"chars": 8042,
"preview": "---\ntitle: 高级用法\ndescription: Advanced usage as well as tips, tricks, and best practices\n---\n\n# 高级用法\n\n高级用法和各种主题。将此解释为对**大"
},
{
"path": "docs/zh/cli.md",
"chars": 6466,
"preview": "---\ntitle: openapi-typescript CLI\ndescription: The quickest, easiest way to generate types.\n---\n\n# CLI\n\nCLI 是使用 openapi-"
},
{
"path": "docs/zh/examples.md",
"chars": 6473,
"preview": "---\ntitle: 示例\ndescription: Using openapi-typescript in real-world applications\n---\n\n# 示例\n\nopenapi-typescript生成的类型是通用的,可以"
},
{
"path": "docs/zh/index.md",
"chars": 31678,
"preview": "---\n# https://vitepress.dev/reference/default-theme-home-page\nlayout: home\n\nhero:\n name: \"OpenAPI TypeScript\"\n tagline"
},
{
"path": "docs/zh/introduction.md",
"chars": 2359,
"preview": "---\ntitle: openapi-typescript\ndescription: Quickstart\n---\n\n<img src=\"/assets/openapi-ts.svg\" alt=\"openapi-typescript\" wi"
},
{
"path": "docs/zh/node.md",
"chars": 6835,
"preview": "---\ntitle: openapi-typescript Node.js API\ndescription: Programmatic usage and unlimited flexibility.\n---\n\n# Node.js API\n"
},
{
"path": "docs/zh/openapi-fetch/api.md",
"chars": 12012,
"preview": "---\ntitle: API\ndescription: openapi-fetch API\n---\n\n# API\n\n## createClient\n\n**createClient** 接受以下选项,这些选项设置所有后续 fetch 调用的默"
},
{
"path": "docs/zh/openapi-fetch/examples.md",
"chars": 1409,
"preview": "---\ntitle: openapi-fetch 示例\n---\n\n# 示例\n\n使用 openapi-fetch 与其他框架和库的示例代码。\n\n## React + React Query\n\nSee [openapi-react-query]"
},
{
"path": "docs/zh/openapi-fetch/index.md",
"chars": 5681,
"preview": "---\ntitle: openapi-fetch\n---\n\n<img src=\"/assets/openapi-fetch.svg\" alt=\"openapi-fetch\" width=\"216\" height=\"40\" />\n\n`open"
},
{
"path": "docs/zh/openapi-fetch/middleware-auth.md",
"chars": 3501,
"preview": "---\ntitle: 中间件 & 身份认证\n---\n\n# 中间件 & 身份认证\n\n中间件允许您修改所有获取的请求、响应或两者之间的内容。其中一个最常见的用例是身份验证,但也可以用于日志记录/性能监控、抛出错误或处理特定的边缘情况。\n\n## "
},
{
"path": "docs/zh/openapi-fetch/testing.md",
"chars": 2148,
"preview": "---\ntitle: 测试\n---\n\n# 测试\n\n最好在支持 TypeScript 的测试运行器中进行 openapi-fetch 的测试,比如 [Vitest](https://vitest.dev/) 或 Jest。\n\n## 模拟请求\n"
},
{
"path": "package.json",
"chars": 1157,
"preview": "{\n \"name\": \"openapi-typescript-monorepo\",\n \"private\": true,\n \"version\": \"0.0.0\",\n \"type\": \"module\",\n \"author\": {\n "
},
{
"path": "packages/openapi-fetch/.npmignore",
"chars": 109,
"preview": ".turbo\n*.config.*\nexamples\ntest\ntest-results\ntsconfig*.json\nplaywright.config.ts\nvitest.config.ts\nbiome.json\n"
},
{
"path": "packages/openapi-fetch/CHANGELOG.md",
"chars": 31620,
"preview": "# openapi-fetch\n\n## 0.17.0\n\n### Minor Changes\n\n- [#2549](https://github.com/openapi-ts/openapi-typescript/pull/2549) [`a"
},
{
"path": "packages/openapi-fetch/CONTRIBUTING.md",
"chars": 6197,
"preview": "# Contributing\n\nThanks for being willing to contribute! 🙏\n\n**Working on your first Pull Request (PR)?** You can learn ho"
},
{
"path": "packages/openapi-fetch/LICENSE",
"chars": 1068,
"preview": "MIT License\n\nCopyright (c) 2023 Drew Powers\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
},
{
"path": "packages/openapi-fetch/README.md",
"chars": 5079,
"preview": "<img src=\"../../docs/public/assets/openapi-fetch.svg\" alt=\"openapi-fetch\" width=\"216\" height=\"40\" />\n\nopenapi-fetch is a"
},
{
"path": "packages/openapi-fetch/biome.json",
"chars": 396,
"preview": "{\n \"root\": false,\n \"$schema\": \"https://biomejs.dev/schemas/2.3.14/schema.json\",\n \"extends\": \"//\",\n \"files\": {\n \"i"
},
{
"path": "packages/openapi-fetch/build.config.ts",
"chars": 254,
"preview": "import { defineBuildConfig } from \"unbuild\";\n\nexport default defineBuildConfig({\n entries: [\"./src/index.js\"],\n declar"
},
{
"path": "packages/openapi-fetch/examples/nextjs/.gitignore",
"chars": 368,
"preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pn"
},
{
"path": "packages/openapi-fetch/examples/nextjs/README.md",
"chars": 390,
"preview": "# openapi-fetch + Next.js\n\nExample of using openapi-fetch in [Next.js](https://nextjs.org) using server-rendered data.\n\n"
},
{
"path": "packages/openapi-fetch/examples/nextjs/app/layout.tsx",
"chars": 311,
"preview": "import React from \"react\";\nimport type { Metadata } from \"next\";\n\nexport const metadata: Metadata = {\n title: \"openapi-"
},
{
"path": "packages/openapi-fetch/examples/nextjs/app/page.tsx",
"chars": 497,
"preview": "import React from \"react\";\nimport client from \"../lib/api\";\n\nasync function getFact() {\n return await client.GET(\"/fact"
},
{
"path": "packages/openapi-fetch/examples/nextjs/lib/api/index.ts",
"chars": 176,
"preview": "import createClient from \"openapi-fetch\";\nimport type { paths } from \"./v1\";\n\nconst client = createClient<paths>({ baseU"
},
{
"path": "packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts",
"chars": 6318,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/examples/nextjs/lib/api/v1.json",
"chars": 5797,
"preview": "{\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"title\": \"Cat Facts API\",\n \"version\": \"1.0\"\n },\n \"paths\": {\n \"/breeds\": "
},
{
"path": "packages/openapi-fetch/examples/nextjs/next.config.js",
"chars": 60,
"preview": "/** @type {import('next').NextConfig} */\nexport default {};\n"
},
{
"path": "packages/openapi-fetch/examples/nextjs/package.json",
"chars": 428,
"preview": "{\n \"name\": \"@example/openapi-fetch-nextjs\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"next dev\""
},
{
"path": "packages/openapi-fetch/examples/nextjs/tsconfig.json",
"chars": 604,
"preview": "{\n \"extends\": \"../../tsconfig.json\",\n \"compilerOptions\": {\n \"allowJs\": true,\n \"baseUrl\": \".\",\n \"esModuleInter"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/.gitignore",
"chars": 132,
"preview": ".DS_Store\nnode_modules\n/build\n/.svelte-kit\n/package\n.env\n.env.*\n!.env.example\nvite.config.js.timestamp-*\nvite.config.ts."
},
{
"path": "packages/openapi-fetch/examples/sveltekit/README.md",
"chars": 409,
"preview": "# openapi-fetch + Svelte/ SvelteKit\n\nExample of using openapi-fetch in [Svelte](https://svelte.dev/docs/svelte/overview)"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/package.json",
"chars": 625,
"preview": "{\n \"name\": \"@example/openapi-fetch-sveltekit\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"vite d"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/app.d.ts",
"chars": 274,
"preview": "// See https://svelte.dev/docs/kit/types#app.d.ts\n// for information about these interfaces\ndeclare global {\n\tnamespace "
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/app.html",
"chars": 281,
"preview": "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-w"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/hooks.server.ts",
"chars": 373,
"preview": "import type { Handle } from \"@sveltejs/kit\";\n\nexport const handle: Handle = async ({ event, resolve }) => {\n return res"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/lib/api/index.ts",
"chars": 176,
"preview": "import createClient from \"openapi-fetch\";\nimport type { paths } from \"./v1\";\n\nconst client = createClient<paths>({ baseU"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts",
"chars": 6318,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.json",
"chars": 5797,
"preview": "{\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"title\": \"Cat Facts API\",\n \"version\": \"1.0\"\n },\n \"paths\": {\n \"/breeds\": "
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/routes/+page.svelte",
"chars": 749,
"preview": "<script lang=\"ts\">\n import { onMount } from \"svelte\";\n\n import client from \"$lib/api/index.js\";\n\n let fact: Awaited<R"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/routes/page-data/+page.svelte",
"chars": 493,
"preview": "<script lang=\"ts\">\n import type { PageProps } from \"./$types\";\n\n let { data }: PageProps = $props();\n</script>\n\n<div>\n"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/src/routes/page-data/+page.ts",
"chars": 531,
"preview": "import type { PageLoad } from \"./$types\";\n\nimport client from \"$lib/api/index.js\";\n\n// Note: this uses Svelte’s custom f"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/svelte.config.js",
"chars": 677,
"preview": "import adapter from \"@sveltejs/adapter-auto\";\nimport { vitePreprocess } from \"@sveltejs/vite-plugin-svelte\";\n\n/** @type "
},
{
"path": "packages/openapi-fetch/examples/sveltekit/tsconfig.json",
"chars": 675,
"preview": "{\n \"extends\": \"./.svelte-kit/tsconfig.json\",\n \"compilerOptions\": {\n \"allowJs\": true,\n \"checkJs\": true,\n \"esMo"
},
{
"path": "packages/openapi-fetch/examples/sveltekit/vite.config.ts",
"chars": 146,
"preview": "import { sveltekit } from \"@sveltejs/kit/vite\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n pl"
},
{
"path": "packages/openapi-fetch/examples/vue-3/.gitignore",
"chars": 317,
"preview": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\n.DS_Stor"
},
{
"path": "packages/openapi-fetch/examples/vue-3/README.md",
"chars": 178,
"preview": "# openapi-fetch + Vue\n\nExample of using openapi-fetch with [Vue](https://vuejs.org/).\n\n## Setup\n\n```sh\npnpm i\npnpm run d"
},
{
"path": "packages/openapi-fetch/examples/vue-3/env.d.ts",
"chars": 38,
"preview": "/// <reference types=\"vite/client\" />\n"
},
{
"path": "packages/openapi-fetch/examples/vue-3/index.html",
"chars": 331,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\">\n <link rel=\"icon\" href=\"/favicon.ico\">\n <meta"
},
{
"path": "packages/openapi-fetch/examples/vue-3/package.json",
"chars": 676,
"preview": "{\n \"name\": \"@example/openapi-fetch-vue-3\",\n \"version\": \"0.0.1\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n"
},
{
"path": "packages/openapi-fetch/examples/vue-3/src/App.vue",
"chars": 807,
"preview": "<script setup lang=\"ts\">\nimport { useCatFactQuery } from \"./composables/catfact-query\";\n\nconst { error, isFetching, isRe"
},
{
"path": "packages/openapi-fetch/examples/vue-3/src/assets/base.css",
"chars": 2067,
"preview": "/* color palette from <https://github.com/vuejs/theme> */\n:root {\n --vt-c-white: #ffffff;\n --vt-c-white-soft: #f8f8f8;"
},
{
"path": "packages/openapi-fetch/examples/vue-3/src/assets/main.css",
"chars": 286,
"preview": "@import './base.css';\n\n#app {\n max-width: 1280px;\n margin: 0 auto;\n padding: 2rem;\n font-weight: normal;\n}\n\n@media ("
},
{
"path": "packages/openapi-fetch/examples/vue-3/src/composables/catfact-query.ts",
"chars": 1120,
"preview": "import client from \"#/lib\";\nimport { ref } from \"vue\";\nimport type { ParamsOption, RequestBodyOption } from \"openapi-fet"
},
{
"path": "packages/openapi-fetch/examples/vue-3/src/generated/catfact.d.ts",
"chars": 6318,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/examples/vue-3/src/lib/index.ts",
"chars": 192,
"preview": "import type { paths } from \"#/generated/catfact\";\nimport createClient from \"openapi-fetch\";\n\nconst client = createClient"
},
{
"path": "packages/openapi-fetch/examples/vue-3/src/main.ts",
"chars": 118,
"preview": "import './assets/main.css'\n\nimport { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\n"
},
{
"path": "packages/openapi-fetch/examples/vue-3/src/schema/catfact.json",
"chars": 5797,
"preview": "{\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"title\": \"Cat Facts API\",\n \"version\": \"1.0\"\n },\n \"paths\": {\n \"/breeds\": "
},
{
"path": "packages/openapi-fetch/examples/vue-3/tsconfig.app.json",
"chars": 332,
"preview": "{\n \"extends\": \"@vue/tsconfig/tsconfig.dom.json\",\n \"include\": [\"env.d.ts\", \"src/**/*\", \"src/**/*.vue\"],\n \"exclude\": [\""
},
{
"path": "packages/openapi-fetch/examples/vue-3/tsconfig.json",
"chars": 139,
"preview": "{\n \"files\": [],\n \"references\": [\n {\n \"path\": \"./tsconfig.node.json\"\n },\n {\n \"path\": \"./tsconfig.app"
},
{
"path": "packages/openapi-fetch/examples/vue-3/tsconfig.node.json",
"chars": 413,
"preview": "{\n \"extends\": \"@tsconfig/node20/tsconfig.json\",\n \"include\": [\n \"vite.config.*\",\n \"vitest.config.*\",\n \"cypress"
},
{
"path": "packages/openapi-fetch/examples/vue-3/vite.config.ts",
"chars": 309,
"preview": "import { fileURLToPath, URL } from 'node:url'\n\nimport { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\n"
},
{
"path": "packages/openapi-fetch/package.json",
"chars": 2218,
"preview": "{\n \"name\": \"openapi-fetch\",\n \"description\": \"Fast, type-safe fetch client for your OpenAPI schema. Only 6 kb (min). Wo"
},
{
"path": "packages/openapi-fetch/playwright.config.ts",
"chars": 612,
"preview": "import { defineConfig, devices } from \"@playwright/test\";\n\nconst PORT = Number.parseInt(process.env.PORT || 4173 || \"\", "
},
{
"path": "packages/openapi-fetch/src/index.d.ts",
"chars": 12151,
"preview": "import type {\n ErrorResponse,\n FilterKeys,\n HttpMethod,\n IsOperationRequestBodyOptional,\n MediaType,\n OperationReq"
},
{
"path": "packages/openapi-fetch/src/index.js",
"chars": 20862,
"preview": "// settings & const\nconst PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\nconst supportsRequestInitExt = () => {\n return (\n typeof p"
},
{
"path": "packages/openapi-fetch/test/bench/index.bench.js",
"chars": 4169,
"preview": "import axios from \"axios\";\nimport { createApiFetchClient } from \"feature-fetch\";\nimport { Fetcher } from \"openapi-typesc"
},
{
"path": "packages/openapi-fetch/test/common/create-client-e2e.test.js",
"chars": 2531,
"preview": "import * as crypto from \"node:crypto\";\nimport * as https from \"node:https\";\nimport express from \"express\";\nimport * as f"
},
{
"path": "packages/openapi-fetch/test/common/create-client.test.ts",
"chars": 6139,
"preview": "import { describe, expect, test } from \"vitest\";\nimport type { FetchOptions, HeadersOptions } from \"../../src/index.js\";"
},
{
"path": "packages/openapi-fetch/test/common/params.test.ts",
"chars": 20044,
"preview": "import { assertType, describe, expect, test } from \"vitest\";\nimport type { QuerySerializerOptions } from \"../../src/inde"
},
{
"path": "packages/openapi-fetch/test/common/request.test.ts",
"chars": 11957,
"preview": "import { describe, expect, test, vi } from \"vitest\";\nimport createClient, { type BodySerializer, type FetchOptions } fro"
},
{
"path": "packages/openapi-fetch/test/common/response.test.ts",
"chars": 8315,
"preview": "import { assertType, describe, expect, expectTypeOf, test } from \"vitest\";\nimport type { MethodResponse } from \"../../sr"
},
{
"path": "packages/openapi-fetch/test/common/schemas/common.d.ts",
"chars": 23313,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/common/schemas/common.yaml",
"chars": 10893,
"preview": "openapi: 3.1.0\ninfo:\n title: openapi-fetch\n version: \"1.0\"\npaths:\n /resources:\n get:\n responses:\n 200:"
},
{
"path": "packages/openapi-fetch/test/e2e/app/app.ts",
"chars": 1171,
"preview": "import createClient from \"../../../src/index.js\";\nimport type { paths } from \"./schemas/e2e.js\";\n\nconst client = createC"
},
{
"path": "packages/openapi-fetch/test/e2e/app/index.html",
"chars": 202,
"preview": "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <title>OpenAPI Fetch E2E Tests</title>\n </he"
},
{
"path": "packages/openapi-fetch/test/e2e/app/schemas/e2e.d.ts",
"chars": 4813,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/e2e/app/schemas/e2e.yaml",
"chars": 2327,
"preview": "openapi: 3.1.0\nservers:\n - url: /api/v1\npaths:\n /get:\n get:\n responses:\n 200:\n description: OK"
},
{
"path": "packages/openapi-fetch/test/e2e/app/vite.config.ts",
"chars": 188,
"preview": "import { defineConfig } from \"vite\";\n\nexport default defineConfig({\n build: {\n outDir: \"./dist/\",\n },\n preview: {\n"
},
{
"path": "packages/openapi-fetch/test/e2e/index.e2e.ts",
"chars": 1139,
"preview": "import { expect, type Page, test } from \"@playwright/test\";\n\n// note: these tests load Chrome, Firefox, and Safari in Pl"
},
{
"path": "packages/openapi-fetch/test/examples/examples.test.ts",
"chars": 1231,
"preview": "import { assertType, test } from \"vitest\";\nimport { createObservedClient } from \"../helpers.js\";\nimport type { paths as "
},
{
"path": "packages/openapi-fetch/test/examples/schemas/github.d.ts",
"chars": 5519250,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/examples/schemas/stripe.d.ts",
"chars": 3845770,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/helpers.ts",
"chars": 1692,
"preview": "import type { MediaType } from \"openapi-typescript-helpers\";\nimport createClient from \"../src/index.js\";\n\n/**\n * Create "
},
{
"path": "packages/openapi-fetch/test/http-methods/delete.test.ts",
"chars": 3193,
"preview": "import { assertType, describe, expect, test } from \"vitest\";\nimport { createObservedClient } from \"../helpers.js\";\nimpor"
},
{
"path": "packages/openapi-fetch/test/http-methods/get.test.ts",
"chars": 2862,
"preview": "import { describe, expect, test } from \"vitest\";\nimport { createObservedClient } from \"../helpers.js\";\nimport type { com"
},
{
"path": "packages/openapi-fetch/test/http-methods/head.test.ts",
"chars": 1073,
"preview": "import { describe } from \"node:test\";\nimport { expect, test } from \"vitest\";\nimport { createObservedClient } from \"../he"
},
{
"path": "packages/openapi-fetch/test/http-methods/options.test.ts",
"chars": 559,
"preview": "import { describe, expect, test } from \"vitest\";\nimport { createObservedClient } from \"../helpers.js\";\nimport type { pat"
},
{
"path": "packages/openapi-fetch/test/http-methods/patch.test.ts",
"chars": 551,
"preview": "import { describe, expect, test } from \"vitest\";\nimport { createObservedClient } from \"../helpers.js\";\nimport type { pat"
},
{
"path": "packages/openapi-fetch/test/http-methods/post.test.ts",
"chars": 5181,
"preview": "import { describe, expect, test } from \"vitest\";\nimport { createObservedClient } from \"../helpers.js\";\nimport type { pat"
},
{
"path": "packages/openapi-fetch/test/http-methods/put.test.ts",
"chars": 501,
"preview": "import { describe, expect, test } from \"vitest\";\nimport { createObservedClient } from \"../helpers.js\";\nimport type { pat"
},
{
"path": "packages/openapi-fetch/test/http-methods/request.test.ts",
"chars": 969,
"preview": "import { describe, expect, test } from \"vitest\";\nimport { createObservedClient } from \"../helpers.js\";\nimport type { pat"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/delete.d.ts",
"chars": 1668,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/delete.yaml",
"chars": 619,
"preview": "openapi: 3.1.0\ninfo:\n title: openapi-fetch\n version: \"1.0\"\npaths:\n /tags/{name}:\n delete:\n parameters:\n "
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/get.d.ts",
"chars": 3131,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/get.yaml",
"chars": 1362,
"preview": "openapi: 3.1.0\ninfo:\n title: openapi-fetch\n version: \"1.0\"\npaths:\n /posts:\n get:\n responses:\n 200:\n "
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/head.d.ts",
"chars": 1891,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/head.yaml",
"chars": 869,
"preview": "openapi: 3.1.0\ninfo:\n title: openapi-fetch\n version: \"1.0\"\npaths:\n /resources/{id}:\n parameters:\n - name: id\n"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/options.d.ts",
"chars": 1603,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/options.yaml",
"chars": 419,
"preview": "openapi: 3.1.0\ninfo:\n title: openapi-fetch\n version: \"1.0\"\npaths:\n /resources:\n options:\n responses:\n "
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/patch.d.ts",
"chars": 2080,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/patch.yaml",
"chars": 1139,
"preview": "openapi: 3.1.0\ninfo:\n title: openapi-fetch\n version: \"1.0\"\npaths:\n /resources/{id}:\n parameters:\n - name: id\n"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/post.d.ts",
"chars": 5024,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/post.yaml",
"chars": 3093,
"preview": "openapi: 3.1.0\ninfo:\n title: openapi-fetch\n version: \"1.0\"\npaths:\n /posts:\n post:\n requestBody:\n $ref:"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/put.d.ts",
"chars": 1652,
"preview": "/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interf"
},
{
"path": "packages/openapi-fetch/test/http-methods/schemas/put.yaml",
"chars": 891,
"preview": "openapi: 3.1.0\ninfo:\n title: openapi-fetch\n version: \"1.0\"\npaths:\n /resources:\n put:\n requestBody:\n re"
}
]
// ... and 2195 more files (download for full content)
About this extraction
This page contains the full source code of the openapi-ts/openapi-typescript GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2395 files (73.2 MB), approximately 19.4M tokens, and a symbol index with 1600 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.