From eab4fd69f7fe14726c5f46599066082c7d39ae83 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 11:40:25 +0000 Subject: [PATCH 1/3] fix(deps): update dependency @netlify/open-api to ^2.33.0 --- package-lock.json | 12 ++++++------ packages/js-client/package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index aac55989bd..a810e31363 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6647,9 +6647,9 @@ } }, "node_modules/@netlify/open-api": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.32.0.tgz", - "integrity": "sha512-pw3tfLvKm/6RwF2fNAXe1tJyf6R9OgU/wuGz//N3jhig0FGVNusbt+bwcj5eTzwOvCb0KkUh0OLT8e1gSSz8qQ==", + "version": "2.33.0", + "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.33.0.tgz", + "integrity": "sha512-GGIoUb/ARY4pxVgxp8RWDBV4nm1iMzJTuhYpQoOwWoJPKYlCykOMm0PpL0MLuPHzwrF/Q6N3C+fit5nQIVJ83g==", "license": "MIT", "engines": { "node": ">=14" @@ -27034,7 +27034,7 @@ "dependencies": { "@import-maps/resolve": "^1.0.1", "@vercel/nft": "^0.27.0", - "ajv": "^8.16.0", + "ajv": "^8.11.2", "ajv-errors": "^3.0.0", "better-ajv-errors": "^1.2.0", "common-path-prefix": "^3.0.0", @@ -27369,7 +27369,7 @@ "version": "9.8.13", "license": "MIT", "dependencies": { - "ajv": "^8.16.0", + "ajv": "^8.12.0", "filter-obj": "^5.0.0", "find-up": "^6.3.0", "is-plain-obj": "^4.0.0", @@ -27537,7 +27537,7 @@ "version": "13.1.18", "license": "MIT", "dependencies": { - "@netlify/open-api": "^2.32.0", + "@netlify/open-api": "^2.33.0", "lodash-es": "^4.17.21", "micro-api-client": "^3.3.0", "node-fetch": "^3.0.0", diff --git a/packages/js-client/package.json b/packages/js-client/package.json index 270297c341..c1dcabdefd 100644 --- a/packages/js-client/package.json +++ b/packages/js-client/package.json @@ -41,7 +41,7 @@ "node client" ], "dependencies": { - "@netlify/open-api": "^2.32.0", + "@netlify/open-api": "^2.33.0", "lodash-es": "^4.17.21", "micro-api-client": "^3.3.0", "node-fetch": "^3.0.0", From 102862588b74dcd39b63b97792cae5d8287a5d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Mon, 17 Jun 2024 13:49:37 +0100 Subject: [PATCH 2/3] chore: remove snapshot --- packages/js-client/src/operations.test.ts | 14 +- packages/js-client/src/operations.test.ts.md | 15753 ---------------- .../js-client/src/operations.test.ts.snap | Bin 104131 -> 0 bytes 3 files changed, 12 insertions(+), 15755 deletions(-) delete mode 100644 packages/js-client/src/operations.test.ts.md delete mode 100644 packages/js-client/src/operations.test.ts.snap diff --git a/packages/js-client/src/operations.test.ts b/packages/js-client/src/operations.test.ts index aec91c73d7..279fa4069c 100644 --- a/packages/js-client/src/operations.test.ts +++ b/packages/js-client/src/operations.test.ts @@ -1,7 +1,17 @@ import test from 'ava' -import { getOperations } from './operations.js' +import { openApiSpec } from './open_api.js' + +import { NetlifyAPI } from './index.js' test('Exported methods', (t) => { - t.snapshot(getOperations()) + const api = new NetlifyAPI() + + for (const path in openApiSpec.paths) { + const { parameters: _, ...verbs } = openApiSpec.paths[path] + + for (const verb in verbs) { + t.is(typeof api[verbs[verb].operationId], 'function') + } + } }) diff --git a/packages/js-client/src/operations.test.ts.md b/packages/js-client/src/operations.test.ts.md deleted file mode 100644 index 6d0b194893..0000000000 --- a/packages/js-client/src/operations.test.ts.md +++ /dev/null @@ -1,15753 +0,0 @@ -# Snapshot report for `src/operations.test.ts` - -The actual snapshot is saved in `operations.test.ts.snap`. - -Generated by [AVA](https://avajs.dev). - -## Exported methods - -> Snapshot 1 - - [ - { - description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.', - operationId: 'listSites', - parameters: { - body: {}, - path: {}, - query: { - filter: { - enum: [ - 'all', - 'owner', - 'guest', - ], - in: 'query', - name: 'filter', - type: 'string', - }, - name: { - in: 'query', - name: 'name', - type: 'string', - }, - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - }, - }, - path: '/sites', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'site', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [createEnvVars](#tag/environmentVariables/operation/createEnvVars) to create environment variables for a site.', - operationId: 'createSite', - parameters: { - body: { - site: { - in: 'body', - name: 'site', - required: true, - schema: { - allOf: [ - { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - { - properties: { - repo: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - }, - ], - }, - }, - }, - path: {}, - query: { - configure_dns: { - in: 'query', - name: 'configure_dns', - type: 'boolean', - }, - }, - }, - path: '/sites', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'site', - ], - verb: 'post', - }, - { - description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.', - operationId: 'getSite', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - feature_flags: { - in: 'query', - name: 'feature_flags', - type: 'string', - 'x-internal': true, - }, - }, - }, - path: '/sites/{site_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'site', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [updateEnvVar](#tag/environmentVariables/operation/updateEnvVar) to update a site\'s environment variables.', - operationId: 'updateSite', - parameters: { - body: { - site: { - in: 'body', - name: 'site', - required: true, - schema: { - allOf: [ - { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - { - properties: { - repo: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - }, - ], - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'site', - ], - verb: 'patch', - }, - { - operationId: 'deleteSite', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}', - responses: { - 204: { - description: 'Deleted', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'site', - ], - verb: 'delete', - }, - { - operationId: 'provisionSiteTLSCertificate', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - ca_certificates: { - in: 'query', - name: 'ca_certificates', - type: 'string', - }, - certificate: { - in: 'query', - name: 'certificate', - type: 'string', - }, - key: { - in: 'query', - name: 'key', - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/ssl', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - domains: { - items: { - type: 'string', - }, - type: 'array', - }, - expires_at: { - format: 'dateTime', - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'sniCertificate', - ], - verb: 'post', - }, - { - operationId: 'showSiteTLSCertificate', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/ssl', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - domains: { - items: { - type: 'string', - }, - type: 'array', - }, - expires_at: { - format: 'dateTime', - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'sniCertificate', - ], - verb: 'get', - }, - { - description: 'Returns all environment variables for an account or site. An account corresponds to a team in the Netlify UI. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.', - operationId: 'getEnvVars', - parameters: { - body: {}, - path: { - account_id: { - description: 'Scope response to account_id', - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - }, - query: { - context_name: { - description: 'Filter by deploy context', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - ], - in: 'query', - name: 'context_name', - required: false, - type: 'string', - }, - scope: { - description: 'Filter by scope', - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - in: 'query', - name: 'scope', - required: false, - type: 'string', - }, - site_id: { - description: 'If specified, only return environment variables set on this site', - in: 'query', - name: 'site_id', - required: false, - type: 'string', - }, - }, - }, - path: '/accounts/{account_id}/env', - responses: { - 200: { - description: 'OK', - schema: { - items: { - description: 'Environment variable model definition', - properties: { - is_secret: { - description: 'Secret values are only readable by code running on Netlify’s systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. (Enterprise plans only)', - type: 'boolean', - }, - key: { - description: 'The environment variable key, like ALGOLIA_ID (case-sensitive)', - type: 'string', - 'x-faker': 'commerce.productName', - }, - scopes: { - description: 'The scopes that this environment variable is set to', - items: { - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - type: 'string', - }, - type: 'array', - }, - updated_at: { - description: 'The timestamp of when the value was last updated', - format: 'date-time', - type: 'string', - 'x-faker': 'date.past', - }, - updated_by: { - properties: { - avatar_url: { - description: 'A URL pointing to the user\'s avatar', - type: 'string', - 'x-faker': 'internet.avatar', - }, - email: { - description: 'The user\'s email address', - type: 'string', - 'x-faker': 'internet.email', - }, - full_name: { - description: 'The user\'s full name (first and last)', - type: 'string', - 'x-faker': 'name.findName', - }, - id: { - description: 'The user\'s unique identifier', - type: 'string', - 'x-faker': 'datatype.number', - }, - }, - type: 'object', - }, - values: { - description: 'An array of Value objects containing values and metadata', - items: { - description: 'Environment variable value model definition', - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`.', - type: 'string', - }, - id: { - description: 'The environment variable value\'s universally unique ID', - type: 'string', - 'x-faker': 'datatype.uuid', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'environmentVariables', - ], - verb: 'get', - }, - { - description: 'Creates new environment variables. Granular scopes are available on Pro plans and above. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.', - operationId: 'createEnvVars', - parameters: { - body: { - env_vars: { - in: 'body', - name: 'env_vars', - schema: { - items: { - properties: { - is_secret: { - description: 'Secret values are only readable by code running on Netlify’s systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. (Enterprise plans only)', - type: 'boolean', - }, - key: { - description: 'The existing or new name of the key, if you wish to rename it (case-sensitive)', - type: 'string', - }, - scopes: { - description: 'The scopes that this environment variable is set to (Pro plans and above)', - items: { - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - type: 'string', - }, - type: 'array', - }, - values: { - items: { - description: 'Environment variable value model definition', - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`.', - type: 'string', - }, - id: { - description: 'The environment variable value\'s universally unique ID', - type: 'string', - 'x-faker': 'datatype.uuid', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - }, - path: { - account_id: { - description: 'Scope response to account_id', - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - }, - query: { - site_id: { - description: 'If provided, create an environment variable on the site level, not the account level', - in: 'query', - name: 'site_id', - required: false, - type: 'string', - }, - }, - }, - path: '/accounts/{account_id}/env', - responses: { - 201: { - description: 'OK', - schema: { - items: { - description: 'Environment variable model definition', - properties: { - is_secret: { - description: 'Secret values are only readable by code running on Netlify’s systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. (Enterprise plans only)', - type: 'boolean', - }, - key: { - description: 'The environment variable key, like ALGOLIA_ID (case-sensitive)', - type: 'string', - 'x-faker': 'commerce.productName', - }, - scopes: { - description: 'The scopes that this environment variable is set to', - items: { - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - type: 'string', - }, - type: 'array', - }, - updated_at: { - description: 'The timestamp of when the value was last updated', - format: 'date-time', - type: 'string', - 'x-faker': 'date.past', - }, - updated_by: { - properties: { - avatar_url: { - description: 'A URL pointing to the user\'s avatar', - type: 'string', - 'x-faker': 'internet.avatar', - }, - email: { - description: 'The user\'s email address', - type: 'string', - 'x-faker': 'internet.email', - }, - full_name: { - description: 'The user\'s full name (first and last)', - type: 'string', - 'x-faker': 'name.findName', - }, - id: { - description: 'The user\'s unique identifier', - type: 'string', - 'x-faker': 'datatype.number', - }, - }, - type: 'object', - }, - values: { - description: 'An array of Value objects containing values and metadata', - items: { - description: 'Environment variable value model definition', - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`.', - type: 'string', - }, - id: { - description: 'The environment variable value\'s universally unique ID', - type: 'string', - 'x-faker': 'datatype.uuid', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'environmentVariables', - ], - verb: 'post', - }, - { - description: 'Returns all environment variables for a site. This convenience method behaves the same as `getEnvVars` but doesn\'t require an `account_id` as input.', - operationId: 'getSiteEnvVars', - parameters: { - body: {}, - path: { - site_id: { - description: 'Scope response to site_id', - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - context_name: { - description: 'Filter by deploy context', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - ], - in: 'query', - name: 'context_name', - required: false, - type: 'string', - }, - scope: { - description: 'Filter by scope', - enum: [ - 'builds', - 'functions', - 'runtime', - 'post_processing', - ], - in: 'query', - name: 'scope', - required: false, - type: 'string', - }, - }, - }, - path: '/api/v1/sites/{site_id}/env', - responses: { - 200: { - description: 'OK', - schema: { - items: { - description: 'Environment variable model definition', - properties: { - is_secret: { - description: 'Secret values are only readable by code running on Netlify’s systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. (Enterprise plans only)', - type: 'boolean', - }, - key: { - description: 'The environment variable key, like ALGOLIA_ID (case-sensitive)', - type: 'string', - 'x-faker': 'commerce.productName', - }, - scopes: { - description: 'The scopes that this environment variable is set to', - items: { - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - type: 'string', - }, - type: 'array', - }, - updated_at: { - description: 'The timestamp of when the value was last updated', - format: 'date-time', - type: 'string', - 'x-faker': 'date.past', - }, - updated_by: { - properties: { - avatar_url: { - description: 'A URL pointing to the user\'s avatar', - type: 'string', - 'x-faker': 'internet.avatar', - }, - email: { - description: 'The user\'s email address', - type: 'string', - 'x-faker': 'internet.email', - }, - full_name: { - description: 'The user\'s full name (first and last)', - type: 'string', - 'x-faker': 'name.findName', - }, - id: { - description: 'The user\'s unique identifier', - type: 'string', - 'x-faker': 'datatype.number', - }, - }, - type: 'object', - }, - values: { - description: 'An array of Value objects containing values and metadata', - items: { - description: 'Environment variable value model definition', - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`.', - type: 'string', - }, - id: { - description: 'The environment variable value\'s universally unique ID', - type: 'string', - 'x-faker': 'datatype.uuid', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'environmentVariables', - ], - verb: 'get', - }, - { - description: 'Returns an individual environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.', - operationId: 'getEnvVar', - parameters: { - body: {}, - path: { - account_id: { - description: 'Scope response to account_id', - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - key: { - description: 'The environment variable key (case-sensitive)', - in: 'path', - name: 'key', - required: true, - type: 'string', - }, - }, - query: { - site_id: { - description: 'If provided, return the environment variable for a specific site (no merging is performed)', - in: 'query', - name: 'site_id', - required: false, - type: 'string', - }, - }, - }, - path: '/accounts/{account_id}/env/{key}', - responses: { - 200: { - description: 'OK', - schema: { - description: 'Environment variable model definition', - properties: { - is_secret: { - description: 'Secret values are only readable by code running on Netlify’s systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. (Enterprise plans only)', - type: 'boolean', - }, - key: { - description: 'The environment variable key, like ALGOLIA_ID (case-sensitive)', - type: 'string', - 'x-faker': 'commerce.productName', - }, - scopes: { - description: 'The scopes that this environment variable is set to', - items: { - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - type: 'string', - }, - type: 'array', - }, - updated_at: { - description: 'The timestamp of when the value was last updated', - format: 'date-time', - type: 'string', - 'x-faker': 'date.past', - }, - updated_by: { - properties: { - avatar_url: { - description: 'A URL pointing to the user\'s avatar', - type: 'string', - 'x-faker': 'internet.avatar', - }, - email: { - description: 'The user\'s email address', - type: 'string', - 'x-faker': 'internet.email', - }, - full_name: { - description: 'The user\'s full name (first and last)', - type: 'string', - 'x-faker': 'name.findName', - }, - id: { - description: 'The user\'s unique identifier', - type: 'string', - 'x-faker': 'datatype.number', - }, - }, - type: 'object', - }, - values: { - description: 'An array of Value objects containing values and metadata', - items: { - description: 'Environment variable value model definition', - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`.', - type: 'string', - }, - id: { - description: 'The environment variable value\'s universally unique ID', - type: 'string', - 'x-faker': 'datatype.uuid', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'environmentVariables', - ], - verb: 'get', - }, - { - description: 'Updates an existing environment variable and all of its values. Existing values will be replaced by values provided. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.', - operationId: 'updateEnvVar', - parameters: { - body: { - env_var: { - in: 'body', - name: 'env_var', - schema: { - properties: { - is_secret: { - description: 'Secret values are only readable by code running on Netlify’s systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. (Enterprise plans only)', - type: 'boolean', - }, - key: { - description: 'The existing or new name of the key, if you wish to rename it (case-sensitive)', - type: 'string', - }, - scopes: { - description: 'The scopes that this environment variable is set to (Pro plans and above)', - items: { - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - type: 'string', - }, - type: 'array', - }, - values: { - items: { - description: 'Environment variable value model definition', - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`.', - type: 'string', - }, - id: { - description: 'The environment variable value\'s universally unique ID', - type: 'string', - 'x-faker': 'datatype.uuid', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - type: 'object', - }, - }, - }, - path: { - account_id: { - description: 'Scope response to account_id', - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - key: { - description: 'The existing environment variable key name (case-sensitive)', - in: 'path', - name: 'key', - required: true, - type: 'string', - }, - }, - query: { - site_id: { - description: 'If provided, update an environment variable set on this site', - in: 'query', - name: 'site_id', - required: false, - type: 'string', - }, - }, - }, - path: '/accounts/{account_id}/env/{key}', - responses: { - 200: { - description: 'OK', - schema: { - description: 'Environment variable model definition', - properties: { - is_secret: { - description: 'Secret values are only readable by code running on Netlify’s systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. (Enterprise plans only)', - type: 'boolean', - }, - key: { - description: 'The environment variable key, like ALGOLIA_ID (case-sensitive)', - type: 'string', - 'x-faker': 'commerce.productName', - }, - scopes: { - description: 'The scopes that this environment variable is set to', - items: { - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - type: 'string', - }, - type: 'array', - }, - updated_at: { - description: 'The timestamp of when the value was last updated', - format: 'date-time', - type: 'string', - 'x-faker': 'date.past', - }, - updated_by: { - properties: { - avatar_url: { - description: 'A URL pointing to the user\'s avatar', - type: 'string', - 'x-faker': 'internet.avatar', - }, - email: { - description: 'The user\'s email address', - type: 'string', - 'x-faker': 'internet.email', - }, - full_name: { - description: 'The user\'s full name (first and last)', - type: 'string', - 'x-faker': 'name.findName', - }, - id: { - description: 'The user\'s unique identifier', - type: 'string', - 'x-faker': 'datatype.number', - }, - }, - type: 'object', - }, - values: { - description: 'An array of Value objects containing values and metadata', - items: { - description: 'Environment variable value model definition', - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`.', - type: 'string', - }, - id: { - description: 'The environment variable value\'s universally unique ID', - type: 'string', - 'x-faker': 'datatype.uuid', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'environmentVariables', - ], - verb: 'put', - }, - { - description: 'Updates or creates a new value for an existing environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.', - operationId: 'setEnvVarValue', - parameters: { - body: { - env_var: { - in: 'body', - name: 'env_var', - schema: { - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. `branch` must be provided with a value in `context_parameter`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for providing a branch name when `context=branch`.', - type: 'string', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - account_id: { - description: 'Scope response to account_id', - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - key: { - description: 'The existing environment variable key name (case-sensitive)', - in: 'path', - name: 'key', - required: true, - type: 'string', - }, - }, - query: { - site_id: { - description: 'If provided, update an environment variable set on this site', - in: 'query', - name: 'site_id', - type: 'string', - }, - }, - }, - path: '/accounts/{account_id}/env/{key}', - responses: { - 201: { - description: 'Created (success)', - schema: { - description: 'Environment variable model definition', - properties: { - is_secret: { - description: 'Secret values are only readable by code running on Netlify’s systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. (Enterprise plans only)', - type: 'boolean', - }, - key: { - description: 'The environment variable key, like ALGOLIA_ID (case-sensitive)', - type: 'string', - 'x-faker': 'commerce.productName', - }, - scopes: { - description: 'The scopes that this environment variable is set to', - items: { - enum: [ - 'builds', - 'functions', - 'runtime', - 'post-processing', - ], - type: 'string', - }, - type: 'array', - }, - updated_at: { - description: 'The timestamp of when the value was last updated', - format: 'date-time', - type: 'string', - 'x-faker': 'date.past', - }, - updated_by: { - properties: { - avatar_url: { - description: 'A URL pointing to the user\'s avatar', - type: 'string', - 'x-faker': 'internet.avatar', - }, - email: { - description: 'The user\'s email address', - type: 'string', - 'x-faker': 'internet.email', - }, - full_name: { - description: 'The user\'s full name (first and last)', - type: 'string', - 'x-faker': 'name.findName', - }, - id: { - description: 'The user\'s unique identifier', - type: 'string', - 'x-faker': 'datatype.number', - }, - }, - type: 'object', - }, - values: { - description: 'An array of Value objects containing values and metadata', - items: { - description: 'Environment variable value model definition', - properties: { - context: { - description: 'The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.', - enum: [ - 'all', - 'dev', - 'branch-deploy', - 'deploy-preview', - 'production', - 'branch', - ], - type: 'string', - }, - context_parameter: { - description: 'An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`.', - type: 'string', - }, - id: { - description: 'The environment variable value\'s universally unique ID', - type: 'string', - 'x-faker': 'datatype.uuid', - }, - value: { - description: 'The environment variable\'s unencrypted value', - type: 'string', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - type: 'array', - 'x-faker': 'internet.password', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'environmentVariables', - ], - verb: 'patch', - }, - { - description: 'Deletes an environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.', - operationId: 'deleteEnvVar', - parameters: { - body: {}, - path: { - account_id: { - description: 'Scope response to account_id', - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - key: { - description: 'The environment variable key (case-sensitive)', - in: 'path', - name: 'key', - required: true, - type: 'string', - }, - }, - query: { - site_id: { - description: 'If provided, delete the environment variable from this site', - in: 'query', - name: 'site_id', - required: false, - type: 'string', - }, - }, - }, - path: '/accounts/{account_id}/env/{key}', - responses: { - 204: { - description: 'No Content (success)', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'environmentVariables', - ], - verb: 'delete', - }, - { - description: 'Deletes a specific environment variable value. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.', - operationId: 'deleteEnvVarValue', - parameters: { - body: {}, - path: { - account_id: { - description: 'Scope response to account_id', - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - id: { - description: 'The environment variable value\'s ID', - in: 'path', - name: 'id', - required: true, - type: 'string', - }, - key: { - description: 'The environment variable key name (case-sensitive)', - in: 'path', - name: 'key', - required: true, - type: 'string', - }, - }, - query: { - site_id: { - description: 'If provided, delete the value from an environment variable on this site', - in: 'query', - name: 'site_id', - required: false, - type: 'string', - }, - }, - }, - path: '/accounts/{account_id}/env/{key}/value/{id}', - responses: { - 204: { - description: 'No Content (success)', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'environmentVariables', - ], - verb: 'delete', - }, - { - operationId: 'searchSiteFunctions', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - filter: { - in: 'query', - name: 'filter', - required: false, - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/functions', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - functions: { - items: { - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - log_type: { - type: 'string', - }, - provider: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'function', - ], - verb: 'get', - }, - { - operationId: 'listSiteForms', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/forms', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - fields: { - items: { - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - paths: { - items: { - type: 'string', - }, - type: 'array', - }, - site_id: { - type: 'string', - }, - submission_count: { - format: 'int32', - type: 'integer', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'form', - ], - verb: 'get', - }, - { - operationId: 'deleteSiteForm', - parameters: { - body: {}, - path: { - form_id: { - in: 'path', - name: 'form_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/forms/{form_id}', - responses: { - 204: { - description: 'Deleted', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'form', - ], - verb: 'delete', - }, - { - operationId: 'listSiteSubmissions', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - }, - }, - path: '/sites/{site_id}/submissions', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - body: { - type: 'string', - }, - company: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - email: { - type: 'string', - }, - first_name: { - type: 'string', - }, - id: { - type: 'string', - }, - last_name: { - type: 'string', - }, - name: { - type: 'string', - }, - number: { - format: 'int32', - type: 'integer', - }, - site_url: { - type: 'string', - }, - summary: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'submission', - ], - verb: 'get', - }, - { - operationId: 'listSiteFiles', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/files', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - id: { - type: 'string', - }, - mime_type: { - type: 'string', - }, - path: { - type: 'string', - }, - sha: { - type: 'string', - }, - size: { - format: 'int64', - type: 'integer', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'file', - ], - verb: 'get', - }, - { - operationId: 'listSiteAssets', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/assets', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - content_type: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - creator_id: { - type: 'string', - }, - id: { - type: 'string', - }, - key: { - type: 'string', - }, - name: { - type: 'string', - }, - site_id: { - type: 'string', - }, - size: { - format: 'int64', - type: 'integer', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - visibility: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'asset', - ], - verb: 'get', - }, - { - operationId: 'createSiteAsset', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - content_type: { - in: 'query', - name: 'content_type', - required: true, - type: 'string', - }, - name: { - in: 'query', - name: 'name', - required: true, - type: 'string', - }, - size: { - format: 'int64', - in: 'query', - name: 'size', - required: true, - type: 'integer', - }, - visibility: { - in: 'query', - name: 'visibility', - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/assets', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - asset: { - properties: { - content_type: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - creator_id: { - type: 'string', - }, - id: { - type: 'string', - }, - key: { - type: 'string', - }, - name: { - type: 'string', - }, - site_id: { - type: 'string', - }, - size: { - format: 'int64', - type: 'integer', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - visibility: { - type: 'string', - }, - }, - type: 'object', - }, - form: { - properties: { - fields: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'asset', - ], - verb: 'post', - }, - { - operationId: 'getSiteAssetInfo', - parameters: { - body: {}, - path: { - asset_id: { - in: 'path', - name: 'asset_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/assets/{asset_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - content_type: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - creator_id: { - type: 'string', - }, - id: { - type: 'string', - }, - key: { - type: 'string', - }, - name: { - type: 'string', - }, - site_id: { - type: 'string', - }, - size: { - format: 'int64', - type: 'integer', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - visibility: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'asset', - ], - verb: 'get', - }, - { - operationId: 'updateSiteAsset', - parameters: { - body: {}, - path: { - asset_id: { - in: 'path', - name: 'asset_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - state: { - in: 'query', - name: 'state', - required: true, - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/assets/{asset_id}', - responses: { - 200: { - description: 'Updated', - schema: { - properties: { - content_type: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - creator_id: { - type: 'string', - }, - id: { - type: 'string', - }, - key: { - type: 'string', - }, - name: { - type: 'string', - }, - site_id: { - type: 'string', - }, - size: { - format: 'int64', - type: 'integer', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - visibility: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'asset', - ], - verb: 'put', - }, - { - operationId: 'deleteSiteAsset', - parameters: { - body: {}, - path: { - asset_id: { - in: 'path', - name: 'asset_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/assets/{asset_id}', - responses: { - 204: { - description: 'Deleted', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'asset', - ], - verb: 'delete', - }, - { - operationId: 'getSiteAssetPublicSignature', - parameters: { - body: {}, - path: { - asset_id: { - in: 'path', - name: 'asset_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/assets/{asset_id}/public_signature', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'assetPublicSignature', - ], - verb: 'get', - }, - { - operationId: 'getSiteFileByPathName', - parameters: { - body: {}, - path: { - file_path: { - in: 'path', - name: 'file_path', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/files/{file_path}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - id: { - type: 'string', - }, - mime_type: { - type: 'string', - }, - path: { - type: 'string', - }, - sha: { - type: 'string', - }, - size: { - format: 'int64', - type: 'integer', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'file', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - description: 'Purges cached content from Netlify\'s CDN. Supports purging by Cache-Tag.', - operationId: 'purgeCache', - parameters: { - body: { - payload: { - in: 'body', - name: 'payload', - required: true, - schema: { - properties: { - cache_tags: { - items: { - type: 'string', - }, - type: 'array', - }, - site_id: { - type: 'string', - }, - site_slug: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: {}, - query: {}, - }, - path: '/purge', - responses: { - 202: { - description: 'OK', - }, - 400: { - description: 'Invalid request parameters', - }, - 404: { - description: 'Site not found', - }, - }, - tags: [ - 'purge', - ], - verb: 'post', - }, - { - operationId: 'listSiteSnippets', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/snippets', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - general: { - type: 'string', - }, - general_position: { - type: 'string', - }, - goal: { - type: 'string', - }, - goal_position: { - type: 'string', - }, - id: { - format: 'int32', - type: 'integer', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'snippet', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createSiteSnippet', - parameters: { - body: { - snippet: { - in: 'body', - name: 'snippet', - required: true, - schema: { - properties: { - general: { - type: 'string', - }, - general_position: { - type: 'string', - }, - goal: { - type: 'string', - }, - goal_position: { - type: 'string', - }, - id: { - format: 'int32', - type: 'integer', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/snippets', - responses: { - 201: { - description: 'OK', - schema: { - properties: { - general: { - type: 'string', - }, - general_position: { - type: 'string', - }, - goal: { - type: 'string', - }, - goal_position: { - type: 'string', - }, - id: { - format: 'int32', - type: 'integer', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'snippet', - ], - verb: 'post', - }, - { - operationId: 'getSiteSnippet', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - snippet_id: { - in: 'path', - name: 'snippet_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/snippets/{snippet_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - general: { - type: 'string', - }, - general_position: { - type: 'string', - }, - goal: { - type: 'string', - }, - goal_position: { - type: 'string', - }, - id: { - format: 'int32', - type: 'integer', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'snippet', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'updateSiteSnippet', - parameters: { - body: { - snippet: { - in: 'body', - name: 'snippet', - required: true, - schema: { - properties: { - general: { - type: 'string', - }, - general_position: { - type: 'string', - }, - goal: { - type: 'string', - }, - goal_position: { - type: 'string', - }, - id: { - format: 'int32', - type: 'integer', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - snippet_id: { - in: 'path', - name: 'snippet_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/snippets/{snippet_id}', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'snippet', - ], - verb: 'put', - }, - { - operationId: 'deleteSiteSnippet', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - snippet_id: { - in: 'path', - name: 'snippet_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/snippets/{snippet_id}', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'snippet', - ], - verb: 'delete', - }, - { - operationId: 'getSiteMetadata', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/metadata', - responses: { - 200: { - description: 'OK', - schema: { - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'metadata', - ], - verb: 'get', - }, - { - operationId: 'updateSiteMetadata', - parameters: { - body: { - metadata: { - in: 'body', - name: 'metadata', - required: true, - schema: { - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/metadata', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'metadata', - ], - verb: 'put', - }, - { - operationId: 'listSiteBuildHooks', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/build_hooks', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'buildHook', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createSiteBuildHook', - parameters: { - body: { - buildHook: { - in: 'body', - name: 'buildHook', - required: true, - schema: { - properties: { - branch: { - type: 'string', - }, - title: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/build_hooks', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'buildHook', - ], - verb: 'post', - }, - { - operationId: 'getSiteBuildHook', - parameters: { - body: {}, - path: { - id: { - in: 'path', - name: 'id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/build_hooks/{id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'buildHook', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'updateSiteBuildHook', - parameters: { - body: { - buildHook: { - in: 'body', - name: 'buildHook', - required: true, - schema: { - properties: { - branch: { - type: 'string', - }, - title: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - id: { - in: 'path', - name: 'id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/build_hooks/{id}', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'buildHook', - ], - verb: 'put', - }, - { - operationId: 'deleteSiteBuildHook', - parameters: { - body: {}, - path: { - id: { - in: 'path', - name: 'id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/build_hooks/{id}', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'buildHook', - ], - verb: 'delete', - }, - { - operationId: 'listSiteDeploys', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - branch: { - in: 'query', - name: 'branch', - type: 'string', - }, - 'deploy-previews': { - in: 'query', - name: 'deploy-previews', - type: 'boolean', - }, - 'latest-published': { - in: 'query', - name: 'latest-published', - type: 'boolean', - }, - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - production: { - in: 'query', - name: 'production', - type: 'boolean', - }, - state: { - enum: [ - 'new', - 'pending_review', - 'accepted', - 'rejected', - 'enqueued', - 'building', - 'uploading', - 'uploaded', - 'preparing', - 'prepared', - 'processing', - 'processed', - 'ready', - 'error', - 'retrying', - ], - in: 'query', - name: 'state', - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/deploys', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'get', - }, - { - operationId: 'createSiteDeploy', - parameters: { - body: { - deploy: { - in: 'body', - name: 'deploy', - required: true, - schema: { - properties: { - async: { - type: 'boolean', - }, - branch: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - files: { - type: 'object', - }, - framework: { - type: 'string', - }, - framework_version: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - functions: { - type: 'object', - }, - functions_config: { - additionalProperties: { - properties: { - build_data: { - type: 'object', - }, - display_name: { - type: 'string', - }, - generator: { - type: 'string', - }, - priority: { - type: 'integer', - }, - routes: { - items: { - properties: { - expression: { - type: 'string', - }, - literal: { - type: 'string', - }, - methods: { - items: { - enum: [ - 'GET', - 'POST', - 'PUT', - 'PATCH', - 'DELETE', - 'OPTIONS', - ], - type: 'string', - }, - type: 'array', - }, - pattern: { - type: 'string', - }, - prefer_static: { - type: 'boolean', - }, - }, - type: 'object', - }, - type: 'array', - }, - traffic_rules: { - properties: { - action: { - properties: { - config: { - properties: { - aggregate: { - properties: { - keys: { - items: { - properties: { - type: { - enum: [ - 'ip', - 'domain', - ], - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - type: 'object', - }, - rate_limit_config: { - properties: { - algorithm: { - enum: [ - 'sliding_window', - ], - type: 'string', - }, - window_limit: { - type: 'integer', - }, - window_size: { - type: 'integer', - }, - }, - type: 'object', - }, - to: { - type: 'string', - }, - }, - type: 'object', - }, - type: { - type: 'string', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - type: 'object', - }, - }, - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - branch: { - in: 'query', - name: 'branch', - type: 'string', - }, - 'deploy-previews': { - in: 'query', - name: 'deploy-previews', - type: 'boolean', - }, - 'latest-published': { - in: 'query', - name: 'latest-published', - type: 'boolean', - }, - production: { - in: 'query', - name: 'production', - type: 'boolean', - }, - state: { - enum: [ - 'new', - 'pending_review', - 'accepted', - 'rejected', - 'enqueued', - 'building', - 'uploading', - 'uploaded', - 'preparing', - 'prepared', - 'processing', - 'processed', - 'ready', - 'error', - 'retrying', - ], - in: 'query', - name: 'state', - type: 'string', - }, - title: { - in: 'query', - name: 'title', - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/deploys', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'post', - }, - { - operationId: 'getSiteDeploy', - parameters: { - body: {}, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/deploys/{deploy_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'get', - }, - { - operationId: 'updateSiteDeploy', - parameters: { - body: { - deploy: { - in: 'body', - name: 'deploy', - required: true, - schema: { - properties: { - async: { - type: 'boolean', - }, - branch: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - files: { - type: 'object', - }, - framework: { - type: 'string', - }, - framework_version: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - functions: { - type: 'object', - }, - functions_config: { - additionalProperties: { - properties: { - build_data: { - type: 'object', - }, - display_name: { - type: 'string', - }, - generator: { - type: 'string', - }, - priority: { - type: 'integer', - }, - routes: { - items: { - properties: { - expression: { - type: 'string', - }, - literal: { - type: 'string', - }, - methods: { - items: { - enum: [ - 'GET', - 'POST', - 'PUT', - 'PATCH', - 'DELETE', - 'OPTIONS', - ], - type: 'string', - }, - type: 'array', - }, - pattern: { - type: 'string', - }, - prefer_static: { - type: 'boolean', - }, - }, - type: 'object', - }, - type: 'array', - }, - traffic_rules: { - properties: { - action: { - properties: { - config: { - properties: { - aggregate: { - properties: { - keys: { - items: { - properties: { - type: { - enum: [ - 'ip', - 'domain', - ], - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - type: 'object', - }, - rate_limit_config: { - properties: { - algorithm: { - enum: [ - 'sliding_window', - ], - type: 'string', - }, - window_limit: { - type: 'integer', - }, - window_size: { - type: 'integer', - }, - }, - type: 'object', - }, - to: { - type: 'string', - }, - }, - type: 'object', - }, - type: { - type: 'string', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - type: 'object', - }, - }, - type: 'object', - }, - }, - }, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/deploys/{deploy_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'put', - }, - { - operationId: 'deleteSiteDeploy', - parameters: { - body: {}, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/deploys/{deploy_id}', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'delete', - }, - { - operationId: 'cancelSiteDeploy', - parameters: { - body: {}, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/deploys/{deploy_id}/cancel', - responses: { - 201: { - description: 'Cancelled', - schema: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'post', - }, - { - operationId: 'restoreSiteDeploy', - parameters: { - body: {}, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/deploys/{deploy_id}/restore', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'post', - }, - { - operationId: 'listSiteBuilds', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - }, - }, - path: '/sites/{site_id}/builds', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_id: { - type: 'string', - }, - done: { - type: 'boolean', - }, - error: { - type: 'string', - }, - id: { - type: 'string', - }, - sha: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'build', - ], - verb: 'get', - }, - { - operationId: 'createSiteBuild', - parameters: { - body: { - build: { - in: 'body', - name: 'build', - required: false, - schema: { - properties: { - clear_cache: { - type: 'boolean', - }, - image: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/builds', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_id: { - type: 'string', - }, - done: { - type: 'boolean', - }, - error: { - type: 'string', - }, - id: { - type: 'string', - }, - sha: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'build', - ], - verb: 'post', - }, - { - operationId: 'listSiteDeployedBranches', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/deployed-branches', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - deploy_id: { - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - slug: { - type: 'string', - }, - ssl_url: { - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deployedBranch', - ], - verb: 'get', - }, - { - description: `[Beta] Unlinks the repo from the site.␊ - ␊ - This action will also:␊ - - Delete associated deploy keys␊ - - Delete outgoing webhooks for the repo␊ - - Delete the site's build hooks`, - operationId: 'unlinkSiteRepo', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/unlink_repo', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - 404: { - description: 'Site not found', - }, - }, - tags: [ - 'site', - ], - verb: 'put', - }, - { - operationId: 'getSiteBuild', - parameters: { - body: {}, - path: { - build_id: { - in: 'path', - name: 'build_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/builds/{build_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_id: { - type: 'string', - }, - done: { - type: 'boolean', - }, - error: { - type: 'string', - }, - id: { - type: 'string', - }, - sha: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'build', - ], - verb: 'get', - }, - { - operationId: 'updateSiteBuildLog', - parameters: { - body: { - msg: { - in: 'body', - name: 'msg', - required: true, - schema: { - properties: { - error: { - type: 'boolean', - }, - message: { - type: 'string', - }, - section: { - enum: [ - 'initializing', - 'building', - 'deploying', - 'cleanup', - 'postprocessing', - ], - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - build_id: { - in: 'path', - name: 'build_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/builds/{build_id}/log', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'buildLogMsg', - ], - verb: 'post', - }, - { - operationId: 'notifyBuildStart', - parameters: { - body: {}, - path: { - build_id: { - in: 'path', - name: 'build_id', - required: true, - type: 'string', - }, - }, - query: { - build_version: { - in: 'query', - name: 'build_version', - required: false, - type: 'string', - }, - buildbot_version: { - in: 'query', - name: 'buildbot_version', - required: false, - type: 'string', - }, - }, - }, - path: '/builds/{build_id}/start', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'build', - ], - verb: 'post', - }, - { - operationId: 'getAccountBuildStatus', - parameters: { - body: {}, - path: { - account_id: { - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/{account_id}/builds/status', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - active: { - type: 'integer', - }, - build_count: { - type: 'integer', - }, - enqueued: { - type: 'integer', - }, - minutes: { - properties: { - current: { - type: 'integer', - }, - current_average_sec: { - type: 'integer', - }, - included_minutes: { - type: 'string', - }, - included_minutes_with_packs: { - type: 'string', - }, - last_updated_at: { - format: 'dateTime', - type: 'string', - }, - period_end_date: { - format: 'dateTime', - type: 'string', - }, - period_start_date: { - format: 'dateTime', - type: 'string', - }, - previous: { - type: 'integer', - }, - }, - type: 'object', - }, - pending_concurrency: { - type: 'integer', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'build', - ], - verb: 'get', - }, - { - operationId: 'getDNSForSite', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dns', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - account_id: { - type: 'string', - }, - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - dedicated: { - type: 'boolean', - }, - dns_servers: { - items: { - type: 'string', - }, - type: 'array', - }, - domain: { - type: 'string', - }, - errors: { - items: { - type: 'string', - }, - type: 'array', - }, - id: { - type: 'string', - }, - ipv6_enabled: { - type: 'boolean', - }, - name: { - type: 'string', - }, - records: { - items: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - site_id: { - type: 'string', - }, - supported_record_types: { - items: { - type: 'string', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'get', - }, - { - operationId: 'configureDNSForSite', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dns', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - account_id: { - type: 'string', - }, - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - dedicated: { - type: 'boolean', - }, - dns_servers: { - items: { - type: 'string', - }, - type: 'array', - }, - domain: { - type: 'string', - }, - errors: { - items: { - type: 'string', - }, - type: 'array', - }, - id: { - type: 'string', - }, - ipv6_enabled: { - type: 'boolean', - }, - name: { - type: 'string', - }, - records: { - items: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - site_id: { - type: 'string', - }, - supported_record_types: { - items: { - type: 'string', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'put', - }, - { - operationId: 'rollbackSiteDeploy', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/rollback', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'put', - }, - { - operationId: 'getDeploy', - parameters: { - body: {}, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/deploys/{deploy_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'get', - }, - { - operationId: 'deleteDeploy', - parameters: { - body: {}, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/deploys/{deploy_id}', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'delete', - }, - { - operationId: 'lockDeploy', - parameters: { - body: {}, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/deploys/{deploy_id}/lock', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'post', - }, - { - operationId: 'unlockDeploy', - parameters: { - body: {}, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/deploys/{deploy_id}/unlock', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deploy', - ], - verb: 'post', - }, - { - consumes: [ - 'application/octet-stream', - ], - operationId: 'uploadDeployFile', - parameters: { - body: { - file_body: { - in: 'body', - name: 'file_body', - required: true, - schema: { - format: 'binary', - type: 'string', - }, - }, - }, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - path: { - in: 'path', - name: 'path', - required: true, - type: 'string', - }, - }, - query: { - size: { - in: 'query', - name: 'size', - type: 'integer', - }, - }, - }, - path: '/deploys/{deploy_id}/files/{path}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - id: { - type: 'string', - }, - mime_type: { - type: 'string', - }, - path: { - type: 'string', - }, - sha: { - type: 'string', - }, - size: { - format: 'int64', - type: 'integer', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'file', - ], - verb: 'put', - }, - { - consumes: [ - 'application/octet-stream', - ], - operationId: 'uploadDeployFunction', - parameters: { - body: { - file_body: { - in: 'body', - name: 'file_body', - required: true, - schema: { - format: 'binary', - type: 'string', - }, - }, - }, - header: { - 'X-Nf-Retry-Count': { - in: 'header', - name: 'X-Nf-Retry-Count', - type: 'integer', - }, - }, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - name: { - in: 'path', - name: 'name', - required: true, - type: 'string', - }, - }, - query: { - invocation_mode: { - in: 'query', - name: 'invocation_mode', - type: 'string', - }, - runtime: { - in: 'query', - name: 'runtime', - type: 'string', - }, - size: { - in: 'query', - name: 'size', - type: 'integer', - }, - timeout: { - in: 'query', - name: 'timeout', - type: 'integer', - }, - }, - }, - path: '/deploys/{deploy_id}/functions/{name}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - id: { - type: 'string', - }, - name: { - type: 'string', - }, - sha: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'function', - ], - verb: 'put', - }, - { - description: 'This is an internal-only endpoint.', - operationId: 'updatePlugin', - parameters: { - body: { - plugin_params: { - in: 'body', - name: 'plugin_params', - schema: { - properties: { - pinned_version: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - package: { - in: 'path', - name: 'package', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/plugins/{package}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - package: { - type: 'string', - }, - pinned_version: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'x-internal', - ], - verb: 'put', - 'x-internal': true, - }, - { - description: 'This is an internal-only endpoint.', - operationId: 'getLatestPluginRuns', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - packages: { - in: 'query', - items: { - type: 'string', - }, - name: 'packages', - required: true, - type: 'array', - }, - state: { - in: 'query', - name: 'state', - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/plugin_runs/latest', - responses: { - 200: { - description: 'OK', - schema: { - items: { - allOf: [ - { - properties: { - package: { - type: 'string', - }, - reporting_event: { - type: 'string', - }, - state: { - type: 'string', - }, - summary: { - type: 'string', - }, - text: { - type: 'string', - }, - title: { - type: 'string', - }, - version: { - type: 'string', - }, - }, - type: 'object', - }, - { - properties: { - deploy_id: { - type: 'string', - }, - }, - type: 'object', - }, - ], - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'x-internal', - ], - verb: 'get', - 'x-internal': true, - }, - { - description: 'This is an internal-only endpoint.', - operationId: 'createPluginRun', - parameters: { - body: { - plugin_run: { - in: 'body', - name: 'plugin_run', - schema: { - properties: { - package: { - type: 'string', - }, - reporting_event: { - type: 'string', - }, - state: { - type: 'string', - }, - summary: { - type: 'string', - }, - text: { - type: 'string', - }, - title: { - type: 'string', - }, - version: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - deploy_id: { - in: 'path', - name: 'deploy_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/deploys/{deploy_id}/plugin_runs', - responses: { - 201: { - description: 'CREATED', - schema: { - allOf: [ - { - properties: { - package: { - type: 'string', - }, - reporting_event: { - type: 'string', - }, - state: { - type: 'string', - }, - summary: { - type: 'string', - }, - text: { - type: 'string', - }, - title: { - type: 'string', - }, - version: { - type: 'string', - }, - }, - type: 'object', - }, - { - properties: { - deploy_id: { - type: 'string', - }, - }, - type: 'object', - }, - ], - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'x-internal', - ], - verb: 'post', - 'x-internal': true, - }, - { - operationId: 'listFormSubmissions', - parameters: { - body: {}, - path: { - form_id: { - in: 'path', - name: 'form_id', - required: true, - type: 'string', - }, - }, - query: { - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - }, - }, - path: '/forms/{form_id}/submissions', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - body: { - type: 'string', - }, - company: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - email: { - type: 'string', - }, - first_name: { - type: 'string', - }, - id: { - type: 'string', - }, - last_name: { - type: 'string', - }, - name: { - type: 'string', - }, - number: { - format: 'int32', - type: 'integer', - }, - site_url: { - type: 'string', - }, - summary: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'submission', - ], - verb: 'get', - }, - { - operationId: 'listHooksBySiteId', - parameters: { - body: {}, - path: {}, - query: { - site_id: { - in: 'query', - name: 'site_id', - required: true, - type: 'string', - }, - }, - }, - path: '/hooks', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - disabled: { - type: 'boolean', - }, - event: { - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - type: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'hook', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createHookBySiteId', - parameters: { - body: { - hook: { - in: 'body', - name: 'hook', - required: true, - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - disabled: { - type: 'boolean', - }, - event: { - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - type: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: {}, - query: { - site_id: { - in: 'query', - name: 'site_id', - required: true, - type: 'string', - }, - }, - }, - path: '/hooks', - responses: { - 201: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - disabled: { - type: 'boolean', - }, - event: { - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - type: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'hook', - ], - verb: 'post', - }, - { - operationId: 'getHook', - parameters: { - body: {}, - path: { - hook_id: { - in: 'path', - name: 'hook_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/hooks/{hook_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - disabled: { - type: 'boolean', - }, - event: { - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - type: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'hook', - ], - verb: 'get', - }, - { - operationId: 'updateHook', - parameters: { - body: { - hook: { - in: 'body', - name: 'hook', - required: true, - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - disabled: { - type: 'boolean', - }, - event: { - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - type: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - hook_id: { - in: 'path', - name: 'hook_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/hooks/{hook_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - disabled: { - type: 'boolean', - }, - event: { - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - type: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'hook', - ], - verb: 'put', - }, - { - operationId: 'deleteHook', - parameters: { - body: {}, - path: { - hook_id: { - in: 'path', - name: 'hook_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/hooks/{hook_id}', - responses: { - 204: { - description: 'No content', - }, - }, - tags: [ - 'hook', - ], - verb: 'delete', - }, - { - operationId: 'enableHook', - parameters: { - body: {}, - path: { - hook_id: { - in: 'path', - name: 'hook_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/hooks/{hook_id}/enable', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - disabled: { - type: 'boolean', - }, - event: { - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - type: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'hook', - ], - verb: 'post', - }, - { - operationId: 'listHookTypes', - parameters: { - body: {}, - path: {}, - query: {}, - }, - path: '/hooks/types', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - events: { - items: { - type: 'string', - }, - type: 'array', - }, - fields: { - items: { - type: 'object', - }, - type: 'array', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'hookType', - ], - verb: 'get', - }, - { - operationId: 'createTicket', - parameters: { - body: {}, - path: {}, - query: { - client_id: { - in: 'query', - name: 'client_id', - required: true, - type: 'string', - }, - }, - }, - path: '/oauth/tickets', - responses: { - 201: { - description: 'ok', - schema: { - properties: { - authorized: { - type: 'boolean', - }, - client_id: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'ticket', - ], - verb: 'post', - }, - { - operationId: 'showTicket', - parameters: { - body: {}, - path: { - ticket_id: { - in: 'path', - name: 'ticket_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/oauth/tickets/{ticket_id}', - responses: { - 200: { - description: 'ok', - schema: { - properties: { - authorized: { - type: 'boolean', - }, - client_id: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'ticket', - ], - verb: 'get', - }, - { - operationId: 'exchangeTicket', - parameters: { - body: {}, - path: { - ticket_id: { - in: 'path', - name: 'ticket_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/oauth/tickets/{ticket_id}/exchange', - responses: { - 201: { - description: 'ok', - schema: { - properties: { - access_token: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - user_email: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'accessToken', - ], - verb: 'post', - }, - { - operationId: 'listDeployKeys', - parameters: { - body: {}, - path: {}, - query: {}, - }, - path: '/deploy_keys', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - public_key: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deployKey', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createDeployKey', - parameters: { - body: {}, - path: {}, - query: {}, - }, - path: '/deploy_keys', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - public_key: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deployKey', - ], - verb: 'post', - }, - { - operationId: 'getDeployKey', - parameters: { - body: {}, - path: { - key_id: { - in: 'path', - name: 'key_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/deploy_keys/{key_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - public_key: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deployKey', - ], - verb: 'get', - }, - { - operationId: 'deleteDeployKey', - parameters: { - body: {}, - path: { - key_id: { - in: 'path', - name: 'key_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/deploy_keys/{key_id}', - responses: { - 204: { - description: 'Not Content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'deployKey', - ], - verb: 'delete', - }, - { - consumes: [ - 'application/json', - ], - description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [createEnvVars](#tag/environmentVariables/operation/createEnvVars) to create environment variables for a site.', - operationId: 'createSiteInTeam', - parameters: { - body: { - site: { - in: 'body', - name: 'site', - schema: { - allOf: [ - { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - { - properties: { - repo: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - }, - ], - }, - }, - }, - path: { - account_slug: { - in: 'path', - name: 'account_slug', - required: true, - type: 'string', - }, - }, - query: { - configure_dns: { - in: 'query', - name: 'configure_dns', - type: 'boolean', - }, - }, - }, - path: '/{account_slug}/sites', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'site', - ], - verb: 'post', - }, - { - description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.', - operationId: 'listSitesForAccount', - parameters: { - body: {}, - path: { - account_slug: { - in: 'path', - name: 'account_slug', - required: true, - type: 'string', - }, - }, - query: { - name: { - in: 'query', - name: 'name', - type: 'string', - }, - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - }, - }, - path: '/{account_slug}/sites', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - admin_url: { - type: 'string', - }, - branch_deploy_custom_domain: { - type: 'string', - }, - build_image: { - type: 'string', - }, - build_settings: { - properties: { - allowed_branches: { - items: { - type: 'string', - }, - type: 'array', - }, - cmd: { - type: 'string', - }, - deploy_key_id: { - type: 'string', - }, - dir: { - type: 'string', - }, - env: { - additionalProperties: { - type: 'string', - }, - type: 'object', - }, - functions_dir: { - type: 'string', - }, - id: { - type: 'integer', - }, - installation_id: { - type: 'integer', - }, - private_logs: { - type: 'boolean', - }, - provider: { - type: 'string', - }, - public_repo: { - type: 'boolean', - }, - repo_branch: { - type: 'string', - }, - repo_path: { - type: 'string', - }, - repo_url: { - type: 'string', - }, - stop_builds: { - type: 'boolean', - }, - }, - type: 'object', - }, - capabilities: { - additionalProperties: { - type: 'object', - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - custom_domain: { - type: 'string', - }, - default_hooks_data: { - properties: { - access_token: { - type: 'string', - }, - }, - type: 'object', - }, - deploy_hook: { - type: 'string', - }, - deploy_preview_custom_domain: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - domain_aliases: { - items: { - type: 'string', - }, - type: 'array', - }, - force_ssl: { - type: 'boolean', - }, - functions_region: { - type: 'string', - }, - git_provider: { - type: 'string', - }, - id: { - type: 'string', - }, - id_domain: { - type: 'string', - }, - managed_dns: { - type: 'boolean', - }, - name: { - type: 'string', - }, - notification_email: { - type: 'string', - }, - password: { - type: 'string', - }, - plan: { - type: 'string', - }, - prerender: { - type: 'string', - }, - processing_settings: { - properties: { - html: { - properties: { - pretty_urls: { - type: 'boolean', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - published_deploy: { - properties: { - admin_url: { - type: 'string', - }, - branch: { - type: 'string', - }, - build_id: { - type: 'string', - }, - commit_ref: { - type: 'string', - }, - commit_url: { - type: 'string', - }, - context: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - deploy_ssl_url: { - type: 'string', - }, - deploy_url: { - type: 'string', - }, - draft: { - type: 'boolean', - }, - error_message: { - type: 'string', - }, - framework: { - type: 'string', - }, - function_schedules: { - items: { - properties: { - cron: { - type: 'string', - }, - name: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - id: { - type: 'string', - }, - locked: { - type: 'boolean', - }, - name: { - type: 'string', - }, - published_at: { - format: 'dateTime', - type: 'string', - }, - required: { - items: { - type: 'string', - }, - type: 'array', - }, - required_functions: { - items: { - type: 'string', - }, - type: 'array', - }, - review_id: { - type: 'number', - }, - review_url: { - type: 'string', - }, - screenshot_url: { - type: 'string', - }, - site_id: { - type: 'string', - }, - skipped: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - screenshot_url: { - type: 'string', - }, - session_id: { - type: 'string', - }, - ssl: { - type: 'boolean', - }, - ssl_url: { - type: 'string', - }, - state: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'site', - ], - verb: 'get', - }, - { - operationId: 'listMembersForAccount', - parameters: { - body: {}, - path: { - account_slug: { - in: 'path', - name: 'account_slug', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/{account_slug}/members', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - avatar: { - type: 'string', - }, - email: { - type: 'string', - }, - full_name: { - type: 'string', - }, - id: { - type: 'string', - }, - role: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'member', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'addMemberToAccount', - parameters: { - body: { - accountAddMemberSetup: { - in: 'body', - name: 'accountAddMemberSetup', - required: true, - schema: { - properties: { - email: { - type: 'string', - }, - role: { - enum: [ - 'Owner', - 'Developer', - 'Billing Admin', - 'Reviewer', - ], - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - account_slug: { - in: 'path', - name: 'account_slug', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/{account_slug}/members', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - avatar: { - type: 'string', - }, - email: { - type: 'string', - }, - full_name: { - type: 'string', - }, - id: { - type: 'string', - }, - role: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'member', - ], - verb: 'post', - }, - { - operationId: 'getAccountMember', - parameters: { - body: {}, - path: { - account_slug: { - in: 'path', - name: 'account_slug', - required: true, - type: 'string', - }, - member_id: { - in: 'path', - name: 'member_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/{account_slug}/members/{member_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - avatar: { - type: 'string', - }, - email: { - type: 'string', - }, - full_name: { - type: 'string', - }, - id: { - type: 'string', - }, - role: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'member', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'updateAccountMember', - parameters: { - body: { - accountUpdateMemberSetup: { - in: 'body', - name: 'accountUpdateMemberSetup', - required: true, - schema: { - properties: { - role: { - enum: [ - 'Owner', - 'Developer', - 'Billing Admin', - 'Reviewer', - ], - type: 'string', - }, - site_access: { - enum: [ - 'all', - 'none', - 'selected', - ], - type: 'string', - }, - site_ids: { - items: { - type: 'string', - }, - type: 'array', - }, - }, - type: 'object', - }, - }, - }, - path: { - account_slug: { - in: 'path', - name: 'account_slug', - required: true, - type: 'string', - }, - member_id: { - in: 'path', - name: 'member_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/{account_slug}/members/{member_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - avatar: { - type: 'string', - }, - email: { - type: 'string', - }, - full_name: { - type: 'string', - }, - id: { - type: 'string', - }, - role: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'member', - ], - verb: 'put', - }, - { - operationId: 'removeAccountMember', - parameters: { - body: {}, - path: { - account_slug: { - in: 'path', - name: 'account_slug', - required: true, - type: 'string', - }, - member_id: { - in: 'path', - name: 'member_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/{account_slug}/members/{member_id}', - responses: { - 204: { - description: 'Not Content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'member', - ], - verb: 'delete', - }, - { - operationId: 'listPaymentMethodsForUser', - parameters: { - body: {}, - path: {}, - query: {}, - }, - path: '/billing/payment_methods', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - properties: { - card_type: { - type: 'string', - }, - email: { - type: 'string', - }, - last4: { - type: 'string', - }, - }, - type: 'object', - }, - id: { - type: 'string', - }, - method_name: { - type: 'string', - }, - state: { - type: 'string', - }, - type: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'paymentMethod', - ], - verb: 'get', - }, - { - operationId: 'listAccountTypesForUser', - parameters: { - body: {}, - path: {}, - query: {}, - }, - path: '/accounts/types', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - capabilities: { - type: 'object', - }, - description: { - type: 'string', - }, - id: { - type: 'string', - }, - monthly_dollar_price: { - type: 'integer', - }, - monthly_seats_addon_dollar_price: { - type: 'integer', - }, - name: { - type: 'string', - }, - yearly_dollar_price: { - type: 'integer', - }, - yearly_seats_addon_dollar_price: { - type: 'integer', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'accountType', - ], - verb: 'get', - }, - { - operationId: 'listAccountsForUser', - parameters: { - body: {}, - path: {}, - query: {}, - }, - path: '/accounts', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - billing_details: { - type: 'string', - }, - billing_email: { - type: 'string', - }, - billing_name: { - type: 'string', - }, - billing_period: { - type: 'string', - }, - capabilities: { - properties: { - collaborators: { - properties: { - included: { - type: 'integer', - }, - used: { - type: 'integer', - }, - }, - type: 'object', - }, - sites: { - properties: { - included: { - type: 'integer', - }, - used: { - type: 'integer', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - owner_ids: { - items: { - type: 'string', - }, - type: 'array', - }, - payment_method_id: { - type: 'string', - }, - roles_allowed: { - items: { - type: 'string', - }, - type: 'array', - }, - slug: { - type: 'string', - }, - type: { - type: 'string', - }, - type_id: { - type: 'string', - }, - type_name: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'accountMembership', - ], - verb: 'get', - }, - { - operationId: 'createAccount', - parameters: { - body: { - accountSetup: { - in: 'body', - name: 'accountSetup', - required: true, - schema: { - properties: { - extra_seats_block: { - type: 'integer', - }, - name: { - type: 'string', - }, - payment_method_id: { - type: 'string', - }, - period: { - enum: [ - 'monthly', - 'yearly', - ], - type: 'string', - }, - type_id: { - type: 'string', - }, - }, - required: [ - 'name', - 'type_id', - ], - type: 'object', - }, - }, - }, - path: {}, - query: {}, - }, - path: '/accounts', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - billing_details: { - type: 'string', - }, - billing_email: { - type: 'string', - }, - billing_name: { - type: 'string', - }, - billing_period: { - type: 'string', - }, - capabilities: { - properties: { - collaborators: { - properties: { - included: { - type: 'integer', - }, - used: { - type: 'integer', - }, - }, - type: 'object', - }, - sites: { - properties: { - included: { - type: 'integer', - }, - used: { - type: 'integer', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - owner_ids: { - items: { - type: 'string', - }, - type: 'array', - }, - payment_method_id: { - type: 'string', - }, - roles_allowed: { - items: { - type: 'string', - }, - type: 'array', - }, - slug: { - type: 'string', - }, - type: { - type: 'string', - }, - type_id: { - type: 'string', - }, - type_name: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'accountMembership', - ], - verb: 'post', - }, - { - operationId: 'getAccount', - parameters: { - body: {}, - path: { - account_id: { - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/accounts/{account_id}', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - billing_details: { - type: 'string', - }, - billing_email: { - type: 'string', - }, - billing_name: { - type: 'string', - }, - billing_period: { - type: 'string', - }, - capabilities: { - properties: { - collaborators: { - properties: { - included: { - type: 'integer', - }, - used: { - type: 'integer', - }, - }, - type: 'object', - }, - sites: { - properties: { - included: { - type: 'integer', - }, - used: { - type: 'integer', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - owner_ids: { - items: { - type: 'string', - }, - type: 'array', - }, - payment_method_id: { - type: 'string', - }, - roles_allowed: { - items: { - type: 'string', - }, - type: 'array', - }, - slug: { - type: 'string', - }, - type: { - type: 'string', - }, - type_id: { - type: 'string', - }, - type_name: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'accountMembership', - ], - verb: 'get', - }, - { - operationId: 'updateAccount', - parameters: { - body: { - accountUpdateSetup: { - in: 'body', - name: 'accountUpdateSetup', - schema: { - properties: { - billing_details: { - type: 'string', - }, - billing_email: { - type: 'string', - }, - billing_name: { - type: 'string', - }, - extra_seats_block: { - type: 'integer', - }, - name: { - type: 'string', - }, - slug: { - type: 'string', - }, - type_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - account_id: { - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/accounts/{account_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - billing_details: { - type: 'string', - }, - billing_email: { - type: 'string', - }, - billing_name: { - type: 'string', - }, - billing_period: { - type: 'string', - }, - capabilities: { - properties: { - collaborators: { - properties: { - included: { - type: 'integer', - }, - used: { - type: 'integer', - }, - }, - type: 'object', - }, - sites: { - properties: { - included: { - type: 'integer', - }, - used: { - type: 'integer', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - owner_ids: { - items: { - type: 'string', - }, - type: 'array', - }, - payment_method_id: { - type: 'string', - }, - roles_allowed: { - items: { - type: 'string', - }, - type: 'array', - }, - slug: { - type: 'string', - }, - type: { - type: 'string', - }, - type_id: { - type: 'string', - }, - type_name: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'accountMembership', - ], - verb: 'put', - }, - { - operationId: 'cancelAccount', - parameters: { - body: {}, - path: { - account_id: { - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/accounts/{account_id}', - responses: { - 204: { - description: 'Not Content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'accountMembership', - ], - verb: 'delete', - }, - { - operationId: 'listAccountAuditEvents', - parameters: { - body: {}, - path: { - account_id: { - in: 'path', - name: 'account_id', - required: true, - type: 'string', - }, - }, - query: { - log_type: { - in: 'query', - name: 'log_type', - type: 'string', - }, - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - query: { - in: 'query', - name: 'query', - type: 'string', - }, - }, - }, - path: '/accounts/{account_id}/audit', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - account_id: { - type: 'string', - }, - id: { - type: 'string', - }, - payload: { - additionalProperties: { - type: 'object', - }, - properties: { - action: { - type: 'string', - }, - actor_email: { - type: 'string', - }, - actor_id: { - type: 'string', - }, - actor_name: { - type: 'string', - }, - log_type: { - type: 'string', - }, - timestamp: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'auditLog', - ], - verb: 'get', - }, - { - operationId: 'listFormSubmission', - parameters: { - body: {}, - path: { - submission_id: { - in: 'path', - name: 'submission_id', - required: true, - type: 'string', - }, - }, - query: { - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - query: { - in: 'query', - name: 'query', - type: 'string', - }, - }, - }, - path: '/submissions/{submission_id}', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - body: { - type: 'string', - }, - company: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - data: { - type: 'object', - }, - email: { - type: 'string', - }, - first_name: { - type: 'string', - }, - id: { - type: 'string', - }, - last_name: { - type: 'string', - }, - name: { - type: 'string', - }, - number: { - format: 'int32', - type: 'integer', - }, - site_url: { - type: 'string', - }, - summary: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'submission', - ], - verb: 'get', - }, - { - operationId: 'deleteSubmission', - parameters: { - body: {}, - path: { - submission_id: { - in: 'path', - name: 'submission_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/submissions/{submission_id}', - responses: { - 204: { - description: 'Deleted', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'submission', - ], - verb: 'delete', - }, - { - operationId: 'listServiceInstancesForSite', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/service-instances', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - auth_url: { - type: 'string', - }, - config: { - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - env: { - type: 'object', - }, - external_attributes: { - type: 'object', - }, - id: { - type: 'string', - }, - service_name: { - type: 'string', - }, - service_path: { - type: 'string', - }, - service_slug: { - type: 'string', - }, - snippets: { - items: { - type: 'object', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'serviceInstance', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createServiceInstance', - parameters: { - body: { - config: { - in: 'body', - name: 'config', - required: true, - schema: { - type: 'object', - }, - }, - }, - path: { - addon: { - in: 'path', - name: 'addon', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/services/{addon}/instances', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - auth_url: { - type: 'string', - }, - config: { - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - env: { - type: 'object', - }, - external_attributes: { - type: 'object', - }, - id: { - type: 'string', - }, - service_name: { - type: 'string', - }, - service_path: { - type: 'string', - }, - service_slug: { - type: 'string', - }, - snippets: { - items: { - type: 'object', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'serviceInstance', - ], - verb: 'post', - }, - { - operationId: 'showServiceInstance', - parameters: { - body: {}, - path: { - addon: { - in: 'path', - name: 'addon', - required: true, - type: 'string', - }, - instance_id: { - in: 'path', - name: 'instance_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/services/{addon}/instances/{instance_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - auth_url: { - type: 'string', - }, - config: { - type: 'object', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - env: { - type: 'object', - }, - external_attributes: { - type: 'object', - }, - id: { - type: 'string', - }, - service_name: { - type: 'string', - }, - service_path: { - type: 'string', - }, - service_slug: { - type: 'string', - }, - snippets: { - items: { - type: 'object', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'serviceInstance', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'updateServiceInstance', - parameters: { - body: { - config: { - in: 'body', - name: 'config', - required: true, - schema: { - type: 'object', - }, - }, - }, - path: { - addon: { - in: 'path', - name: 'addon', - required: true, - type: 'string', - }, - instance_id: { - in: 'path', - name: 'instance_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/services/{addon}/instances/{instance_id}', - responses: { - 204: { - description: 'No Content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'serviceInstance', - ], - verb: 'put', - }, - { - operationId: 'deleteServiceInstance', - parameters: { - body: {}, - path: { - addon: { - in: 'path', - name: 'addon', - required: true, - type: 'string', - }, - instance_id: { - in: 'path', - name: 'instance_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/services/{addon}/instances/{instance_id}', - responses: { - 204: { - description: 'Deleted', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'serviceInstance', - ], - verb: 'delete', - }, - { - operationId: 'getServices', - parameters: { - body: {}, - path: {}, - query: { - search: { - in: 'query', - name: 'search', - type: 'string', - }, - }, - }, - path: '/services/', - responses: { - 200: { - description: 'services', - schema: { - items: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - description: { - type: 'string', - }, - environments: { - items: { - type: 'string', - }, - type: 'array', - }, - events: { - items: { - type: 'object', - }, - type: 'array', - }, - icon: { - type: 'string', - }, - id: { - type: 'string', - }, - long_description: { - type: 'string', - }, - manifest_url: { - type: 'string', - }, - name: { - type: 'string', - }, - service_path: { - type: 'string', - }, - slug: { - type: 'string', - }, - tags: { - items: { - type: 'string', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'service', - ], - verb: 'get', - }, - { - operationId: 'showService', - parameters: { - body: {}, - path: { - addonName: { - in: 'path', - name: 'addonName', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/services/{addonName}', - responses: { - 200: { - description: 'services', - schema: { - properties: { - created_at: { - format: 'dateTime', - type: 'string', - }, - description: { - type: 'string', - }, - environments: { - items: { - type: 'string', - }, - type: 'array', - }, - events: { - items: { - type: 'object', - }, - type: 'array', - }, - icon: { - type: 'string', - }, - id: { - type: 'string', - }, - long_description: { - type: 'string', - }, - manifest_url: { - type: 'string', - }, - name: { - type: 'string', - }, - service_path: { - type: 'string', - }, - slug: { - type: 'string', - }, - tags: { - items: { - type: 'string', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'service', - ], - verb: 'get', - }, - { - operationId: 'showServiceManifest', - parameters: { - body: {}, - path: { - addonName: { - in: 'path', - name: 'addonName', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/services/{addonName}/manifest', - responses: { - 201: { - description: 'retrieving from provider', - schema: { - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'service', - ], - verb: 'get', - }, - { - operationId: 'getCurrentUser', - parameters: { - body: {}, - path: {}, - query: {}, - }, - path: '/user', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - affiliate_id: { - type: 'string', - }, - avatar_url: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - email: { - type: 'string', - }, - full_name: { - type: 'string', - }, - id: { - type: 'string', - }, - last_login: { - format: 'dateTime', - type: 'string', - }, - login_providers: { - items: { - type: 'string', - }, - type: 'array', - }, - onboarding_progress: { - properties: { - slides: { - type: 'string', - }, - }, - type: 'object', - }, - site_count: { - format: 'int64', - type: 'integer', - }, - uid: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'user', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createSplitTest', - parameters: { - body: { - branch_tests: { - in: 'body', - name: 'branch_tests', - required: true, - schema: { - properties: { - branch_tests: { - type: 'object', - }, - }, - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/traffic_splits', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - active: { - type: 'boolean', - }, - branches: { - items: { - type: 'object', - }, - type: 'array', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - path: { - type: 'string', - }, - site_id: { - type: 'string', - }, - unpublished_at: { - format: 'dateTime', - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'splitTest', - ], - verb: 'post', - }, - { - operationId: 'getSplitTests', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/traffic_splits', - responses: { - 200: { - description: 'split_tests', - schema: { - items: { - properties: { - active: { - type: 'boolean', - }, - branches: { - items: { - type: 'object', - }, - type: 'array', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - path: { - type: 'string', - }, - site_id: { - type: 'string', - }, - unpublished_at: { - format: 'dateTime', - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'splitTest', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'updateSplitTest', - parameters: { - body: { - branch_tests: { - in: 'body', - name: 'branch_tests', - required: true, - schema: { - properties: { - branch_tests: { - type: 'object', - }, - }, - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - split_test_id: { - in: 'path', - name: 'split_test_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/traffic_splits/{split_test_id}', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - active: { - type: 'boolean', - }, - branches: { - items: { - type: 'object', - }, - type: 'array', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - path: { - type: 'string', - }, - site_id: { - type: 'string', - }, - unpublished_at: { - format: 'dateTime', - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'splitTest', - ], - verb: 'put', - }, - { - operationId: 'getSplitTest', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - split_test_id: { - in: 'path', - name: 'split_test_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/traffic_splits/{split_test_id}', - responses: { - 200: { - description: 'split_test', - schema: { - properties: { - active: { - type: 'boolean', - }, - branches: { - items: { - type: 'object', - }, - type: 'array', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - name: { - type: 'string', - }, - path: { - type: 'string', - }, - site_id: { - type: 'string', - }, - unpublished_at: { - format: 'dateTime', - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'splitTest', - ], - verb: 'get', - }, - { - operationId: 'enableSplitTest', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - split_test_id: { - in: 'path', - name: 'split_test_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/traffic_splits/{split_test_id}/publish', - responses: { - 204: { - description: 'enable', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'splitTest', - ], - verb: 'post', - }, - { - operationId: 'disableSplitTest', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - split_test_id: { - in: 'path', - name: 'split_test_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/traffic_splits/{split_test_id}/unpublish', - responses: { - 204: { - description: 'disabled', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'splitTest', - ], - verb: 'post', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createDnsZone', - parameters: { - body: { - DnsZoneParams: { - in: 'body', - name: 'DnsZoneParams', - required: true, - schema: { - properties: { - account_slug: { - type: 'string', - }, - name: { - type: 'string', - }, - site_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: {}, - query: {}, - }, - path: '/dns_zones', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - account_id: { - type: 'string', - }, - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - dedicated: { - type: 'boolean', - }, - dns_servers: { - items: { - type: 'string', - }, - type: 'array', - }, - domain: { - type: 'string', - }, - errors: { - items: { - type: 'string', - }, - type: 'array', - }, - id: { - type: 'string', - }, - ipv6_enabled: { - type: 'boolean', - }, - name: { - type: 'string', - }, - records: { - items: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - site_id: { - type: 'string', - }, - supported_record_types: { - items: { - type: 'string', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'post', - }, - { - operationId: 'getDnsZones', - parameters: { - body: {}, - path: {}, - query: { - account_slug: { - in: 'query', - name: 'account_slug', - required: false, - type: 'string', - }, - }, - }, - path: '/dns_zones', - responses: { - 200: { - description: 'get all DNS zones the user has access to', - schema: { - items: { - properties: { - account_id: { - type: 'string', - }, - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - dedicated: { - type: 'boolean', - }, - dns_servers: { - items: { - type: 'string', - }, - type: 'array', - }, - domain: { - type: 'string', - }, - errors: { - items: { - type: 'string', - }, - type: 'array', - }, - id: { - type: 'string', - }, - ipv6_enabled: { - type: 'boolean', - }, - name: { - type: 'string', - }, - records: { - items: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - site_id: { - type: 'string', - }, - supported_record_types: { - items: { - type: 'string', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'get', - }, - { - operationId: 'getDnsZone', - parameters: { - body: {}, - path: { - zone_id: { - in: 'path', - name: 'zone_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/dns_zones/{zone_id}', - responses: { - 200: { - description: 'get a single DNS zone', - schema: { - properties: { - account_id: { - type: 'string', - }, - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - dedicated: { - type: 'boolean', - }, - dns_servers: { - items: { - type: 'string', - }, - type: 'array', - }, - domain: { - type: 'string', - }, - errors: { - items: { - type: 'string', - }, - type: 'array', - }, - id: { - type: 'string', - }, - ipv6_enabled: { - type: 'boolean', - }, - name: { - type: 'string', - }, - records: { - items: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - site_id: { - type: 'string', - }, - supported_record_types: { - items: { - type: 'string', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'get', - }, - { - operationId: 'deleteDnsZone', - parameters: { - body: {}, - path: { - zone_id: { - in: 'path', - name: 'zone_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/dns_zones/{zone_id}', - responses: { - 204: { - description: 'delete a single DNS zone', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'delete', - }, - { - operationId: 'transferDnsZone', - parameters: { - body: {}, - path: { - zone_id: { - in: 'path', - name: 'zone_id', - required: true, - type: 'string', - }, - }, - query: { - account_id: { - description: 'the account of the dns zone', - in: 'query', - name: 'account_id', - required: true, - type: 'string', - }, - transfer_account_id: { - description: 'the account you want to transfer the dns zone to', - in: 'query', - name: 'transfer_account_id', - required: true, - type: 'string', - }, - transfer_user_id: { - description: 'the user you want to transfer the dns zone to', - in: 'query', - name: 'transfer_user_id', - required: true, - type: 'string', - }, - }, - }, - path: '/dns_zones/{zone_id}/transfer', - responses: { - 200: { - description: 'transfer a DNS zone to another account', - schema: { - properties: { - account_id: { - type: 'string', - }, - account_name: { - type: 'string', - }, - account_slug: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - dedicated: { - type: 'boolean', - }, - dns_servers: { - items: { - type: 'string', - }, - type: 'array', - }, - domain: { - type: 'string', - }, - errors: { - items: { - type: 'string', - }, - type: 'array', - }, - id: { - type: 'string', - }, - ipv6_enabled: { - type: 'boolean', - }, - name: { - type: 'string', - }, - records: { - items: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - site_id: { - type: 'string', - }, - supported_record_types: { - items: { - type: 'string', - }, - type: 'array', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - user_id: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'put', - }, - { - operationId: 'getDnsRecords', - parameters: { - body: {}, - path: { - zone_id: { - in: 'path', - name: 'zone_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/dns_zones/{zone_id}/dns_records', - responses: { - 200: { - description: 'get all DNS records for a single DNS zone', - schema: { - items: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createDnsRecord', - parameters: { - body: { - dns_record: { - in: 'body', - name: 'dns_record', - required: true, - schema: { - properties: { - flag: { - format: 'int64', - type: 'integer', - }, - hostname: { - type: 'string', - }, - port: { - format: 'int64', - type: 'integer', - }, - priority: { - format: 'int64', - type: 'integer', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - weight: { - format: 'int64', - type: 'integer', - }, - }, - type: 'object', - }, - }, - }, - path: { - zone_id: { - in: 'path', - name: 'zone_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/dns_zones/{zone_id}/dns_records', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'post', - }, - { - operationId: 'getIndividualDnsRecord', - parameters: { - body: {}, - path: { - dns_record_id: { - in: 'path', - name: 'dns_record_id', - required: true, - type: 'string', - }, - zone_id: { - in: 'path', - name: 'zone_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/dns_zones/{zone_id}/dns_records/{dns_record_id}', - responses: { - 200: { - description: 'get a single DNS record', - schema: { - properties: { - dns_zone_id: { - type: 'string', - }, - flag: { - type: 'integer', - }, - hostname: { - type: 'string', - }, - id: { - type: 'string', - }, - managed: { - type: 'boolean', - }, - priority: { - format: 'int64', - type: 'integer', - }, - site_id: { - type: 'string', - }, - tag: { - type: 'string', - }, - ttl: { - format: 'int64', - type: 'integer', - }, - type: { - type: 'string', - }, - value: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'get', - }, - { - operationId: 'deleteDnsRecord', - parameters: { - body: {}, - path: { - dns_record_id: { - in: 'path', - name: 'dns_record_id', - required: true, - type: 'string', - }, - zone_id: { - in: 'path', - name: 'zone_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/dns_zones/{zone_id}/dns_records/{dns_record_id}', - responses: { - 204: { - description: 'record deleted', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'dnsZone', - ], - verb: 'delete', - }, - { - operationId: 'listSiteDevServers', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - page: { - format: 'int32', - in: 'query', - name: 'page', - required: false, - type: 'integer', - }, - per_page: { - format: 'int32', - in: 'query', - name: 'per_page', - required: false, - type: 'integer', - }, - }, - }, - path: '/sites/{site_id}/dev_servers', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - done_at: { - format: 'dateTime', - type: 'string', - }, - error_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - live_at: { - format: 'dateTime', - type: 'string', - }, - site_id: { - type: 'string', - }, - starting_at: { - format: 'dateTime', - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'devServer', - ], - verb: 'get', - }, - { - operationId: 'createSiteDevServer', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - branch: { - in: 'query', - name: 'branch', - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/dev_servers', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - done_at: { - format: 'dateTime', - type: 'string', - }, - error_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - live_at: { - format: 'dateTime', - type: 'string', - }, - site_id: { - type: 'string', - }, - starting_at: { - format: 'dateTime', - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'devServer', - ], - verb: 'post', - }, - { - operationId: 'deleteSiteDevServers', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: { - branch: { - in: 'query', - name: 'branch', - type: 'string', - }, - }, - }, - path: '/sites/{site_id}/dev_servers', - responses: { - 202: { - description: 'OK', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'devServer', - ], - verb: 'delete', - }, - { - operationId: 'getSiteDevServer', - parameters: { - body: {}, - path: { - dev_server_id: { - in: 'path', - name: 'dev_server_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dev_servers/{dev_server_id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - done_at: { - format: 'dateTime', - type: 'string', - }, - error_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - live_at: { - format: 'dateTime', - type: 'string', - }, - site_id: { - type: 'string', - }, - starting_at: { - format: 'dateTime', - type: 'string', - }, - state: { - type: 'string', - }, - title: { - type: 'string', - }, - updated_at: { - format: 'dateTime', - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - tags: [ - 'devServer', - ], - verb: 'get', - }, - { - operationId: 'markDevServerActivity', - parameters: { - body: {}, - path: { - dev_server_id: { - in: 'path', - name: 'dev_server_id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dev_servers/{dev_server_id}/activity', - responses: { - 200: { - description: 'OK', - }, - }, - tags: [ - 'devServer', - ], - verb: 'post', - 'x-internal': true, - }, - { - operationId: 'listSiteDevServerHooks', - parameters: { - body: {}, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dev_server_hooks', - responses: { - 200: { - description: 'OK', - schema: { - items: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - type: { - enum: [ - 'new_dev_server', - 'content_refresh', - ], - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - type: 'array', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'devServerHook', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'createSiteDevServerHook', - parameters: { - body: { - devServerHook: { - in: 'body', - name: 'devServerHook', - required: true, - schema: { - properties: { - branch: { - type: 'string', - }, - title: { - type: 'string', - }, - type: { - enum: [ - 'new_dev_server', - 'content_refresh', - ], - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dev_server_hooks', - responses: { - 201: { - description: 'Created', - schema: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - type: { - enum: [ - 'new_dev_server', - 'content_refresh', - ], - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'devServerHook', - ], - verb: 'post', - }, - { - operationId: 'getSiteDevServerHook', - parameters: { - body: {}, - path: { - id: { - in: 'path', - name: 'id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dev_server_hooks/{id}', - responses: { - 200: { - description: 'OK', - schema: { - properties: { - branch: { - type: 'string', - }, - created_at: { - format: 'dateTime', - type: 'string', - }, - id: { - type: 'string', - }, - site_id: { - type: 'string', - }, - title: { - type: 'string', - }, - type: { - enum: [ - 'new_dev_server', - 'content_refresh', - ], - type: 'string', - }, - url: { - type: 'string', - }, - }, - type: 'object', - }, - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'devServerHook', - ], - verb: 'get', - }, - { - consumes: [ - 'application/json', - ], - operationId: 'updateSiteDevServerHook', - parameters: { - body: { - devServerHook: { - in: 'body', - name: 'devServerHook', - required: true, - schema: { - properties: { - branch: { - type: 'string', - }, - title: { - type: 'string', - }, - type: { - enum: [ - 'new_dev_server', - 'content_refresh', - ], - type: 'string', - }, - }, - type: 'object', - }, - }, - }, - path: { - id: { - in: 'path', - name: 'id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dev_server_hooks/{id}', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'devServerHook', - ], - verb: 'put', - }, - { - operationId: 'deleteSiteDevServerHook', - parameters: { - body: {}, - path: { - id: { - in: 'path', - name: 'id', - required: true, - type: 'string', - }, - site_id: { - in: 'path', - name: 'site_id', - required: true, - type: 'string', - }, - }, - query: {}, - }, - path: '/sites/{site_id}/dev_server_hooks/{id}', - responses: { - 204: { - description: 'No content', - }, - default: { - description: 'error', - schema: { - properties: { - code: { - format: 'int64', - type: 'integer', - }, - message: { - type: 'string', - 'x-nullable': false, - }, - }, - required: [ - 'message', - ], - type: 'object', - }, - }, - }, - tags: [ - 'devServerHook', - ], - verb: 'delete', - }, - ] diff --git a/packages/js-client/src/operations.test.ts.snap b/packages/js-client/src/operations.test.ts.snap deleted file mode 100644 index b9cef4b13a9e56b036a20dd7ef9c52c6fd158d95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104131 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 Date: Mon, 17 Jun 2024 13:52:46 +0100 Subject: [PATCH 3/3] chore: format --- packages/js-client/src/operations.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/js-client/src/operations.test.ts b/packages/js-client/src/operations.test.ts index 279fa4069c..f9fb8e5b18 100644 --- a/packages/js-client/src/operations.test.ts +++ b/packages/js-client/src/operations.test.ts @@ -8,6 +8,7 @@ test('Exported methods', (t) => { const api = new NetlifyAPI() for (const path in openApiSpec.paths) { + // eslint-disable-next-line @typescript-eslint/no-unused-vars const { parameters: _, ...verbs } = openApiSpec.paths[path] for (const verb in verbs) {