{ "swagger": "2.0", "info": { "version": "2.60.0", "title": "Netlify's API documentation", "description": "Netlify is a hosting service for the programmable web. It understands your documents and provides an API to handle atomic deploys of websites, manage form submissions, inject JavaScript snippets, and much more. This is a REST-style API that uses JSON for serialization and OAuth 2 for authentication.\n\nThis document is an OpenAPI reference for the Netlify API that you can explore. For more detailed instructions for common uses, please visit the [online documentation](https://www.netlify.com/docs/api/). Visit our Community forum to join the conversation about [understanding and using Netlify's API](https://community.netlify.com/t/common-issue-understanding-and-using-netlifys-api/160).\n\nAdditionally, we have two API clients for your convenience:\n- [Go Client](https://github.com/netlify/open-api#go-client)\n- [JS Client](https://github.com/netlify/build/tree/main/packages/js-client)", "termsOfService": "https://www.netlify.com/legal/terms-of-use/", "x-logo": { "url": "netlify-logo.png", "href": "https://www.netlify.com/docs/", "altText": "Netlify" } }, "externalDocs": { "url": "https://www.netlify.com/docs/api/", "description": "Online documentation" }, "securityDefinitions": { "netlifyAuth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://app.netlify.com/authorize" } }, "security": [ { "netlifyAuth": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "schemes": [ "https" ], "responses": { "error": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "host": "api.netlify.com", "basePath": "/api/v1", "paths": { "/sites": { "get": { "operationId": "listSites", "tags": [ "site" ], "parameters": [ { "name": "name", "in": "query", "type": "string" }, { "name": "filter", "in": "query", "type": "string", "enum": [ "all", "owner", "guest" ] }, { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "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." }, "post": { "operationId": "createSite", "tags": [ "site" ], "consumes": [ "application/json" ], "parameters": [ { "name": "site", "in": "body", "schema": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } }, { "properties": { "repo": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } } } } ] }, "required": true }, { "name": "configure_dns", "type": "boolean", "in": "query" } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "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." } }, "/sites/{site_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSite", "tags": [ "site" ], "parameters": [ { "name": "feature_flags", "x-internal": true, "type": "string", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "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." }, "patch": { "operationId": "updateSite", "tags": [ "site" ], "consumes": [ "application/json" ], "parameters": [ { "name": "site", "in": "body", "schema": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } }, { "properties": { "repo": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } } } } ] }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "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." }, "delete": { "operationId": "deleteSite", "tags": [ "site" ], "responses": { "204": { "description": "Deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/ssl": { "post": { "operationId": "provisionSiteTLSCertificate", "tags": [ "sniCertificate" ], "description": "Provisions or updates a TLS certificate for the site.\n\n**Creating a certificate (site has no certificate):**\n- Omit certificate params to initiate Let's Encrypt provisioning\n- Provide certificate, key, and ca_certificates to upload a custom certificate\n\n**Updating a certificate (site already has a certificate):**\n- REQUIRES certificate, key, and ca_certificates to replace with a new custom certificate\n- Use POST /api/v1/sites/{site_id}/ssl/renew to renew an existing Let's Encrypt certificate", "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "certificate", "type": "string", "in": "query", "description": "PEM-encoded certificate. Required when updating an existing certificate." }, { "name": "key", "type": "string", "in": "query", "description": "PEM-encoded private key. Required when updating an existing certificate." }, { "name": "ca_certificates", "type": "string", "in": "query", "description": "PEM-encoded CA certificate chain. Required when updating an existing certificate." } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "state": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "expires_at": { "type": "string", "format": "dateTime" } } } }, "422": { "description": "Unprocessable Entity. Returns errors such as: \"certificate parameter is required when updating an existing certificate\" (when updating without params), \"No custom domain configured\", or \"bad dns for custom domain\"" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "get": { "operationId": "showSiteTLSCertificate", "tags": [ "sniCertificate" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "state": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "expires_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/ssl/certificates": { "get": { "operationId": "getAllCertificates", "tags": [ "sniCertificate" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "domain", "type": "string", "in": "query", "required": true } ], "responses": { "200": { "description": "Array of SNI Certificates", "schema": { "type": "array", "items": { "type": "object", "properties": { "state": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "expires_at": { "type": "string", "format": "dateTime" } } } } }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" } } } }, "/accounts/{account_id}/env": { "get": { "tags": [ "environmentVariables" ], "operationId": "getEnvVars", "parameters": [ { "name": "account_id", "description": "Scope response to account_id", "type": "string", "required": true, "in": "path" }, { "name": "context_name", "description": "Filter by deploy context", "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production" ], "required": false, "in": "query" }, { "name": "scope", "description": "Filter by scope", "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ], "required": false, "in": "query" }, { "name": "site_id", "description": "If specified, only return environment variables set on this site", "type": "string", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "description": "The environment variable key, like ALGOLIA_ID (case-sensitive)", "x-faker": "commerce.productName" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] }, "description": "The scopes that this environment variable is set to" }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" }, "description": "An array of Value objects containing values and metadata", "x-faker": "internet.password" }, "is_secret": { "type": "boolean", "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." }, "updated_at": { "type": "string", "format": "date-time", "description": "The timestamp of when the value was last updated", "x-faker": "date.past" }, "updated_by": { "type": "object", "properties": { "id": { "type": "string", "description": "The user's unique identifier", "x-faker": "datatype.number" }, "full_name": { "type": "string", "description": "The user's full name (first and last)", "x-faker": "name.findName" }, "email": { "type": "string", "description": "The user's email address", "x-faker": "internet.email" }, "avatar_url": { "type": "string", "description": "A URL pointing to the user's avatar", "x-faker": "internet.avatar" } } } }, "description": "Environment variable model definition" } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "description": "Returns all environment variables for an account or site. An account corresponds to a team in the Netlify UI." }, "post": { "tags": [ "environmentVariables" ], "operationId": "createEnvVars", "description": "Creates new environment variables. Granular scopes are available on Pro plans and above.", "parameters": [ { "in": "body", "name": "env_vars", "schema": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "description": "The existing or new name of the key, if you wish to rename it (case-sensitive)" }, "scopes": { "description": "The scopes that this environment variable is set to (Pro plans and above)", "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] } }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" } }, "is_secret": { "type": "boolean", "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." } } } } }, { "name": "account_id", "description": "Scope response to account_id", "type": "string", "required": true, "in": "path" }, { "name": "site_id", "description": "If provided, create an environment variable on the site level, not the account level", "type": "string", "required": false, "in": "query" } ], "responses": { "201": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "description": "The environment variable key, like ALGOLIA_ID (case-sensitive)", "x-faker": "commerce.productName" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] }, "description": "The scopes that this environment variable is set to" }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" }, "description": "An array of Value objects containing values and metadata", "x-faker": "internet.password" }, "is_secret": { "type": "boolean", "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." }, "updated_at": { "type": "string", "format": "date-time", "description": "The timestamp of when the value was last updated", "x-faker": "date.past" }, "updated_by": { "type": "object", "properties": { "id": { "type": "string", "description": "The user's unique identifier", "x-faker": "datatype.number" }, "full_name": { "type": "string", "description": "The user's full name (first and last)", "x-faker": "name.findName" }, "email": { "type": "string", "description": "The user's email address", "x-faker": "internet.email" }, "avatar_url": { "type": "string", "description": "A URL pointing to the user's avatar", "x-faker": "internet.avatar" } } } }, "description": "Environment variable model definition" } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/api/v1/sites/{site_id}/env": { "get": { "tags": [ "environmentVariables" ], "operationId": "getSiteEnvVars", "parameters": [ { "name": "context_name", "description": "Filter by deploy context", "required": false, "in": "query", "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production" ] }, { "name": "scope", "description": "Filter by scope", "required": false, "in": "query", "type": "string", "enum": [ "builds", "functions", "runtime", "post_processing" ] }, { "name": "site_id", "description": "Scope response to site_id", "required": true, "type": "string", "in": "path" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "description": "The environment variable key, like ALGOLIA_ID (case-sensitive)", "x-faker": "commerce.productName" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] }, "description": "The scopes that this environment variable is set to" }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" }, "description": "An array of Value objects containing values and metadata", "x-faker": "internet.password" }, "is_secret": { "type": "boolean", "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." }, "updated_at": { "type": "string", "format": "date-time", "description": "The timestamp of when the value was last updated", "x-faker": "date.past" }, "updated_by": { "type": "object", "properties": { "id": { "type": "string", "description": "The user's unique identifier", "x-faker": "datatype.number" }, "full_name": { "type": "string", "description": "The user's full name (first and last)", "x-faker": "name.findName" }, "email": { "type": "string", "description": "The user's email address", "x-faker": "internet.email" }, "avatar_url": { "type": "string", "description": "A URL pointing to the user's avatar", "x-faker": "internet.avatar" } } } }, "description": "Environment variable model definition" } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "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." } }, "/accounts/{account_id}/env/{key}": { "get": { "tags": [ "environmentVariables" ], "operationId": "getEnvVar", "parameters": [ { "name": "account_id", "description": "Scope response to account_id", "type": "string", "required": true, "in": "path" }, { "name": "key", "description": "The environment variable key (case-sensitive)", "type": "string", "required": true, "in": "path" }, { "name": "site_id", "description": "If provided, return the environment variable for a specific site (no merging is performed)", "type": "string", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "key": { "type": "string", "description": "The environment variable key, like ALGOLIA_ID (case-sensitive)", "x-faker": "commerce.productName" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] }, "description": "The scopes that this environment variable is set to" }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" }, "description": "An array of Value objects containing values and metadata", "x-faker": "internet.password" }, "is_secret": { "type": "boolean", "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." }, "updated_at": { "type": "string", "format": "date-time", "description": "The timestamp of when the value was last updated", "x-faker": "date.past" }, "updated_by": { "type": "object", "properties": { "id": { "type": "string", "description": "The user's unique identifier", "x-faker": "datatype.number" }, "full_name": { "type": "string", "description": "The user's full name (first and last)", "x-faker": "name.findName" }, "email": { "type": "string", "description": "The user's email address", "x-faker": "internet.email" }, "avatar_url": { "type": "string", "description": "A URL pointing to the user's avatar", "x-faker": "internet.avatar" } } } }, "description": "Environment variable model definition" } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "description": "Returns an individual environment variable." }, "put": { "tags": [ "environmentVariables" ], "operationId": "updateEnvVar", "description": "Updates an existing environment variable and all of its values. Existing values will be replaced by values provided.", "parameters": [ { "name": "account_id", "description": "Scope response to account_id", "type": "string", "required": true, "in": "path" }, { "name": "key", "description": "The existing environment variable key name (case-sensitive)", "type": "string", "required": true, "in": "path" }, { "in": "body", "name": "env_var", "schema": { "type": "object", "properties": { "key": { "type": "string", "description": "The existing or new name of the key, if you wish to rename it (case-sensitive)" }, "scopes": { "description": "The scopes that this environment variable is set to (Pro plans and above)", "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] } }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" } }, "is_secret": { "type": "boolean", "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." } } } }, { "name": "site_id", "description": "If provided, update an environment variable set on this site", "type": "string", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "key": { "type": "string", "description": "The environment variable key, like ALGOLIA_ID (case-sensitive)", "x-faker": "commerce.productName" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] }, "description": "The scopes that this environment variable is set to" }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" }, "description": "An array of Value objects containing values and metadata", "x-faker": "internet.password" }, "is_secret": { "type": "boolean", "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." }, "updated_at": { "type": "string", "format": "date-time", "description": "The timestamp of when the value was last updated", "x-faker": "date.past" }, "updated_by": { "type": "object", "properties": { "id": { "type": "string", "description": "The user's unique identifier", "x-faker": "datatype.number" }, "full_name": { "type": "string", "description": "The user's full name (first and last)", "x-faker": "name.findName" }, "email": { "type": "string", "description": "The user's email address", "x-faker": "internet.email" }, "avatar_url": { "type": "string", "description": "A URL pointing to the user's avatar", "x-faker": "internet.avatar" } } } }, "description": "Environment variable model definition" } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "patch": { "tags": [ "environmentVariables" ], "operationId": "setEnvVarValue", "description": "Updates or creates a new value for an existing environment variable.", "parameters": [ { "name": "account_id", "description": "Scope response to account_id", "required": true, "type": "string", "in": "path" }, { "name": "key", "description": "The existing environment variable key name (case-sensitive)", "required": true, "type": "string", "in": "path" }, { "name": "site_id", "description": "If provided, update an environment variable set on this site", "in": "query", "type": "string" }, { "in": "body", "name": "env_var", "schema": { "type": "object", "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`.", "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ] }, "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" } } } } ], "responses": { "201": { "description": "Created (success)", "schema": { "type": "object", "properties": { "key": { "type": "string", "description": "The environment variable key, like ALGOLIA_ID (case-sensitive)", "x-faker": "commerce.productName" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] }, "description": "The scopes that this environment variable is set to" }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" }, "description": "An array of Value objects containing values and metadata", "x-faker": "internet.password" }, "is_secret": { "type": "boolean", "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." }, "updated_at": { "type": "string", "format": "date-time", "description": "The timestamp of when the value was last updated", "x-faker": "date.past" }, "updated_by": { "type": "object", "properties": { "id": { "type": "string", "description": "The user's unique identifier", "x-faker": "datatype.number" }, "full_name": { "type": "string", "description": "The user's full name (first and last)", "x-faker": "name.findName" }, "email": { "type": "string", "description": "The user's email address", "x-faker": "internet.email" }, "avatar_url": { "type": "string", "description": "A URL pointing to the user's avatar", "x-faker": "internet.avatar" } } } }, "description": "Environment variable model definition" } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "tags": [ "environmentVariables" ], "operationId": "deleteEnvVar", "parameters": [ { "name": "account_id", "description": "Scope response to account_id", "type": "string", "required": true, "in": "path" }, { "name": "key", "description": "The environment variable key (case-sensitive)", "type": "string", "required": true, "in": "path" }, { "name": "site_id", "description": "If provided, delete the environment variable from this site", "type": "string", "required": false, "in": "query" } ], "responses": { "204": { "description": "No Content (success)" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "description": "Deletes an environment variable" } }, "/accounts/{account_id}/env/{key}/value/{id}": { "delete": { "tags": [ "environmentVariables" ], "operationId": "deleteEnvVarValue", "parameters": [ { "name": "account_id", "description": "Scope response to account_id", "required": true, "in": "path", "type": "string" }, { "name": "id", "description": "The environment variable value's ID", "type": "string", "required": true, "in": "path" }, { "name": "key", "description": "The environment variable key name (case-sensitive)", "type": "string", "required": true, "in": "path" }, { "name": "site_id", "description": "If provided, delete the value from an environment variable on this site", "type": "string", "required": false, "in": "query" } ], "responses": { "204": { "description": "No Content (success)" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "description": "Deletes a specific environment variable value." } }, "/sites/{site_id}/functions": { "get": { "operationId": "searchSiteFunctions", "tags": [ "function" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "filter", "type": "string", "in": "query", "required": false } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "branch": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "functions": { "type": "array", "items": { "type": "object" } }, "id": { "type": "string" }, "log_type": { "type": "string" }, "provider": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/forms": { "get": { "operationId": "listSiteForms", "tags": [ "form" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" }, "paths": { "type": "array", "items": { "type": "string" } }, "submission_count": { "type": "integer", "format": "int32" }, "fields": { "type": "array", "items": { "type": "object" } }, "created_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/forms/{form_id}": { "delete": { "operationId": "deleteSiteForm", "tags": [ "form" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "form_id", "type": "string", "in": "path", "required": true } ], "responses": { "204": { "description": "Deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/submissions": { "get": { "operationId": "listSiteSubmissions", "tags": [ "submission" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "number": { "type": "integer", "format": "int32" }, "email": { "type": "string" }, "name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company": { "type": "string" }, "summary": { "type": "string" }, "body": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "site_url": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/files": { "get": { "operationId": "listSiteFiles", "tags": [ "file" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "path": { "type": "string" }, "sha": { "type": "string" }, "mime_type": { "type": "string" }, "size": { "type": "integer", "format": "int64" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/assets": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteAssets", "tags": [ "asset" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "creator_id": { "type": "string" }, "name": { "type": "string" }, "state": { "type": "string" }, "content_type": { "type": "string" }, "url": { "type": "string" }, "key": { "type": "string" }, "visibility": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createSiteAsset", "tags": [ "asset" ], "parameters": [ { "name": "name", "type": "string", "in": "query", "required": true }, { "name": "size", "type": "integer", "format": "int64", "in": "query", "required": true }, { "name": "content_type", "type": "string", "in": "query", "required": true }, { "name": "visibility", "type": "string", "in": "query" } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "form": { "type": "object", "properties": { "url": { "type": "string" }, "fields": { "type": "object", "additionalProperties": { "type": "string" } } } }, "asset": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "creator_id": { "type": "string" }, "name": { "type": "string" }, "state": { "type": "string" }, "content_type": { "type": "string" }, "url": { "type": "string" }, "key": { "type": "string" }, "visibility": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/assets/{asset_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "asset_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSiteAssetInfo", "tags": [ "asset" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "creator_id": { "type": "string" }, "name": { "type": "string" }, "state": { "type": "string" }, "content_type": { "type": "string" }, "url": { "type": "string" }, "key": { "type": "string" }, "visibility": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateSiteAsset", "tags": [ "asset" ], "parameters": [ { "name": "state", "type": "string", "in": "query", "required": true } ], "responses": { "200": { "description": "Updated", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "creator_id": { "type": "string" }, "name": { "type": "string" }, "state": { "type": "string" }, "content_type": { "type": "string" }, "url": { "type": "string" }, "key": { "type": "string" }, "visibility": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSiteAsset", "tags": [ "asset" ], "responses": { "204": { "description": "Deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/assets/{asset_id}/public_signature": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "asset_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSiteAssetPublicSignature", "tags": [ "assetPublicSignature" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "url": { "type": "string" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/files/{file_path}": { "get": { "operationId": "getSiteFileByPathName", "tags": [ "file" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "file_path", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "path": { "type": "string" }, "sha": { "type": "string" }, "mime_type": { "type": "string" }, "size": { "type": "integer", "format": "int64" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/purge": { "post": { "operationId": "purgeCache", "description": "Purges cached content from Netlify's CDN. Supports purging by Cache-Tag.", "tags": [ "purge" ], "consumes": [ "application/json" ], "parameters": [ { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { "site_id": { "type": "string" }, "site_slug": { "type": "string" }, "cache_tags": { "type": "array", "items": { "type": "string" } } } }, "required": true } ], "responses": { "202": { "description": "OK" }, "400": { "description": "Invalid request parameters" }, "404": { "description": "Site not found" } } } }, "/sites/{site_id}/snippets": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteSnippets", "tags": [ "snippet" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "general": { "type": "string" }, "general_position": { "type": "string" }, "goal": { "type": "string" }, "goal_position": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createSiteSnippet", "tags": [ "snippet" ], "consumes": [ "application/json" ], "parameters": [ { "name": "snippet", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "general": { "type": "string" }, "general_position": { "type": "string" }, "goal": { "type": "string" }, "goal_position": { "type": "string" } } }, "required": true } ], "responses": { "201": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "general": { "type": "string" }, "general_position": { "type": "string" }, "goal": { "type": "string" }, "goal_position": { "type": "string" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/snippets/{snippet_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "snippet_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSiteSnippet", "tags": [ "snippet" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "general": { "type": "string" }, "general_position": { "type": "string" }, "goal": { "type": "string" }, "goal_position": { "type": "string" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateSiteSnippet", "tags": [ "snippet" ], "consumes": [ "application/json" ], "parameters": [ { "name": "snippet", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "general": { "type": "string" }, "general_position": { "type": "string" }, "goal": { "type": "string" }, "goal_position": { "type": "string" } } }, "required": true } ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSiteSnippet", "tags": [ "snippet" ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/metadata": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSiteMetadata", "tags": [ "metadata" ], "responses": { "200": { "description": "OK", "schema": { "type": "object" } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateSiteMetadata", "tags": [ "metadata" ], "parameters": [ { "name": "metadata", "in": "body", "schema": { "type": "object" }, "required": true } ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/build_hooks": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteBuildHooks", "tags": [ "buildHook" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "site_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createSiteBuildHook", "tags": [ "buildHook" ], "consumes": [ "application/json" ], "parameters": [ { "name": "buildHook", "in": "body", "schema": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" } } }, "required": true } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "site_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/build_hooks/{id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSiteBuildHook", "tags": [ "buildHook" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "site_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateSiteBuildHook", "tags": [ "buildHook" ], "consumes": [ "application/json" ], "parameters": [ { "name": "buildHook", "in": "body", "schema": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" } } }, "required": true } ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSiteBuildHook", "tags": [ "buildHook" ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/deploys": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "deploy-previews", "type": "boolean", "in": "query" }, { "name": "production", "type": "boolean", "in": "query" }, { "name": "state", "type": "string", "enum": [ "new", "pending_review", "accepted", "rejected", "enqueued", "building", "uploading", "uploaded", "preparing", "prepared", "processing", "processed", "ready", "error", "retrying" ], "in": "query" }, { "name": "branch", "type": "string", "in": "query" }, { "name": "latest-published", "type": "boolean", "in": "query" } ], "get": { "operationId": "listSiteDeploys", "tags": [ "deploy" ], "parameters": [ { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createSiteDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "title", "type": "string", "in": "query" }, { "name": "deploy", "in": "body", "schema": { "type": "object", "description": "Deploy files can be provided in two ways:\n1. As a JSON object using 'files' (a hash mapping file paths to SHA1 digests), OR\n2. As a zip file using one of these methods:\n - Set Content-Type to 'application/zip' and send the zip file as the raw request body\n - Include the zip file content in the 'zip' field of this JSON object with Content-Type 'application/json'\n", "properties": { "files": { "type": "object", "description": "A hash mapping file paths to SHA1 digests of the file contents." }, "zip": { "type": "string", "format": "binary", "description": "A zip file containing the site files to deploy. Alternative to 'files'.\nTo use this field, set Content-Type to 'application/json' and include the zip content here.\nAlternatively, you can set Content-Type to 'application/zip' and send the zip as the raw request body (not as JSON).\n" }, "draft": { "type": "boolean" }, "async": { "type": "boolean" }, "functions": { "type": "object" }, "edge_functions": { "type": "object", "description": "A hash mapping edge-function bundle formats to the code_sha of each bundle. The\nresponse's required_edge_functions lists which of these still need to be uploaded.\n" }, "server": { "type": "object", "description": "The deploy's Netlify Server. A deploy has at most one. The response's\nrequired_server says whether it still needs to be uploaded.\n", "required": [ "sha" ], "properties": { "sha": { "type": "string", "description": "The SHA256 digest of the server bundle." }, "region": { "type": "string", "description": "Where the server runs. Defaults to the region configured at the site level\nwhen absent.\n" } } }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_config": { "type": "object", "additionalProperties": { "type": "object", "properties": { "display_name": { "type": "string" }, "generator": { "type": "string" }, "build_data": { "type": "object" }, "memory": { "type": "integer", "description": "The function's memory allocation in MB. Mutually exclusive with `vcpu`.\n" }, "routes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" }, "methods": { "type": "array", "items": { "type": "string", "enum": [ "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS" ] } }, "prefer_static": { "type": "boolean" } } } }, "excluded_routes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" } } } }, "priority": { "type": "integer" }, "region": { "type": "string" }, "traffic_rules": { "type": "object", "properties": { "action": { "type": "object", "properties": { "type": { "type": "string" }, "config": { "type": "object", "properties": { "to": { "type": "string" }, "rate_limit_config": { "type": "object", "properties": { "algorithm": { "type": "string", "enum": [ "sliding_window" ] }, "window_size": { "type": "integer" }, "window_limit": { "type": "integer" } } }, "aggregate": { "type": "object", "properties": { "keys": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "ip", "domain" ] } } } } } } } } } } } }, "vcpu": { "type": "number", "format": "float", "description": "Number of vCPUs to provision for the function. Allowed range is\n0.5–2.\n" }, "event_subscriptions": { "type": "array", "items": { "type": "string" } } } } }, "branch": { "type": "string" }, "framework": { "type": "string" }, "framework_version": { "type": "string" }, "environment": { "description": "A list of deploy-specific environment variable data. Data specified this way applies only\nto this specific deploy and is merged into any existing environment variables set on the\naccount and site.\n\nDeploy-specific environment variable data takes precedence over account and site\nenvironment variable data: For example, a deploy-specific variable with the key `NODE_ENV`\nwill take priority over any existing site- and account-level environment variable data\nwith the key `NODE_ENV`.\n\nEnvironment variable data may be provided at one of two times:\n\n- When creating a new Deploy with deploy files (most common)\n- When finalizing an existing Deploy with deploy files\n\nOnce set, environment variables for a specific deploy cannot be modified. Subsequent\nattempts to modify environment variable data for a deploy will be ignored.\n", "type": "array", "items": { "type": "object", "required": [ "key", "value", "scopes", "is_secret" ], "properties": { "key": { "type": "string" }, "value": { "type": "string" }, "is_secret": { "type": "boolean" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] } } } } } } }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/deploys/{deploy_id}": { "get": { "operationId": "getSiteDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "deploy_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateSiteDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "deploy_id", "type": "string", "in": "path", "required": true }, { "name": "commit_ref", "type": "string", "in": "query" }, { "name": "deploy", "in": "body", "schema": { "type": "object", "description": "Deploy files can be provided in two ways:\n1. As a JSON object using 'files' (a hash mapping file paths to SHA1 digests), OR\n2. As a zip file using one of these methods:\n - Set Content-Type to 'application/zip' and send the zip file as the raw request body\n - Include the zip file content in the 'zip' field of this JSON object with Content-Type 'application/json'\n", "properties": { "files": { "type": "object", "description": "A hash mapping file paths to SHA1 digests of the file contents." }, "zip": { "type": "string", "format": "binary", "description": "A zip file containing the site files to deploy. Alternative to 'files'.\nTo use this field, set Content-Type to 'application/json' and include the zip content here.\nAlternatively, you can set Content-Type to 'application/zip' and send the zip as the raw request body (not as JSON).\n" }, "draft": { "type": "boolean" }, "async": { "type": "boolean" }, "functions": { "type": "object" }, "edge_functions": { "type": "object", "description": "A hash mapping edge-function bundle formats to the code_sha of each bundle. The\nresponse's required_edge_functions lists which of these still need to be uploaded.\n" }, "server": { "type": "object", "description": "The deploy's Netlify Server. A deploy has at most one. The response's\nrequired_server says whether it still needs to be uploaded.\n", "required": [ "sha" ], "properties": { "sha": { "type": "string", "description": "The SHA256 digest of the server bundle." }, "region": { "type": "string", "description": "Where the server runs. Defaults to the region configured at the site level\nwhen absent.\n" } } }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_config": { "type": "object", "additionalProperties": { "type": "object", "properties": { "display_name": { "type": "string" }, "generator": { "type": "string" }, "build_data": { "type": "object" }, "memory": { "type": "integer", "description": "The function's memory allocation in MB. Mutually exclusive with `vcpu`.\n" }, "routes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" }, "methods": { "type": "array", "items": { "type": "string", "enum": [ "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS" ] } }, "prefer_static": { "type": "boolean" } } } }, "excluded_routes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" } } } }, "priority": { "type": "integer" }, "region": { "type": "string" }, "traffic_rules": { "type": "object", "properties": { "action": { "type": "object", "properties": { "type": { "type": "string" }, "config": { "type": "object", "properties": { "to": { "type": "string" }, "rate_limit_config": { "type": "object", "properties": { "algorithm": { "type": "string", "enum": [ "sliding_window" ] }, "window_size": { "type": "integer" }, "window_limit": { "type": "integer" } } }, "aggregate": { "type": "object", "properties": { "keys": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "ip", "domain" ] } } } } } } } } } } } }, "vcpu": { "type": "number", "format": "float", "description": "Number of vCPUs to provision for the function. Allowed range is\n0.5–2.\n" }, "event_subscriptions": { "type": "array", "items": { "type": "string" } } } } }, "branch": { "type": "string" }, "framework": { "type": "string" }, "framework_version": { "type": "string" }, "environment": { "description": "A list of deploy-specific environment variable data. Data specified this way applies only\nto this specific deploy and is merged into any existing environment variables set on the\naccount and site.\n\nDeploy-specific environment variable data takes precedence over account and site\nenvironment variable data: For example, a deploy-specific variable with the key `NODE_ENV`\nwill take priority over any existing site- and account-level environment variable data\nwith the key `NODE_ENV`.\n\nEnvironment variable data may be provided at one of two times:\n\n- When creating a new Deploy with deploy files (most common)\n- When finalizing an existing Deploy with deploy files\n\nOnce set, environment variables for a specific deploy cannot be modified. Subsequent\nattempts to modify environment variable data for a deploy will be ignored.\n", "type": "array", "items": { "type": "object", "required": [ "key", "value", "scopes", "is_secret" ], "properties": { "key": { "type": "string" }, "value": { "type": "string" }, "is_secret": { "type": "boolean" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] } } } } } } }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSiteDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true }, { "name": "site_id", "type": "string", "in": "path", "required": true } ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}/cancel": { "post": { "operationId": "cancelSiteDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true } ], "responses": { "201": { "description": "Cancelled", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/deploys/{deploy_id}/restore": { "post": { "operationId": "restoreSiteDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "deploy_id", "type": "string", "in": "path", "required": true } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/builds": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteBuilds", "tags": [ "build" ], "parameters": [ { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "deploy_id": { "type": "string" }, "sha": { "type": "string" }, "done": { "type": "boolean" }, "error": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createSiteBuild", "tags": [ "build" ], "description": "Runs a build for a site. The build will be scheduled to run at the first opportunity, but it might not start immediately if insufficient account build capacity is available.\n\nFiles for build can be uploaded as a zipped site using one of these methods:\n1. Set Content-Type to 'application/zip' and send the zip file as the raw request body\n2. Set Content-Type to 'multipart/form-data' and include the zip file in the 'zip' field\n", "consumes": [ "multipart/form-data" ], "parameters": [ { "name": "branch", "description": "If no branch is specified, it is treated as a production deploy If a branch IS specified and matches the main branch, it is also production If a branch is specified and doesn't match the main branch, it is a branch deploy", "required": false, "in": "query", "type": "string" }, { "name": "clear_cache", "description": "Whether to clear the build cache before building", "required": false, "in": "query", "type": "boolean" }, { "name": "image", "description": "The build image tag to use for the build", "required": false, "in": "query", "type": "string" }, { "name": "template_id", "description": "The build template to use for the build", "required": false, "in": "query", "type": "string" }, { "name": "title", "description": "The title of the build", "required": false, "in": "query", "type": "string" }, { "name": "zip", "description": "A zip file containing the site files to build.\nOnly used with Content-Type 'multipart/form-data'.\nAlternatively, set Content-Type to 'application/zip' and send the zip as the raw request body (no 'zip' parameter needed).\n", "required": false, "in": "formData", "type": "file" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "deploy_id": { "type": "string" }, "sha": { "type": "string" }, "done": { "type": "boolean" }, "error": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/deployed-branches": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteDeployedBranches", "tags": [ "deployedBranch" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "deploy_id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/unlink_repo": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "put": { "operationId": "unlinkSiteRepo", "tags": [ "site" ], "description": "[Beta] Unlinks the repo from the site.\n\nThis action will also:\n- Delete associated deploy keys\n- Delete outgoing webhooks for the repo\n- Delete the site's build hooks", "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } } }, "404": { "description": "Site not found" } } } }, "/sites/{site_id}/enable": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "put": { "operationId": "enableSite", "tags": [ "site" ], "description": "Re-enables a site that was previously disabled by the user. Sites that were disabled for usage exceeded or marked as spam cannot be re-enabled via this endpoint.", "responses": { "204": { "description": "No content" }, "422": { "description": "Cannot enable this site", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/disable": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "put": { "operationId": "disableSite", "tags": [ "site" ], "description": "Disables a site, preventing it from serving content. The site can be re-enabled later using the enable endpoint.", "parameters": [ { "name": "reason", "type": "string", "in": "query", "required": true, "description": "Reason for disabling the site" } ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/builds/{build_id}": { "parameters": [ { "name": "build_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSiteBuild", "tags": [ "build" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "deploy_id": { "type": "string" }, "sha": { "type": "string" }, "done": { "type": "boolean" }, "error": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/builds/{build_id}/log": { "parameters": [ { "name": "build_id", "type": "string", "in": "path", "required": true }, { "name": "msg", "in": "body", "schema": { "type": "object", "properties": { "message": { "type": "string" }, "error": { "type": "boolean" }, "section": { "type": "string", "enum": [ "initializing", "building", "deploying", "cleanup", "postprocessing" ] } } }, "required": true } ], "post": { "operationId": "updateSiteBuildLog", "tags": [ "buildLogMsg" ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/builds/{build_id}/start": { "parameters": [ { "name": "build_id", "type": "string", "in": "path", "required": true }, { "name": "buildbot_version", "type": "string", "in": "query", "required": false }, { "name": "build_version", "type": "string", "in": "query", "required": false }, { "name": "task_id", "type": "string", "in": "query", "required": false } ], "post": { "operationId": "notifyBuildStart", "tags": [ "build" ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/{account_id}/builds/status": { "parameters": [ { "name": "account_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getAccountBuildStatus", "tags": [ "build" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "active": { "type": "integer" }, "pending_concurrency": { "type": "integer" }, "enqueued": { "type": "integer" }, "build_count": { "type": "integer" }, "minutes": { "type": "object", "properties": { "current": { "type": "integer" }, "current_average_sec": { "type": "integer" }, "previous": { "type": "integer" }, "period_start_date": { "type": "string", "format": "dateTime" }, "period_end_date": { "type": "string", "format": "dateTime" }, "last_updated_at": { "type": "string", "format": "dateTime" }, "included_minutes": { "type": "string" }, "included_minutes_with_packs": { "type": "string" } } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/dns": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getDNSForSite", "tags": [ "dnsZone" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "errors": { "type": "array", "items": { "type": "string" } }, "supported_record_types": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dns_servers": { "type": "array", "items": { "type": "string" } }, "account_id": { "type": "string" }, "site_id": { "type": "string" }, "account_slug": { "type": "string" }, "account_name": { "type": "string" }, "domain": { "type": "string" }, "ipv6_enabled": { "type": "boolean" }, "dedicated": { "type": "boolean" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "configureDNSForSite", "tags": [ "dnsZone" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "errors": { "type": "array", "items": { "type": "string" } }, "supported_record_types": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dns_servers": { "type": "array", "items": { "type": "string" } }, "account_id": { "type": "string" }, "site_id": { "type": "string" }, "account_slug": { "type": "string" }, "account_name": { "type": "string" }, "domain": { "type": "string" }, "ipv6_enabled": { "type": "boolean" }, "dedicated": { "type": "boolean" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/rollback": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "put": { "operationId": "rollbackSiteDeploy", "tags": [ "deploy" ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}": { "get": { "operationId": "getDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true } ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}/validations_report": { "patch": { "operationId": "updateDeployValidations", "tags": [ "deploy" ], "description": "Updates the deploy validations report for a deploy.", "x-internal": true, "x-controller": "api/v1/deploys", "x-action": "validations_report", "parameters": [ { "name": "deploy_id", "description": "The ID of the deploy", "type": "string", "in": "path", "required": true }, { "name": "report", "in": "body", "required": true, "schema": { "type": "object", "properties": { "secrets_scan": { "type": "object" } } } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the deploy validations report" }, "deploy_id": { "type": "string", "description": "The id of the deploy" }, "secret_scan_result": { "type": "object", "properties": { "scannedFilesCount": { "type": "integer", "description": "The number of files scanned" }, "secretsScanMatches": { "type": "array", "items": { "type": "string" }, "description": "The list of secrets scan matches" } } } } } } } } }, "/deploys/{deploy_id}/lock": { "post": { "operationId": "lockDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}/unlock": { "post": { "operationId": "unlockDeploy", "tags": [ "deploy" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}/files/{path}": { "put": { "operationId": "uploadDeployFile", "tags": [ "file" ], "consumes": [ "application/octet-stream" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true }, { "name": "path", "type": "string", "in": "path", "required": true }, { "name": "size", "type": "integer", "in": "query" }, { "name": "file_body", "in": "body", "schema": { "type": "string", "format": "binary" }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "path": { "type": "string" }, "sha": { "type": "string" }, "mime_type": { "type": "string" }, "size": { "type": "integer", "format": "int64" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}/functions/{name}": { "put": { "operationId": "uploadDeployFunction", "tags": [ "function" ], "consumes": [ "application/octet-stream" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true }, { "name": "name", "type": "string", "in": "path", "required": true }, { "name": "runtime", "type": "string", "in": "query" }, { "name": "invocation_mode", "in": "query", "type": "string" }, { "name": "timeout", "in": "query", "type": "integer" }, { "name": "size", "type": "integer", "in": "query" }, { "name": "file_body", "in": "body", "schema": { "type": "string", "format": "binary" }, "required": true }, { "name": "X-Nf-Retry-Count", "type": "integer", "in": "header" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "sha": { "type": "string" }, "region": { "type": "string" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}/server/{code_sha}": { "put": { "operationId": "uploadDeployServer", "tags": [ "deploy" ], "consumes": [ "application/octet-stream" ], "description": "Uploads the deploy's Netlify Server bundle, addressed by the digest the deploy\ndeclared in its `server` property.\n", "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true }, { "name": "code_sha", "type": "string", "in": "path", "required": true }, { "name": "size", "type": "integer", "in": "query" }, { "name": "file_body", "in": "body", "schema": { "type": "string", "format": "binary" }, "required": true }, { "name": "X-Nf-Retry-Count", "type": "integer", "in": "header" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}/edge_functions/{code_sha}": { "put": { "operationId": "uploadDeployEdgeFunction", "tags": [ "edgeFunction" ], "consumes": [ "application/octet-stream" ], "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true }, { "name": "code_sha", "type": "string", "in": "path", "required": true }, { "name": "file_body", "in": "body", "schema": { "type": "string", "format": "binary" }, "required": true }, { "name": "X-Nf-Retry-Count", "type": "integer", "in": "header" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/plugins/{package}": { "put": { "x-internal": true, "operationId": "updatePlugin", "tags": [ "x-internal" ], "description": "This is an internal-only endpoint.", "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "package", "type": "string", "in": "path", "required": true }, { "name": "plugin_params", "in": "body", "schema": { "type": "object", "properties": { "pinned_version": { "type": "string" } } } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "package": { "type": "string" }, "pinned_version": { "type": "string" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/plugin_runs/latest": { "get": { "x-internal": true, "operationId": "getLatestPluginRuns", "tags": [ "x-internal" ], "description": "This is an internal-only endpoint.", "parameters": [ { "name": "site_id", "in": "path", "type": "string", "required": true }, { "name": "packages", "in": "query", "type": "array", "items": { "type": "string" }, "required": true }, { "name": "state", "in": "query", "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "allOf": [ { "type": "object", "properties": { "package": { "type": "string" }, "version": { "type": "string" }, "state": { "type": "string" }, "reporting_event": { "type": "string" }, "title": { "type": "string" }, "summary": { "type": "string" }, "text": { "type": "string" } } }, { "type": "object", "properties": { "deploy_id": { "type": "string" } } } ] } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploys/{deploy_id}/plugin_runs": { "post": { "x-internal": true, "operationId": "createPluginRun", "tags": [ "x-internal" ], "description": "This is an internal-only endpoint.", "parameters": [ { "name": "deploy_id", "type": "string", "in": "path", "required": true }, { "name": "plugin_run", "in": "body", "schema": { "type": "object", "properties": { "package": { "type": "string" }, "version": { "type": "string" }, "state": { "type": "string" }, "reporting_event": { "type": "string" }, "title": { "type": "string" }, "summary": { "type": "string" }, "text": { "type": "string" } } } } ], "responses": { "201": { "description": "CREATED", "schema": { "allOf": [ { "type": "object", "properties": { "package": { "type": "string" }, "version": { "type": "string" }, "state": { "type": "string" }, "reporting_event": { "type": "string" }, "title": { "type": "string" }, "summary": { "type": "string" }, "text": { "type": "string" } } }, { "type": "object", "properties": { "deploy_id": { "type": "string" } } } ] } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/forms/{form_id}/submissions": { "get": { "operationId": "listFormSubmissions", "tags": [ "submission" ], "parameters": [ { "name": "form_id", "type": "string", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "number": { "type": "integer", "format": "int32" }, "email": { "type": "string" }, "name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company": { "type": "string" }, "summary": { "type": "string" }, "body": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "site_url": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/hooks": { "get": { "operationId": "listHooksBySiteId", "tags": [ "hook" ], "parameters": [ { "name": "site_id", "in": "query", "type": "string", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "type": { "type": "string" }, "event": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "disabled": { "type": "boolean" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createHookBySiteId", "tags": [ "hook" ], "consumes": [ "application/json" ], "parameters": [ { "name": "site_id", "type": "string", "in": "query", "required": true }, { "name": "hook", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "type": { "type": "string" }, "event": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "disabled": { "type": "boolean" } } }, "required": true } ], "responses": { "201": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "type": { "type": "string" }, "event": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "disabled": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/hooks/{hook_id}": { "parameters": [ { "name": "hook_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getHook", "tags": [ "hook" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "type": { "type": "string" }, "event": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "disabled": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateHook", "tags": [ "hook" ], "parameters": [ { "name": "hook", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "type": { "type": "string" }, "event": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "disabled": { "type": "boolean" } } }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "type": { "type": "string" }, "event": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "disabled": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteHook", "tags": [ "hook" ], "responses": { "204": { "description": "No content" } } } }, "/hooks/{hook_id}/enable": { "parameters": [ { "name": "hook_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "enableHook", "tags": [ "hook" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "type": { "type": "string" }, "event": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "disabled": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/hooks/types": { "get": { "operationId": "listHookTypes", "tags": [ "hookType" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "events": { "type": "array", "items": { "type": "string" } }, "fields": { "type": "array", "items": { "type": "object" } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/oauth/tickets": { "post": { "operationId": "createTicket", "tags": [ "ticket" ], "parameters": [ { "name": "client_id", "type": "string", "in": "query", "required": true }, { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "message": { "type": "string" } } } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "client_id": { "type": "string" }, "authorized": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "401": { "description": "OAuth application not found", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } }, "422": { "description": "Validation error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/oauth/tickets/{ticket_id}": { "get": { "operationId": "showTicket", "tags": [ "ticket" ], "parameters": [ { "name": "ticket_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "ok", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "client_id": { "type": "string" }, "authorized": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/oauth/tickets/{ticket_id}/exchange": { "post": { "operationId": "exchangeTicket", "tags": [ "accessToken" ], "parameters": [ { "name": "ticket_id", "type": "string", "in": "path", "required": true } ], "responses": { "201": { "description": "ok", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "access_token": { "type": "string" }, "user_id": { "type": "string" }, "user_email": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploy_keys": { "get": { "operationId": "listDeployKeys", "tags": [ "deployKey" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "public_key": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createDeployKey", "tags": [ "deployKey" ], "consumes": [ "application/json" ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "public_key": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/deploy_keys/{key_id}": { "parameters": [ { "name": "key_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getDeployKey", "tags": [ "deployKey" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "public_key": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteDeployKey", "tags": [ "deployKey" ], "responses": { "204": { "description": "Not Content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/{account_slug}/sites": { "post": { "operationId": "createSiteInTeam", "tags": [ "site" ], "consumes": [ "application/json" ], "parameters": [ { "name": "site", "in": "body", "schema": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } }, { "properties": { "repo": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } } } } ] } }, { "name": "configure_dns", "type": "boolean", "in": "query" }, { "name": "account_slug", "in": "path", "type": "string", "required": true } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "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." }, "get": { "operationId": "listSitesForAccount", "tags": [ "site" ], "parameters": [ { "name": "name", "in": "query", "type": "string" }, { "name": "account_slug", "in": "path", "type": "string", "required": true }, { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "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." } }, "/{account_slug}/members": { "parameters": [ { "name": "account_slug", "in": "path", "type": "string", "required": true } ], "get": { "operationId": "listMembersForAccount", "tags": [ "member" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" }, "role": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "addMemberToAccount", "tags": [ "member" ], "consumes": [ "application/json" ], "parameters": [ { "name": "accountAddMemberSetup", "in": "body", "schema": { "type": "object", "properties": { "role": { "type": "string", "enum": [ "Owner", "Developer", "Billing Admin", "Reviewer" ] }, "email": { "type": "string" } } }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" }, "role": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/{account_slug}/members/{member_id}": { "parameters": [ { "name": "account_slug", "in": "path", "type": "string", "required": true }, { "name": "member_id", "in": "path", "type": "string", "required": true } ], "get": { "operationId": "getAccountMember", "tags": [ "member" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" }, "role": { "type": "string" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateAccountMember", "tags": [ "member" ], "consumes": [ "application/json" ], "parameters": [ { "name": "accountUpdateMemberSetup", "in": "body", "schema": { "type": "object", "properties": { "role": { "type": "string", "enum": [ "Owner", "Developer", "Billing Admin", "Reviewer" ] }, "site_access": { "type": "string", "enum": [ "all", "none", "selected" ] }, "site_ids": { "type": "array", "items": { "type": "string" } } } }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" }, "role": { "type": "string" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "removeAccountMember", "tags": [ "member" ], "responses": { "204": { "description": "Not Content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/billing/payment_methods": { "get": { "operationId": "listPaymentMethodsForUser", "tags": [ "paymentMethod" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "method_name": { "type": "string" }, "type": { "type": "string" }, "state": { "type": "string" }, "data": { "type": "object", "properties": { "card_type": { "type": "string" }, "last4": { "type": "string" }, "email": { "type": "string" } } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/accounts/types": { "get": { "operationId": "listAccountTypesForUser", "tags": [ "accountType" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "capabilities": { "type": "object" }, "monthly_dollar_price": { "type": "integer" }, "yearly_dollar_price": { "type": "integer" }, "monthly_seats_addon_dollar_price": { "type": "integer" }, "yearly_seats_addon_dollar_price": { "type": "integer" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/accounts": { "get": { "operationId": "listAccountsForUser", "tags": [ "accountMembership" ], "parameters": [ { "name": "minimal", "x-internal": true, "type": "boolean", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "type": { "type": "string" }, "capabilities": { "type": "object", "properties": { "sites": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } }, "collaborators": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } } } }, "billing_name": { "type": "string" }, "billing_email": { "type": "string" }, "billing_details": { "type": "string" }, "billing_period": { "type": "string" }, "payment_method_id": { "type": "string" }, "type_name": { "type": "string" }, "type_id": { "type": "string" }, "owner_ids": { "type": "array", "items": { "type": "string" } }, "roles_allowed": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createAccount", "tags": [ "accountMembership" ], "parameters": [ { "name": "accountSetup", "in": "body", "schema": { "type": "object", "required": [ "name", "type_id" ], "properties": { "name": { "type": "string" }, "type_id": { "type": "string" }, "payment_method_id": { "type": "string" }, "period": { "type": "string", "enum": [ "monthly", "yearly" ] }, "extra_seats_block": { "type": "integer" } } }, "required": true } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "type": { "type": "string" }, "capabilities": { "type": "object", "properties": { "sites": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } }, "collaborators": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } } } }, "billing_name": { "type": "string" }, "billing_email": { "type": "string" }, "billing_details": { "type": "string" }, "billing_period": { "type": "string" }, "payment_method_id": { "type": "string" }, "type_name": { "type": "string" }, "type_id": { "type": "string" }, "owner_ids": { "type": "array", "items": { "type": "string" } }, "roles_allowed": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/accounts/{account_id}": { "parameters": [ { "name": "account_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getAccount", "tags": [ "accountMembership" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "type": { "type": "string" }, "capabilities": { "type": "object", "properties": { "sites": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } }, "collaborators": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } } } }, "billing_name": { "type": "string" }, "billing_email": { "type": "string" }, "billing_details": { "type": "string" }, "billing_period": { "type": "string" }, "payment_method_id": { "type": "string" }, "type_name": { "type": "string" }, "type_id": { "type": "string" }, "owner_ids": { "type": "array", "items": { "type": "string" } }, "roles_allowed": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateAccount", "tags": [ "accountMembership" ], "parameters": [ { "name": "accountUpdateSetup", "in": "body", "schema": { "type": "object", "properties": { "name": { "type": "string" }, "slug": { "type": "string" }, "type_id": { "type": "string" }, "extra_seats_block": { "type": "integer" }, "billing_name": { "type": "string" }, "billing_email": { "type": "string" }, "billing_details": { "type": "string" } } } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "type": { "type": "string" }, "capabilities": { "type": "object", "properties": { "sites": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } }, "collaborators": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } } } }, "billing_name": { "type": "string" }, "billing_email": { "type": "string" }, "billing_details": { "type": "string" }, "billing_period": { "type": "string" }, "payment_method_id": { "type": "string" }, "type_name": { "type": "string" }, "type_id": { "type": "string" }, "owner_ids": { "type": "array", "items": { "type": "string" } }, "roles_allowed": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "cancelAccount", "tags": [ "accountMembership" ], "responses": { "204": { "description": "Not Content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/accounts/{account_id}/audit": { "parameters": [ { "name": "account_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listAccountAuditEvents", "tags": [ "auditLog" ], "parameters": [ { "name": "query", "type": "string", "in": "query" }, { "name": "log_type", "type": "string", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "account_id": { "type": "string" }, "payload": { "type": "object", "properties": { "actor_id": { "type": "string" }, "actor_name": { "type": "string" }, "actor_email": { "type": "string" }, "action": { "type": "string" }, "timestamp": { "type": "string", "format": "dateTime" }, "log_type": { "type": "string" } }, "additionalProperties": { "type": "object" } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/agent_runners": { "get": { "operationId": "listAgentRunners", "tags": [ "agentRunner" ], "parameters": [ { "name": "account_id", "type": "string", "in": "query", "required": true }, { "name": "site_id", "type": "string", "in": "query", "required": true }, { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" }, { "name": "state", "type": "string", "in": "query", "enum": [ "live", "error" ] }, { "name": "title", "type": "string", "in": "query" }, { "name": "branch", "type": "string", "in": "query" }, { "name": "result_branch", "type": "string", "in": "query" }, { "name": "from", "type": "integer", "in": "query" }, { "name": "to", "type": "integer", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "parent_agent_runner_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "branch": { "type": "string" }, "result_branch": { "type": "string" }, "pr_url": { "type": "string" }, "pr_branch": { "type": "string" }, "pr_state": { "type": "string" }, "pr_number": { "type": "integer" }, "pr_is_being_created": { "type": "boolean" }, "pr_error": { "type": "string" }, "current_task": { "type": "string" }, "result_diff": { "type": "string" }, "sha": { "type": "string" }, "merge_commit_sha": { "type": "string" }, "merge_commit_error": { "type": "string" }, "merge_commit_is_being_created": { "type": "boolean" }, "base_deploy_id": { "type": "string" }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "active_session_created_at": { "type": "string", "format": "dateTime" }, "latest_session_deploy_id": { "type": "string" }, "latest_session_deploy_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createAgentRunner", "tags": [ "agentRunner" ], "parameters": [ { "name": "site_id", "type": "string", "in": "query", "required": true }, { "name": "deploy_id", "type": "string", "in": "query" }, { "name": "branch", "type": "string", "in": "query" }, { "name": "prompt", "type": "string", "in": "query" }, { "name": "agent", "type": "string", "in": "query" }, { "name": "model", "type": "string", "in": "query" }, { "name": "parent_agent_runner_id", "type": "string", "in": "query" }, { "name": "dev_server_image", "type": "string", "in": "query" }, { "name": "file_keys", "type": "array", "in": "query", "items": { "type": "string" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "parent_agent_runner_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "branch": { "type": "string" }, "result_branch": { "type": "string" }, "pr_url": { "type": "string" }, "pr_branch": { "type": "string" }, "pr_state": { "type": "string" }, "pr_number": { "type": "integer" }, "pr_is_being_created": { "type": "boolean" }, "pr_error": { "type": "string" }, "current_task": { "type": "string" }, "result_diff": { "type": "string" }, "sha": { "type": "string" }, "merge_commit_sha": { "type": "string" }, "merge_commit_error": { "type": "string" }, "merge_commit_is_being_created": { "type": "boolean" }, "base_deploy_id": { "type": "string" }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "active_session_created_at": { "type": "string", "format": "dateTime" }, "latest_session_deploy_id": { "type": "string" }, "latest_session_deploy_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } } } } }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/agent_runners/upload_url": { "post": { "x-internal": true, "operationId": "createAgentRunnerUploadUrl", "tags": [ "agentRunner" ], "parameters": [ { "name": "account_id", "type": "string", "in": "query", "required": true }, { "name": "filename", "type": "string", "in": "query", "required": true }, { "name": "content_type", "type": "string", "in": "query", "required": true } ], "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request" }, "422": { "description": "Unprocessable Entity" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/agent_runners/{agent_runner_id}": { "parameters": [ { "name": "agent_runner_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getAgentRunner", "tags": [ "agentRunner" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "parent_agent_runner_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "branch": { "type": "string" }, "result_branch": { "type": "string" }, "pr_url": { "type": "string" }, "pr_branch": { "type": "string" }, "pr_state": { "type": "string" }, "pr_number": { "type": "integer" }, "pr_is_being_created": { "type": "boolean" }, "pr_error": { "type": "string" }, "current_task": { "type": "string" }, "result_diff": { "type": "string" }, "sha": { "type": "string" }, "merge_commit_sha": { "type": "string" }, "merge_commit_error": { "type": "string" }, "merge_commit_is_being_created": { "type": "boolean" }, "base_deploy_id": { "type": "string" }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "active_session_created_at": { "type": "string", "format": "dateTime" }, "latest_session_deploy_id": { "type": "string" }, "latest_session_deploy_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "patch": { "operationId": "updateAgentRunner", "tags": [ "agentRunner" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "parent_agent_runner_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "branch": { "type": "string" }, "result_branch": { "type": "string" }, "pr_url": { "type": "string" }, "pr_branch": { "type": "string" }, "pr_state": { "type": "string" }, "pr_number": { "type": "integer" }, "pr_is_being_created": { "type": "boolean" }, "pr_error": { "type": "string" }, "current_task": { "type": "string" }, "result_diff": { "type": "string" }, "sha": { "type": "string" }, "merge_commit_sha": { "type": "string" }, "merge_commit_error": { "type": "string" }, "merge_commit_is_being_created": { "type": "boolean" }, "base_deploy_id": { "type": "string" }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "active_session_created_at": { "type": "string", "format": "dateTime" }, "latest_session_deploy_id": { "type": "string" }, "latest_session_deploy_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteAgentRunner", "tags": [ "agentRunner" ], "responses": { "202": { "description": "Accepted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/agent_runners/{agent_runner_id}/archive": { "parameters": [ { "name": "agent_runner_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "archiveAgentRunner", "tags": [ "agentRunner" ], "responses": { "202": { "description": "Accepted" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/agent_runners/{agent_runner_id}/pull_request": { "parameters": [ { "name": "agent_runner_id", "type": "string", "in": "path", "required": true } ], "post": { "x-internal": true, "operationId": "agentRunnerPullRequest", "tags": [ "agentRunner" ], "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request" }, "409": { "description": "Conflict" }, "422": { "description": "Unprocessable Entity" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/agent_runners/{agent_runner_id}/commit": { "parameters": [ { "name": "agent_runner_id", "type": "string", "in": "path", "required": true } ], "post": { "x-internal": true, "operationId": "agentRunnerCommitToBranch", "tags": [ "agentRunner" ], "parameters": [ { "name": "target_branch", "type": "string", "in": "query", "required": true } ], "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request" }, "409": { "description": "Conflict" }, "422": { "description": "Unprocessable Entity" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/agent_runners/{agent_runner_id}/sessions": { "parameters": [ { "name": "agent_runner_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listAgentRunnerSessions", "tags": [ "agentRunnerSession" ], "parameters": [ { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" }, { "name": "state", "type": "string", "in": "query", "enum": [ "live", "error" ] }, { "name": "from", "type": "integer", "in": "query" }, { "name": "to", "type": "integer", "in": "query" }, { "name": "order_by", "type": "string", "in": "query", "enum": [ "asc", "desc" ] } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "agent_runner_id": { "type": "string" }, "dev_server_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "prompt": { "type": "string" }, "agent_config": { "type": "object", "properties": { "agent": { "type": "string" }, "model": { "type": "string" } } }, "result": { "type": "string" }, "result_diff": { "type": "string" }, "commit_sha": { "type": "string" }, "deploy_id": { "type": "string" }, "deploy_url": { "type": "string" }, "duration": { "type": "integer" }, "steps": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "message": { "type": "string" } } } }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "result_zip_file_name": { "type": "string" }, "is_published": { "type": "boolean" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createAgentRunnerSession", "tags": [ "agentRunnerSession" ], "parameters": [ { "name": "prompt", "type": "string", "in": "query" }, { "name": "agent", "type": "string", "in": "query" }, { "name": "model", "type": "string", "in": "query" }, { "name": "file_keys", "type": "array", "in": "query", "items": { "type": "string" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "agent_runner_id": { "type": "string" }, "dev_server_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "prompt": { "type": "string" }, "agent_config": { "type": "object", "properties": { "agent": { "type": "string" }, "model": { "type": "string" } } }, "result": { "type": "string" }, "result_diff": { "type": "string" }, "commit_sha": { "type": "string" }, "deploy_id": { "type": "string" }, "deploy_url": { "type": "string" }, "duration": { "type": "integer" }, "steps": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "message": { "type": "string" } } } }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "result_zip_file_name": { "type": "string" }, "is_published": { "type": "boolean" } } } }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/agent_runners/{agent_runner_id}/sessions/{agent_runner_session_id}": { "parameters": [ { "name": "agent_runner_id", "type": "string", "in": "path", "required": true }, { "name": "agent_runner_session_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getAgentRunnerSession", "tags": [ "agentRunnerSession" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "agent_runner_id": { "type": "string" }, "dev_server_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "prompt": { "type": "string" }, "agent_config": { "type": "object", "properties": { "agent": { "type": "string" }, "model": { "type": "string" } } }, "result": { "type": "string" }, "result_diff": { "type": "string" }, "commit_sha": { "type": "string" }, "deploy_id": { "type": "string" }, "deploy_url": { "type": "string" }, "duration": { "type": "integer" }, "steps": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "message": { "type": "string" } } } }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "result_zip_file_name": { "type": "string" }, "is_published": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "patch": { "operationId": "updateAgentRunnerSession", "tags": [ "agentRunnerSession" ], "parameters": [ { "name": "is_published", "type": "boolean", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "agent_runner_id": { "type": "string" }, "dev_server_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "prompt": { "type": "string" }, "agent_config": { "type": "object", "properties": { "agent": { "type": "string" }, "model": { "type": "string" } } }, "result": { "type": "string" }, "result_diff": { "type": "string" }, "commit_sha": { "type": "string" }, "deploy_id": { "type": "string" }, "deploy_url": { "type": "string" }, "duration": { "type": "integer" }, "steps": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "message": { "type": "string" } } } }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "result_zip_file_name": { "type": "string" }, "is_published": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteAgentRunnerSession", "tags": [ "agentRunnerSession" ], "responses": { "202": { "description": "Accepted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/submissions/{submission_id}": { "parameters": [ { "name": "submission_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listFormSubmission", "tags": [ "submission" ], "parameters": [ { "name": "query", "type": "string", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "number": { "type": "integer", "format": "int32" }, "email": { "type": "string" }, "name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company": { "type": "string" }, "summary": { "type": "string" }, "body": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "site_url": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSubmission", "tags": [ "submission" ], "responses": { "204": { "description": "Deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/service-instances": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listServiceInstancesForSite", "tags": [ "serviceInstance" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "url": { "type": "string" }, "config": { "type": "object" }, "external_attributes": { "type": "object" }, "service_slug": { "type": "string" }, "service_path": { "type": "string" }, "service_name": { "type": "string" }, "env": { "type": "object" }, "snippets": { "type": "array", "items": { "type": "object" } }, "auth_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/services/{addon}/instances": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "addon", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "createServiceInstance", "tags": [ "serviceInstance" ], "consumes": [ "application/json" ], "parameters": [ { "name": "config", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "url": { "type": "string" }, "config": { "type": "object" }, "external_attributes": { "type": "object" }, "service_slug": { "type": "string" }, "service_path": { "type": "string" }, "service_name": { "type": "string" }, "env": { "type": "object" }, "snippets": { "type": "array", "items": { "type": "object" } }, "auth_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/services/{addon}/instances/{instance_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "addon", "type": "string", "in": "path", "required": true }, { "name": "instance_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "showServiceInstance", "tags": [ "serviceInstance" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "url": { "type": "string" }, "config": { "type": "object" }, "external_attributes": { "type": "object" }, "service_slug": { "type": "string" }, "service_path": { "type": "string" }, "service_name": { "type": "string" }, "env": { "type": "object" }, "snippets": { "type": "array", "items": { "type": "object" } }, "auth_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateServiceInstance", "tags": [ "serviceInstance" ], "consumes": [ "application/json" ], "parameters": [ { "name": "config", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "204": { "description": "No Content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteServiceInstance", "tags": [ "serviceInstance" ], "responses": { "204": { "description": "Deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/services/": { "parameters": [ { "name": "search", "type": "string", "in": "query" } ], "get": { "operationId": "getServices", "tags": [ "service" ], "responses": { "200": { "description": "services", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "service_path": { "type": "string" }, "long_description": { "type": "string" }, "description": { "type": "string" }, "events": { "type": "array", "items": { "type": "object" } }, "tags": { "type": "array", "items": { "type": "string" } }, "icon": { "type": "string" }, "manifest_url": { "type": "string" }, "environments": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/services/{addonName}": { "parameters": [ { "name": "addonName", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "showService", "tags": [ "service" ], "responses": { "200": { "description": "services", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "service_path": { "type": "string" }, "long_description": { "type": "string" }, "description": { "type": "string" }, "events": { "type": "array", "items": { "type": "object" } }, "tags": { "type": "array", "items": { "type": "string" } }, "icon": { "type": "string" }, "manifest_url": { "type": "string" }, "environments": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/services/{addonName}/manifest": { "parameters": [ { "name": "addonName", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "showServiceManifest", "tags": [ "service" ], "responses": { "201": { "description": "retrieving from provider", "schema": { "type": "object" } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/user": { "get": { "operationId": "getCurrentUser", "tags": [ "user" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "uid": { "type": "string" }, "full_name": { "type": "string" }, "avatar_url": { "type": "string" }, "email": { "type": "string" }, "affiliate_id": { "type": "string" }, "site_count": { "type": "integer", "format": "int64" }, "created_at": { "type": "string", "format": "dateTime" }, "last_login": { "type": "string", "format": "dateTime" }, "login_providers": { "type": "array", "items": { "type": "string" } }, "onboarding_progress": { "type": "object", "properties": { "slides": { "type": "string" } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/traffic_splits": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "createSplitTest", "tags": [ "splitTest" ], "consumes": [ "application/json" ], "parameters": [ { "name": "branch_tests", "in": "body", "required": true, "schema": { "type": "object", "properties": { "branch_tests": { "type": "object" } } } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "branches": { "type": "array", "items": { "type": "object" } }, "active": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "unpublished_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "get": { "operationId": "getSplitTests", "tags": [ "splitTest" ], "responses": { "200": { "description": "split_tests", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "branches": { "type": "array", "items": { "type": "object" } }, "active": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "unpublished_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/traffic_splits/{split_test_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "split_test_id", "type": "string", "in": "path", "required": true } ], "put": { "operationId": "updateSplitTest", "tags": [ "splitTest" ], "consumes": [ "application/json" ], "parameters": [ { "name": "branch_tests", "in": "body", "required": true, "schema": { "type": "object", "properties": { "branch_tests": { "type": "object" } } } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "branches": { "type": "array", "items": { "type": "object" } }, "active": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "unpublished_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "get": { "operationId": "getSplitTest", "tags": [ "splitTest" ], "responses": { "200": { "description": "split_test", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "branches": { "type": "array", "items": { "type": "object" } }, "active": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "unpublished_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/traffic_splits/{split_test_id}/publish": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "split_test_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "enableSplitTest", "tags": [ "splitTest" ], "responses": { "204": { "description": "enable" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/traffic_splits/{split_test_id}/unpublish": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "split_test_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "disableSplitTest", "tags": [ "splitTest" ], "responses": { "204": { "description": "disabled" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/dns_zones": { "post": { "operationId": "createDnsZone", "tags": [ "dnsZone" ], "consumes": [ "application/json" ], "parameters": [ { "name": "DnsZoneParams", "in": "body", "required": true, "schema": { "type": "object", "properties": { "account_slug": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" } } } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "errors": { "type": "array", "items": { "type": "string" } }, "supported_record_types": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dns_servers": { "type": "array", "items": { "type": "string" } }, "account_id": { "type": "string" }, "site_id": { "type": "string" }, "account_slug": { "type": "string" }, "account_name": { "type": "string" }, "domain": { "type": "string" }, "ipv6_enabled": { "type": "boolean" }, "dedicated": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "get": { "operationId": "getDnsZones", "tags": [ "dnsZone" ], "parameters": [ { "name": "account_slug", "in": "query", "type": "string", "required": false } ], "responses": { "200": { "description": "get all DNS zones the user has access to", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "errors": { "type": "array", "items": { "type": "string" } }, "supported_record_types": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dns_servers": { "type": "array", "items": { "type": "string" } }, "account_id": { "type": "string" }, "site_id": { "type": "string" }, "account_slug": { "type": "string" }, "account_name": { "type": "string" }, "domain": { "type": "string" }, "ipv6_enabled": { "type": "boolean" }, "dedicated": { "type": "boolean" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/dns_zones/{zone_id}": { "parameters": [ { "name": "zone_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getDnsZone", "tags": [ "dnsZone" ], "responses": { "200": { "description": "get a single DNS zone", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "errors": { "type": "array", "items": { "type": "string" } }, "supported_record_types": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dns_servers": { "type": "array", "items": { "type": "string" } }, "account_id": { "type": "string" }, "site_id": { "type": "string" }, "account_slug": { "type": "string" }, "account_name": { "type": "string" }, "domain": { "type": "string" }, "ipv6_enabled": { "type": "boolean" }, "dedicated": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteDnsZone", "tags": [ "dnsZone" ], "responses": { "204": { "description": "delete a single DNS zone" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/dns_zones/{zone_id}/transfer": { "parameters": [ { "name": "zone_id", "type": "string", "in": "path", "required": true }, { "name": "account_id", "type": "string", "in": "query", "description": "the account of the dns zone", "required": true }, { "name": "transfer_account_id", "type": "string", "in": "query", "description": "the account you want to transfer the dns zone to", "required": true }, { "name": "transfer_user_id", "type": "string", "in": "query", "description": "the user you want to transfer the dns zone to", "required": true } ], "put": { "operationId": "transferDnsZone", "tags": [ "dnsZone" ], "responses": { "200": { "description": "transfer a DNS zone to another account", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "errors": { "type": "array", "items": { "type": "string" } }, "supported_record_types": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dns_servers": { "type": "array", "items": { "type": "string" } }, "account_id": { "type": "string" }, "site_id": { "type": "string" }, "account_slug": { "type": "string" }, "account_name": { "type": "string" }, "domain": { "type": "string" }, "ipv6_enabled": { "type": "boolean" }, "dedicated": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/dns_zones/{zone_id}/dns_records": { "parameters": [ { "name": "zone_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getDnsRecords", "tags": [ "dnsZone" ], "responses": { "200": { "description": "get all DNS records for a single DNS zone", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createDnsRecord", "tags": [ "dnsZone" ], "consumes": [ "application/json" ], "parameters": [ { "name": "dns_record", "in": "body", "required": true, "schema": { "type": "object", "properties": { "type": { "type": "string" }, "hostname": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "weight": { "type": "integer", "format": "int64" }, "port": { "type": "integer", "format": "int64" }, "flag": { "type": "integer", "format": "int64" }, "tag": { "type": "string" } } } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/dns_zones/{zone_id}/dns_records/{dns_record_id}": { "parameters": [ { "name": "zone_id", "type": "string", "in": "path", "required": true }, { "name": "dns_record_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getIndividualDnsRecord", "tags": [ "dnsZone" ], "responses": { "200": { "description": "get a single DNS record", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteDnsRecord", "tags": [ "dnsZone" ], "responses": { "204": { "description": "record deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/dev_servers": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteDevServers", "tags": [ "devServer" ], "parameters": [ { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "starting_at": { "type": "string", "format": "dateTime" }, "error_at": { "type": "string", "format": "dateTime" }, "live_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createSiteDevServer", "tags": [ "devServer" ], "parameters": [ { "name": "branch", "type": "string", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "starting_at": { "type": "string", "format": "dateTime" }, "error_at": { "type": "string", "format": "dateTime" }, "live_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSiteDevServers", "tags": [ "devServer" ], "parameters": [ { "name": "branch", "type": "string", "in": "query" } ], "responses": { "202": { "description": "OK" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/dev_servers/{dev_server_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "dev_server_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSiteDevServer", "tags": [ "devServer" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "starting_at": { "type": "string", "format": "dateTime" }, "error_at": { "type": "string", "format": "dateTime" }, "live_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" } } } } } } }, "/sites/{site_id}/dev_servers/{dev_server_id}/activity": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "dev_server_id", "type": "string", "in": "path", "required": true } ], "post": { "x-internal": true, "operationId": "markDevServerActivity", "tags": [ "devServer" ], "responses": { "200": { "description": "OK" } } } }, "/sites/{site_id}/dev_servers/{dev_server_id}/state": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "dev_server_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "updateDevServerState", "tags": [ "devServer" ], "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "required": [ "state" ], "properties": { "state": { "type": "string", "enum": [ "starting", "live", "error", "done" ] }, "task_id": { "type": "string" }, "error": { "type": "string" } } } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "starting_at": { "type": "string", "format": "dateTime" }, "error_at": { "type": "string", "format": "dateTime" }, "live_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" } } } }, "409": { "description": "Conflict" } } } }, "/sites/{site_id}/dev_server_hooks": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteDevServerHooks", "tags": [ "devServerHook" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "site_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "type": { "type": "string", "enum": [ "new_dev_server", "content_refresh" ] } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "operationId": "createSiteDevServerHook", "tags": [ "devServerHook" ], "consumes": [ "application/json" ], "parameters": [ { "name": "devServerHook", "in": "body", "schema": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" }, "type": { "type": "string", "enum": [ "new_dev_server", "content_refresh" ] } } }, "required": true } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "site_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "type": { "type": "string", "enum": [ "new_dev_server", "content_refresh" ] } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/dev_server_hooks/{id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "getSiteDevServerHook", "tags": [ "devServerHook" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "site_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "type": { "type": "string", "enum": [ "new_dev_server", "content_refresh" ] } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "operationId": "updateSiteDevServerHook", "tags": [ "devServerHook" ], "consumes": [ "application/json" ], "parameters": [ { "name": "devServerHook", "in": "body", "schema": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" }, "type": { "type": "string", "enum": [ "new_dev_server", "content_refresh" ] } } }, "required": true } ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSiteDevServerHook", "tags": [ "devServerHook" ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/agent_runner_hooks": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "x-internal": true, "operationId": "listSiteAgentRunnerHooks", "tags": [ "agentRunnerHook" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "prompt": { "type": "string" }, "agent": { "type": "string" }, "url": { "type": "string" }, "msg": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "post": { "x-internal": true, "operationId": "createSiteAgentRunnerHook", "tags": [ "agentRunnerHook" ], "consumes": [ "application/json" ], "parameters": [ { "name": "agentRunnerHook", "in": "body", "schema": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" }, "prompt": { "type": "string" }, "agent": { "type": "string" } } }, "required": true } ], "responses": { "201": { "description": "Created", "schema": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "prompt": { "type": "string" }, "agent": { "type": "string" }, "url": { "type": "string" }, "msg": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } }, { "properties": { "secret": { "type": "string" } } } ] } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/agent_runner_hooks/{id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "id", "type": "string", "in": "path", "required": true } ], "get": { "x-internal": true, "operationId": "getSiteAgentRunnerHook", "tags": [ "agentRunnerHook" ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "prompt": { "type": "string" }, "agent": { "type": "string" }, "url": { "type": "string" }, "msg": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "put": { "x-internal": true, "operationId": "updateSiteAgentRunnerHook", "tags": [ "agentRunnerHook" ], "consumes": [ "application/json" ], "parameters": [ { "name": "agentRunnerHook", "in": "body", "schema": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" }, "prompt": { "type": "string" }, "agent": { "type": "string" } } }, "required": true } ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "x-internal": true, "operationId": "deleteSiteAgentRunnerHook", "tags": [ "agentRunnerHook" ], "responses": { "204": { "description": "No content" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/ai-gateway/providers": { "get": { "operationId": "getAIGatewayProviders", "tags": [ "aiGateway" ], "security": [], "responses": { "200": { "description": "The mapping of providers and supported models", "schema": { "type": "object", "properties": { "providers": { "additionalProperties": { "type": "object", "properties": { "token_env_var": { "type": "string" }, "url_env_var": { "type": "string" }, "models": { "type": "array", "items": { "type": "string" } } } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/ai-gateway/token": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true, "description": "The site ID" } ], "get": { "operationId": "getAIGatewayToken", "tags": [ "aiGateway" ], "responses": { "200": { "description": "AI Gateway token for the site", "schema": { "type": "object", "properties": { "token": { "type": "string", "description": "The AI Gateway authentication token" }, "url": { "type": "string", "description": "AI gateway base url" }, "expires_at": { "type": "integer", "format": "int64", "description": "Unix timestamp when the token expires" } } } }, "404": { "description": "AI Gateway not available for this site" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "description": "Returns an AI Gateway token for a specific site" } }, "/accounts/{account_id}/ai-gateway/token": { "parameters": [ { "name": "account_id", "type": "string", "in": "path", "required": true, "description": "The account ID" } ], "get": { "operationId": "getAccountAIGatewayToken", "tags": [ "aiGateway" ], "responses": { "200": { "description": "AI Gateway token for the account", "schema": { "type": "object", "properties": { "token": { "type": "string", "description": "The AI Gateway authentication token" }, "url": { "type": "string", "description": "AI gateway base url" }, "expires_at": { "type": "integer", "format": "int64", "description": "Unix timestamp when the token expires" } } } }, "404": { "description": "AI Gateway not available for this account" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } }, "description": "Returns an AI Gateway token scoped to an account" } }, "/sites/{site_id}/database": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "createSiteDatabase", "tags": [ "database" ], "description": "Creates a new database for the specified site. If a database already exists, returns the existing connection string. The database region defaults to the site's functions region if not specified.", "consumes": [ "application/json" ], "parameters": [ { "name": "database", "in": "body", "schema": { "type": "object", "description": "Request body for creating a database", "properties": { "region": { "type": "string", "description": "The region where the database should be created. Defaults to the site's functions region if not specified." } } } } ], "responses": { "200": { "description": "Database already exists", "schema": { "type": "object", "description": "Response containing the database connection string", "properties": { "connection_string": { "type": "string", "description": "The connection string for the database" } } } }, "201": { "description": "Created", "schema": { "type": "object", "description": "Response containing the database connection string", "properties": { "connection_string": { "type": "string", "description": "The connection string for the database" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "get": { "operationId": "getSiteDatabase", "tags": [ "database" ], "description": "Returns the database connection string for the specified site.", "parameters": [ { "name": "role", "type": "string", "in": "query", "description": "The database role to use for the connection string. Defaults to netlifydb_owner if not specified.", "enum": [ "netlifydb_owner", "netlifydb_readonly" ] } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Response containing the database connection string", "properties": { "connection_string": { "type": "string", "description": "The connection string for the database" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSiteDatabase", "tags": [ "database" ], "description": "Deletes the database and all associated branches and snapshots for the specified site.", "responses": { "204": { "description": "Deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/branch": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "createSiteDatabaseBranch", "tags": [ "database" ], "description": "Creates a new database branch. If a branch already exists for the specified branch ID, returns the existing connection string.", "consumes": [ "application/json" ], "parameters": [ { "name": "branch", "in": "body", "schema": { "type": "object", "description": "Request body for creating a database branch", "required": [ "branch_id" ], "properties": { "parent_branch_id": { "type": "string", "description": "The ID of the parent branch to create the new branch from. Defaults to the production branch if not specified." }, "branch_id": { "type": "string", "description": "The branch identifier" }, "metadata": { "type": "object", "description": "Arbitrary metadata to associate with the branch", "additionalProperties": true } } }, "required": true } ], "responses": { "200": { "description": "Branch already exists", "schema": { "type": "object", "description": "Response containing the database branch connection string", "properties": { "connection_string": { "type": "string", "description": "The connection string for the database branch" }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } } }, "201": { "description": "Created", "schema": { "type": "object", "description": "Response containing the database branch connection string", "properties": { "connection_string": { "type": "string", "description": "The connection string for the database branch" }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/branches": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteDatabaseBranches", "tags": [ "database" ], "description": "Returns all branches for the site's database with compute status and metadata.", "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Response containing a list of database branches", "properties": { "branches": { "type": "array", "items": { "type": "object", "description": "Detailed information about a database branch", "properties": { "branch_id": { "type": "string", "description": "The branch identifier" }, "name": { "type": "string", "description": "The branch name" }, "connection_string": { "type": "string", "description": "The connection string for the branch" }, "state": { "type": "string", "description": "The current state of the branch", "enum": [ "init", "creating", "resetting", "ready", "archived" ] }, "logical_size_bytes": { "type": "integer", "format": "int64", "description": "The logical size of the branch in bytes" }, "created_at": { "type": "string", "format": "dateTime", "description": "When the branch was created" }, "updated_at": { "type": "string", "format": "dateTime", "description": "When the branch was last updated" }, "last_active_at": { "type": "string", "format": "dateTime", "description": "When the branch was last active" }, "compute": { "type": "object", "description": "Compute endpoint status for a branch", "properties": { "current_state": { "type": "string", "description": "The current state of the compute endpoint", "enum": [ "active", "idle" ] }, "autoscaling_limit_min_cu": { "type": "number", "format": "double", "description": "Minimum compute units for autoscaling" }, "autoscaling_limit_max_cu": { "type": "number", "format": "double", "description": "Maximum compute units for autoscaling" }, "suspend_timeout_seconds": { "type": "integer", "format": "int64", "description": "Seconds of inactivity before the compute endpoint is suspended" }, "last_active": { "type": "string", "format": "dateTime", "description": "When the compute endpoint was last active" } } }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } }, "description": "List of database branches" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/branch/{branch_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "branch_id", "type": "string", "in": "path", "required": true, "description": "The branch ID" } ], "get": { "operationId": "getSiteDatabaseBranch", "tags": [ "database" ], "description": "Returns the database branch connection string for a specific branch.", "parameters": [ { "name": "role", "type": "string", "in": "query", "description": "The database role to use for the connection string. Defaults to netlifydb_owner if not specified.", "enum": [ "netlifydb_owner", "netlifydb_readonly" ] } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Response containing the database branch connection string", "properties": { "connection_string": { "type": "string", "description": "The connection string for the database branch" }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } } }, "404": { "description": "Branch not found" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "deleteSiteDatabaseBranch", "tags": [ "database" ], "description": "Deletes a database branch.", "responses": { "204": { "description": "Deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/branch/{branch_id}/reset": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "branch_id", "type": "string", "in": "path", "required": true, "description": "The branch ID to reset" } ], "post": { "operationId": "resetSiteDatabaseBranch", "tags": [ "database" ], "description": "Resets a non-production database branch by re-forking it from a source branch (defaults to the production branch). If the target branch is already in sync with the source, returns the existing connection string without performing a reset, unless `force=true` is passed. The production branch cannot be reset.", "consumes": [ "application/json" ], "parameters": [ { "name": "force", "type": "boolean", "in": "query", "description": "If true, resets the branch even when it is already in sync with the source." }, { "name": "role", "type": "string", "in": "query", "description": "The database role to use for the returned connection string. Defaults to netlifydb_owner if not specified.", "enum": [ "netlifydb_owner", "netlifydb_readonly" ] }, { "name": "reset", "in": "body", "schema": { "type": "object", "description": "Request body for resetting a database branch", "properties": { "source_branch_id": { "type": "string", "description": "The ID of the branch to re-fork the target branch from. Defaults to \"production\" if not specified." } } } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Response for a database branch reset", "properties": { "reset": { "type": "boolean", "description": "Whether the branch was actually re-forked. False when the target was already in sync with the source and `force=true` was not set." }, "connection_string": { "type": "string", "description": "The connection string for the reset (or unchanged) branch" }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } } }, "400": { "description": "Invalid request — for example, the target is the production branch or the source branch is the same as the target." }, "404": { "description": "Database or branch not found" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/branch/{branch_id}/compute/settings": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "branch_id", "type": "string", "in": "path", "required": true, "description": "The branch ID" } ], "put": { "operationId": "setSiteDatabaseBranchComputeSettings", "tags": [ "database" ], "description": "Sets compute settings for a specific database branch, overriding project-level settings. Requires a Pro or higher plan.", "consumes": [ "application/json" ], "parameters": [ { "name": "computeSettings", "in": "body", "schema": { "type": "object", "description": "Request body for setting compute settings. All fields are optional; only provided fields are updated.", "properties": { "min_cu": { "type": "number", "format": "double", "minimum": 0.25, "maximum": 16, "x-nullable": true, "description": "Minimum compute units (0.25 to 16.0). Must be less than or equal to max_cu." }, "max_cu": { "type": "number", "format": "double", "minimum": 0.25, "maximum": 16, "x-nullable": true, "description": "Maximum compute units (0.25 to 16.0). Must be greater than or equal to min_cu. max_cu - min_cu must not exceed 8.0." }, "sleep_timeout_seconds": { "type": "integer", "format": "int64", "minimum": -1, "x-nullable": true, "description": "Seconds of inactivity before the compute endpoint is suspended. Use -1 for always on, or a non-negative value." } } }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Compute settings for a database or branch", "properties": { "min_cu": { "type": "number", "format": "double", "description": "Minimum compute units" }, "max_cu": { "type": "number", "format": "double", "description": "Maximum compute units" }, "sleep_timeout_seconds": { "type": "integer", "format": "int64", "description": "Seconds of inactivity before suspension" } } } }, "403": { "description": "Compute customization requires a Pro or higher plan" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/compute/settings": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "put": { "operationId": "setSiteDatabaseComputeSettings", "tags": [ "database" ], "description": "Sets project-level compute settings for the database. Applied to new branches. Can be overridden per-branch. Requires a Pro or higher plan.", "consumes": [ "application/json" ], "parameters": [ { "name": "computeSettings", "in": "body", "schema": { "type": "object", "description": "Request body for setting compute settings. All fields are optional; only provided fields are updated.", "properties": { "min_cu": { "type": "number", "format": "double", "minimum": 0.25, "maximum": 16, "x-nullable": true, "description": "Minimum compute units (0.25 to 16.0). Must be less than or equal to max_cu." }, "max_cu": { "type": "number", "format": "double", "minimum": 0.25, "maximum": 16, "x-nullable": true, "description": "Maximum compute units (0.25 to 16.0). Must be greater than or equal to min_cu. max_cu - min_cu must not exceed 8.0." }, "sleep_timeout_seconds": { "type": "integer", "format": "int64", "minimum": -1, "x-nullable": true, "description": "Seconds of inactivity before the compute endpoint is suspended. Use -1 for always on, or a non-negative value." } } }, "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Compute settings for a database or branch", "properties": { "min_cu": { "type": "number", "format": "double", "description": "Minimum compute units" }, "max_cu": { "type": "number", "format": "double", "description": "Maximum compute units" }, "sleep_timeout_seconds": { "type": "integer", "format": "int64", "description": "Seconds of inactivity before suspension" } } } }, "403": { "description": "Compute customization requires a Pro or higher plan" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "get": { "operationId": "getSiteDatabaseComputeSettings", "tags": [ "database" ], "description": "Returns the project-level compute settings for the database. Returns effective settings (custom or tier defaults). Requires a Pro or higher plan.", "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Compute settings for a database or branch", "properties": { "min_cu": { "type": "number", "format": "double", "description": "Minimum compute units" }, "max_cu": { "type": "number", "format": "double", "description": "Maximum compute units" }, "sleep_timeout_seconds": { "type": "integer", "format": "int64", "description": "Seconds of inactivity before suspension" } } } }, "403": { "description": "Compute customization requires a Pro or higher plan" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } }, "delete": { "operationId": "clearSiteDatabaseComputeSettings", "tags": [ "database" ], "description": "Resets project-level compute settings to tier defaults. Requires a Pro or higher plan.", "responses": { "204": { "description": "Cleared" }, "403": { "description": "Compute customization requires a Pro or higher plan" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/migrations": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteDatabaseMigrations", "tags": [ "database" ], "description": "Returns the list of migrations available for the specified branch, indicating which ones have been applied to the database.", "parameters": [ { "name": "branch", "type": "string", "in": "query", "description": "The branch ID to list migrations for. Defaults to \"production\" if not specified." } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Response containing the list of migrations for a branch", "properties": { "migrations": { "type": "array", "items": { "type": "object", "description": "A migration available to a database branch", "properties": { "version": { "type": "integer", "format": "int64", "description": "The migration version number" }, "name": { "type": "string", "description": "The migration name" }, "path": { "type": "string", "description": "The path to the migration file in the deploy bundle" }, "applied": { "type": "boolean", "description": "Whether this migration has been applied to the branch" } } }, "description": "List of migrations" } } } }, "404": { "description": "Database or branch not found" }, "423": { "description": "Database is disabled" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/migrations/{name}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "name", "type": "string", "in": "path", "required": true, "description": "The migration name" } ], "get": { "operationId": "getSiteDatabaseMigration", "tags": [ "database" ], "description": "Returns the contents of a named migration for the specified branch.", "parameters": [ { "name": "branch", "type": "string", "in": "query", "description": "The branch ID to look up the migration on. Defaults to the currently published deploy's branch." } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "A migration with its file contents", "properties": { "version": { "type": "integer", "format": "int64", "description": "The migration version number" }, "name": { "type": "string", "description": "The migration name" }, "path": { "type": "string", "description": "The path to the migration file in the deploy bundle" }, "content": { "type": "string", "description": "The raw contents of the migration file" } } } }, "404": { "description": "Migration, database, or branch not found" }, "423": { "description": "Database is disabled" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/migrations/{deploy_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "deploy_id", "type": "string", "in": "path", "required": true, "description": "The deploy ID to run migrations for" } ], "post": { "operationId": "runSiteDatabaseMigrations", "tags": [ "database" ], "description": "Runs database migrations for the specified deploy. Finds the deploy and determines the appropriate branch.", "consumes": [ "application/json" ], "parameters": [ { "name": "migrations", "in": "body", "schema": { "type": "object", "description": "Request body for running database migrations", "properties": { "dry_run": { "type": "boolean", "description": "If true, validates migrations without applying them." } } } } ], "responses": { "200": { "description": "OK" }, "409": { "description": "Migration conflict - migration modified or removed after being applied" }, "422": { "description": "Migration validation failed" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/snapshot": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "post": { "operationId": "createSiteDatabaseSnapshot", "tags": [ "database" ], "description": "Creates a point-in-time snapshot of a database branch. Defaults to the production branch if no branch name is specified.", "consumes": [ "application/json" ], "parameters": [ { "name": "snapshot", "in": "body", "schema": { "type": "object", "description": "Request body for creating a database snapshot", "properties": { "branch_id": { "type": "string", "description": "The ID of the branch to snapshot. Defaults to \"production\" if not specified." }, "name": { "type": "string", "description": "A name for the snapshot" }, "metadata": { "type": "object", "description": "Metadata associated with a snapshot", "properties": { "deploy": { "type": "object", "description": "Deploy information associated with the snapshot", "additionalProperties": true }, "source": { "type": "string", "description": "The source that created the snapshot" } } } } } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "description": "A point-in-time snapshot of a database branch", "properties": { "id": { "type": "string", "description": "The unique identifier of the snapshot" }, "source_branch_id": { "type": "string", "description": "The ID of the branch that was snapshotted" }, "manual": { "type": "boolean", "description": "Whether this snapshot was manually created" }, "created_at": { "type": "string", "format": "dateTime", "description": "When the snapshot was created" }, "expires_at": { "type": "string", "format": "dateTime", "description": "When the snapshot expires" }, "timestamp": { "type": "string", "format": "dateTime", "description": "The point-in-time timestamp of the snapshot" }, "metadata": { "type": "object", "description": "Metadata associated with a snapshot", "properties": { "deploy": { "type": "object", "description": "Deploy information associated with the snapshot", "additionalProperties": true }, "source": { "type": "string", "description": "The source that created the snapshot" } } } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/snapshots": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true } ], "get": { "operationId": "listSiteDatabaseSnapshots", "tags": [ "database" ], "description": "Returns all snapshots for the site's database.", "responses": { "200": { "description": "OK", "schema": { "type": "object", "description": "Response containing a list of database snapshots", "properties": { "snapshots": { "type": "array", "items": { "type": "object", "description": "A point-in-time snapshot of a database branch", "properties": { "id": { "type": "string", "description": "The unique identifier of the snapshot" }, "source_branch_id": { "type": "string", "description": "The ID of the branch that was snapshotted" }, "manual": { "type": "boolean", "description": "Whether this snapshot was manually created" }, "created_at": { "type": "string", "format": "dateTime", "description": "When the snapshot was created" }, "expires_at": { "type": "string", "format": "dateTime", "description": "When the snapshot expires" }, "timestamp": { "type": "string", "format": "dateTime", "description": "The point-in-time timestamp of the snapshot" }, "metadata": { "type": "object", "description": "Metadata associated with a snapshot", "properties": { "deploy": { "type": "object", "description": "Deploy information associated with the snapshot", "additionalProperties": true }, "source": { "type": "string", "description": "The source that created the snapshot" } } } } }, "description": "List of database snapshots" } } } }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/snapshot/{snapshot_id}": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "snapshot_id", "type": "string", "in": "path", "required": true, "description": "The snapshot ID" } ], "delete": { "operationId": "deleteSiteDatabaseSnapshot", "tags": [ "database" ], "description": "Deletes a database snapshot.", "responses": { "204": { "description": "Deleted" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } }, "/sites/{site_id}/database/snapshot/{snapshot_id}/restore": { "parameters": [ { "name": "site_id", "type": "string", "in": "path", "required": true }, { "name": "snapshot_id", "type": "string", "in": "path", "required": true, "description": "The snapshot ID to restore" } ], "post": { "operationId": "restoreSiteDatabaseSnapshot", "tags": [ "database" ], "description": "Restores a snapshot to a database branch. Defaults to the production branch if no branch_name is specified.", "consumes": [ "application/json" ], "parameters": [ { "name": "restore", "in": "body", "schema": { "type": "object", "description": "Request body for restoring a database snapshot", "properties": { "branch_id": { "type": "string", "description": "The ID of the branch to restore the snapshot to. Defaults to \"production\" if not specified." } } } } ], "responses": { "200": { "description": "OK" }, "default": { "description": "error", "schema": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } } } } } } }, "definitions": { "createDatabaseRequest": { "type": "object", "description": "Request body for creating a database", "properties": { "region": { "type": "string", "description": "The region where the database should be created. Defaults to the site's functions region if not specified." } } }, "databaseResponse": { "type": "object", "description": "Response containing the database connection string", "properties": { "connection_string": { "type": "string", "description": "The connection string for the database" } } }, "createDatabaseBranchRequest": { "type": "object", "description": "Request body for creating a database branch", "required": [ "branch_id" ], "properties": { "parent_branch_id": { "type": "string", "description": "The ID of the parent branch to create the new branch from. Defaults to the production branch if not specified." }, "branch_id": { "type": "string", "description": "The branch identifier" }, "metadata": { "type": "object", "description": "Arbitrary metadata to associate with the branch", "additionalProperties": true } } }, "databaseBranchResponse": { "type": "object", "description": "Response containing the database branch connection string", "properties": { "connection_string": { "type": "string", "description": "The connection string for the database branch" }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } }, "databaseBranchesResponse": { "type": "object", "description": "Response containing a list of database branches", "properties": { "branches": { "type": "array", "items": { "type": "object", "description": "Detailed information about a database branch", "properties": { "branch_id": { "type": "string", "description": "The branch identifier" }, "name": { "type": "string", "description": "The branch name" }, "connection_string": { "type": "string", "description": "The connection string for the branch" }, "state": { "type": "string", "description": "The current state of the branch", "enum": [ "init", "creating", "resetting", "ready", "archived" ] }, "logical_size_bytes": { "type": "integer", "format": "int64", "description": "The logical size of the branch in bytes" }, "created_at": { "type": "string", "format": "dateTime", "description": "When the branch was created" }, "updated_at": { "type": "string", "format": "dateTime", "description": "When the branch was last updated" }, "last_active_at": { "type": "string", "format": "dateTime", "description": "When the branch was last active" }, "compute": { "type": "object", "description": "Compute endpoint status for a branch", "properties": { "current_state": { "type": "string", "description": "The current state of the compute endpoint", "enum": [ "active", "idle" ] }, "autoscaling_limit_min_cu": { "type": "number", "format": "double", "description": "Minimum compute units for autoscaling" }, "autoscaling_limit_max_cu": { "type": "number", "format": "double", "description": "Maximum compute units for autoscaling" }, "suspend_timeout_seconds": { "type": "integer", "format": "int64", "description": "Seconds of inactivity before the compute endpoint is suspended" }, "last_active": { "type": "string", "format": "dateTime", "description": "When the compute endpoint was last active" } } }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } }, "description": "List of database branches" } } }, "databaseBranchDetail": { "type": "object", "description": "Detailed information about a database branch", "properties": { "branch_id": { "type": "string", "description": "The branch identifier" }, "name": { "type": "string", "description": "The branch name" }, "connection_string": { "type": "string", "description": "The connection string for the branch" }, "state": { "type": "string", "description": "The current state of the branch", "enum": [ "init", "creating", "resetting", "ready", "archived" ] }, "logical_size_bytes": { "type": "integer", "format": "int64", "description": "The logical size of the branch in bytes" }, "created_at": { "type": "string", "format": "dateTime", "description": "When the branch was created" }, "updated_at": { "type": "string", "format": "dateTime", "description": "When the branch was last updated" }, "last_active_at": { "type": "string", "format": "dateTime", "description": "When the branch was last active" }, "compute": { "type": "object", "description": "Compute endpoint status for a branch", "properties": { "current_state": { "type": "string", "description": "The current state of the compute endpoint", "enum": [ "active", "idle" ] }, "autoscaling_limit_min_cu": { "type": "number", "format": "double", "description": "Minimum compute units for autoscaling" }, "autoscaling_limit_max_cu": { "type": "number", "format": "double", "description": "Maximum compute units for autoscaling" }, "suspend_timeout_seconds": { "type": "integer", "format": "int64", "description": "Seconds of inactivity before the compute endpoint is suspended" }, "last_active": { "type": "string", "format": "dateTime", "description": "When the compute endpoint was last active" } } }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } }, "databaseBranchCompute": { "type": "object", "description": "Compute endpoint status for a branch", "properties": { "current_state": { "type": "string", "description": "The current state of the compute endpoint", "enum": [ "active", "idle" ] }, "autoscaling_limit_min_cu": { "type": "number", "format": "double", "description": "Minimum compute units for autoscaling" }, "autoscaling_limit_max_cu": { "type": "number", "format": "double", "description": "Maximum compute units for autoscaling" }, "suspend_timeout_seconds": { "type": "integer", "format": "int64", "description": "Seconds of inactivity before the compute endpoint is suspended" }, "last_active": { "type": "string", "format": "dateTime", "description": "When the compute endpoint was last active" } } }, "createDatabaseSnapshotRequest": { "type": "object", "description": "Request body for creating a database snapshot", "properties": { "branch_id": { "type": "string", "description": "The ID of the branch to snapshot. Defaults to \"production\" if not specified." }, "name": { "type": "string", "description": "A name for the snapshot" }, "metadata": { "type": "object", "description": "Metadata associated with a snapshot", "properties": { "deploy": { "type": "object", "description": "Deploy information associated with the snapshot", "additionalProperties": true }, "source": { "type": "string", "description": "The source that created the snapshot" } } } } }, "databaseSnapshot": { "type": "object", "description": "A point-in-time snapshot of a database branch", "properties": { "id": { "type": "string", "description": "The unique identifier of the snapshot" }, "source_branch_id": { "type": "string", "description": "The ID of the branch that was snapshotted" }, "manual": { "type": "boolean", "description": "Whether this snapshot was manually created" }, "created_at": { "type": "string", "format": "dateTime", "description": "When the snapshot was created" }, "expires_at": { "type": "string", "format": "dateTime", "description": "When the snapshot expires" }, "timestamp": { "type": "string", "format": "dateTime", "description": "The point-in-time timestamp of the snapshot" }, "metadata": { "type": "object", "description": "Metadata associated with a snapshot", "properties": { "deploy": { "type": "object", "description": "Deploy information associated with the snapshot", "additionalProperties": true }, "source": { "type": "string", "description": "The source that created the snapshot" } } } } }, "databaseSnapshotMetadata": { "type": "object", "description": "Metadata associated with a snapshot", "properties": { "deploy": { "type": "object", "description": "Deploy information associated with the snapshot", "additionalProperties": true }, "source": { "type": "string", "description": "The source that created the snapshot" } } }, "databaseSnapshotsResponse": { "type": "object", "description": "Response containing a list of database snapshots", "properties": { "snapshots": { "type": "array", "items": { "type": "object", "description": "A point-in-time snapshot of a database branch", "properties": { "id": { "type": "string", "description": "The unique identifier of the snapshot" }, "source_branch_id": { "type": "string", "description": "The ID of the branch that was snapshotted" }, "manual": { "type": "boolean", "description": "Whether this snapshot was manually created" }, "created_at": { "type": "string", "format": "dateTime", "description": "When the snapshot was created" }, "expires_at": { "type": "string", "format": "dateTime", "description": "When the snapshot expires" }, "timestamp": { "type": "string", "format": "dateTime", "description": "The point-in-time timestamp of the snapshot" }, "metadata": { "type": "object", "description": "Metadata associated with a snapshot", "properties": { "deploy": { "type": "object", "description": "Deploy information associated with the snapshot", "additionalProperties": true }, "source": { "type": "string", "description": "The source that created the snapshot" } } } } }, "description": "List of database snapshots" } } }, "restoreDatabaseSnapshotRequest": { "type": "object", "description": "Request body for restoring a database snapshot", "properties": { "branch_id": { "type": "string", "description": "The ID of the branch to restore the snapshot to. Defaults to \"production\" if not specified." } } }, "databaseComputeSettingsRequest": { "type": "object", "description": "Request body for setting compute settings. All fields are optional; only provided fields are updated.", "properties": { "min_cu": { "type": "number", "format": "double", "minimum": 0.25, "maximum": 16, "x-nullable": true, "description": "Minimum compute units (0.25 to 16.0). Must be less than or equal to max_cu." }, "max_cu": { "type": "number", "format": "double", "minimum": 0.25, "maximum": 16, "x-nullable": true, "description": "Maximum compute units (0.25 to 16.0). Must be greater than or equal to min_cu. max_cu - min_cu must not exceed 8.0." }, "sleep_timeout_seconds": { "type": "integer", "format": "int64", "minimum": -1, "x-nullable": true, "description": "Seconds of inactivity before the compute endpoint is suspended. Use -1 for always on, or a non-negative value." } } }, "databaseComputeSettings": { "type": "object", "description": "Compute settings for a database or branch", "properties": { "min_cu": { "type": "number", "format": "double", "description": "Minimum compute units" }, "max_cu": { "type": "number", "format": "double", "description": "Maximum compute units" }, "sleep_timeout_seconds": { "type": "integer", "format": "int64", "description": "Seconds of inactivity before suspension" } } }, "runDatabaseMigrationsRequest": { "type": "object", "description": "Request body for running database migrations", "properties": { "dry_run": { "type": "boolean", "description": "If true, validates migrations without applying them." } } }, "resetDatabaseBranchRequest": { "type": "object", "description": "Request body for resetting a database branch", "properties": { "source_branch_id": { "type": "string", "description": "The ID of the branch to re-fork the target branch from. Defaults to \"production\" if not specified." } } }, "resetDatabaseBranchResponse": { "type": "object", "description": "Response for a database branch reset", "properties": { "reset": { "type": "boolean", "description": "Whether the branch was actually re-forked. False when the target was already in sync with the source and `force=true` was not set." }, "connection_string": { "type": "string", "description": "The connection string for the reset (or unchanged) branch" }, "metadata": { "type": "object", "description": "Metadata associated with the branch", "additionalProperties": true } } }, "listDatabaseMigrationsResponse": { "type": "object", "description": "Response containing the list of migrations for a branch", "properties": { "migrations": { "type": "array", "items": { "type": "object", "description": "A migration available to a database branch", "properties": { "version": { "type": "integer", "format": "int64", "description": "The migration version number" }, "name": { "type": "string", "description": "The migration name" }, "path": { "type": "string", "description": "The path to the migration file in the deploy bundle" }, "applied": { "type": "boolean", "description": "Whether this migration has been applied to the branch" } } }, "description": "List of migrations" } } }, "databaseMigration": { "type": "object", "description": "A migration available to a database branch", "properties": { "version": { "type": "integer", "format": "int64", "description": "The migration version number" }, "name": { "type": "string", "description": "The migration name" }, "path": { "type": "string", "description": "The path to the migration file in the deploy bundle" }, "applied": { "type": "boolean", "description": "Whether this migration has been applied to the branch" } } }, "databaseMigrationDetail": { "type": "object", "description": "A migration with its file contents", "properties": { "version": { "type": "integer", "format": "int64", "description": "The migration version number" }, "name": { "type": "string", "description": "The migration name" }, "path": { "type": "string", "description": "The path to the migration file in the deploy bundle" }, "content": { "type": "string", "description": "The raw contents of the migration file" } } }, "DeployValidationsReport": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the deploy validations report" }, "deploy_id": { "type": "string", "description": "The id of the deploy" }, "secret_scan_result": { "type": "object", "properties": { "scannedFilesCount": { "type": "integer", "description": "The number of files scanned" }, "secretsScanMatches": { "type": "array", "items": { "type": "string" }, "description": "The list of secrets scan matches" } } } } }, "DeployValidationsReport_SecretScanResult": { "type": "object", "properties": { "scannedFilesCount": { "type": "integer", "description": "The number of files scanned" }, "secretsScanMatches": { "type": "array", "items": { "type": "string" }, "description": "The list of secrets scan matches" } } }, "splitTestSetup": { "type": "object", "properties": { "branch_tests": { "type": "object" } } }, "splitTests": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "branches": { "type": "array", "items": { "type": "object" } }, "active": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "unpublished_at": { "type": "string", "format": "dateTime" } } } }, "splitTest": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "branches": { "type": "array", "items": { "type": "object" } }, "active": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "unpublished_at": { "type": "string", "format": "dateTime" } } }, "serviceInstance": { "type": "object", "properties": { "id": { "type": "string" }, "url": { "type": "string" }, "config": { "type": "object" }, "external_attributes": { "type": "object" }, "service_slug": { "type": "string" }, "service_path": { "type": "string" }, "service_name": { "type": "string" }, "env": { "type": "object" }, "snippets": { "type": "array", "items": { "type": "object" } }, "auth_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } }, "service": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "service_path": { "type": "string" }, "long_description": { "type": "string" }, "description": { "type": "string" }, "events": { "type": "array", "items": { "type": "object" } }, "tags": { "type": "array", "items": { "type": "string" } }, "icon": { "type": "string" }, "manifest_url": { "type": "string" }, "environments": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } }, "site": { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } }, "siteSetup": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "state": { "type": "string" }, "plan": { "type": "string" }, "name": { "type": "string" }, "custom_domain": { "type": "string" }, "domain_aliases": { "type": "array", "items": { "type": "string" } }, "branch_deploy_custom_domain": { "type": "string" }, "deploy_preview_custom_domain": { "type": "string" }, "password": { "type": "string" }, "notification_email": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "user_id": { "type": "string" }, "session_id": { "type": "string" }, "ssl": { "type": "boolean" }, "force_ssl": { "type": "boolean" }, "managed_dns": { "type": "boolean" }, "deploy_url": { "type": "string" }, "published_deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "account_id": { "type": "string" }, "account_name": { "type": "string" }, "account_slug": { "type": "string" }, "git_provider": { "type": "string" }, "deploy_hook": { "type": "string" }, "capabilities": { "type": "object", "additionalProperties": { "type": "object" } }, "processing_settings": { "type": "object", "properties": { "html": { "type": "object", "properties": { "pretty_urls": { "type": "boolean" } } } } }, "build_settings": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "id_domain": { "type": "string" }, "default_hooks_data": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "build_image": { "type": "string" }, "prerender": { "type": "string" }, "functions_region": { "type": "string" }, "prevent_non_git_prod_deploys": { "type": "boolean", "default": false } } }, { "properties": { "repo": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } } } } ] }, "repoInfo": { "type": "object", "properties": { "id": { "type": "integer" }, "provider": { "type": "string" }, "deploy_key_id": { "type": "string" }, "repo_path": { "type": "string" }, "repo_branch": { "type": "string" }, "dir": { "type": "string" }, "functions_dir": { "type": "string", "description": "The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file." }, "cmd": { "type": "string", "description": "The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value." }, "allowed_branches": { "type": "array", "items": { "type": "string" } }, "public_repo": { "type": "boolean" }, "private_logs": { "type": "boolean" }, "repo_url": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "installation_id": { "type": "integer" }, "stop_builds": { "type": "boolean", "description": "When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API." } } }, "submission": { "type": "object", "properties": { "id": { "type": "string" }, "number": { "type": "integer", "format": "int32" }, "email": { "type": "string" }, "name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company": { "type": "string" }, "summary": { "type": "string" }, "body": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "site_url": { "type": "string" } } }, "envVar": { "type": "object", "properties": { "key": { "type": "string", "description": "The environment variable key, like ALGOLIA_ID (case-sensitive)", "x-faker": "commerce.productName" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] }, "description": "The scopes that this environment variable is set to" }, "values": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" }, "description": "An array of Value objects containing values and metadata", "x-faker": "internet.password" }, "is_secret": { "type": "boolean", "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." }, "updated_at": { "type": "string", "format": "date-time", "description": "The timestamp of when the value was last updated", "x-faker": "date.past" }, "updated_by": { "type": "object", "properties": { "id": { "type": "string", "description": "The user's unique identifier", "x-faker": "datatype.number" }, "full_name": { "type": "string", "description": "The user's full name (first and last)", "x-faker": "name.findName" }, "email": { "type": "string", "description": "The user's email address", "x-faker": "internet.email" }, "avatar_url": { "type": "string", "description": "A URL pointing to the user's avatar", "x-faker": "internet.avatar" } } } }, "description": "Environment variable model definition" }, "envVarValue": { "type": "object", "properties": { "id": { "type": "string", "description": "The environment variable value's universally unique ID", "x-faker": "datatype.uuid" }, "value": { "type": "string", "description": "The environment variable's unencrypted value", "x-faker": "internet.password" }, "context": { "type": "string", "enum": [ "all", "dev", "dev-server", "branch-deploy", "deploy-preview", "production", "branch" ], "description": "The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`." }, "context_parameter": { "type": "string", "description": "An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`." } }, "description": "Environment variable value model definition" }, "envVarUser": { "type": "object", "properties": { "id": { "type": "string", "description": "The user's unique identifier", "x-faker": "datatype.number" }, "full_name": { "type": "string", "description": "The user's full name (first and last)", "x-faker": "name.findName" }, "email": { "type": "string", "description": "The user's email address", "x-faker": "internet.email" }, "avatar_url": { "type": "string", "description": "A URL pointing to the user's avatar", "x-faker": "internet.avatar" } } }, "form": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" }, "paths": { "type": "array", "items": { "type": "string" } }, "submission_count": { "type": "integer", "format": "int32" }, "fields": { "type": "array", "items": { "type": "object" } }, "created_at": { "type": "string", "format": "dateTime" } } }, "hookType": { "type": "object", "properties": { "name": { "type": "string" }, "events": { "type": "array", "items": { "type": "string" } }, "fields": { "type": "array", "items": { "type": "object" } } } }, "hook": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "type": { "type": "string" }, "event": { "type": "string" }, "data": { "type": "object" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "disabled": { "type": "boolean" } } }, "file": { "type": "object", "properties": { "id": { "type": "string" }, "path": { "type": "string" }, "sha": { "type": "string" }, "mime_type": { "type": "string" }, "size": { "type": "integer", "format": "int64" } } }, "function": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "sha": { "type": "string" }, "region": { "type": "string" } } }, "snippet": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "general": { "type": "string" }, "general_position": { "type": "string" }, "goal": { "type": "string" }, "goal_position": { "type": "string" } } }, "purge": { "type": "object", "properties": { "site_id": { "type": "string" }, "site_slug": { "type": "string" }, "cache_tags": { "type": "array", "items": { "type": "string" } } } }, "deploy": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "user_id": { "type": "string" }, "build_id": { "type": "string" }, "state": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" }, "admin_url": { "type": "string" }, "deploy_url": { "type": "string" }, "deploy_ssl_url": { "type": "string" }, "screenshot_url": { "type": "string" }, "review_id": { "type": "number" }, "draft": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" } }, "required_functions": { "type": "array", "items": { "type": "string" } }, "required_edge_functions": { "type": "array", "items": { "type": "string" }, "description": "An array of code_shas for the edge-function bundles that need to be uploaded to\ncomplete the deploy.\n" }, "required_server": { "type": "array", "items": { "type": "string" }, "description": "The SHA256 digest of the deploy's Netlify Server bundle, when it still needs to\nbe uploaded to complete the deploy. A deploy has at most one server, so this\nholds either nothing or a single digest.\n" }, "error_message": { "type": "string" }, "branch": { "type": "string" }, "commit_ref": { "type": "string" }, "commit_url": { "type": "string" }, "skipped": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "published_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "context": { "type": "string" }, "locked": { "type": "boolean" }, "review_url": { "type": "string" }, "framework": { "type": "string" }, "skew_protection_token": { "type": "string" }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_region": { "type": "string", "description": "The functions region for this deploy as an airport code.\n" }, "functions_region_overrides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "description": "Functions in the deploy that explicitly specify their own region\n(airport code).\n" } } }, "deployEnvironmentVariable": { "type": "object", "required": [ "key", "value", "scopes", "is_secret" ], "properties": { "key": { "type": "string" }, "value": { "type": "string" }, "is_secret": { "type": "boolean" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] } } } }, "deployFiles": { "type": "object", "description": "Deploy files can be provided in two ways:\n1. As a JSON object using 'files' (a hash mapping file paths to SHA1 digests), OR\n2. As a zip file using one of these methods:\n - Set Content-Type to 'application/zip' and send the zip file as the raw request body\n - Include the zip file content in the 'zip' field of this JSON object with Content-Type 'application/json'\n", "properties": { "files": { "type": "object", "description": "A hash mapping file paths to SHA1 digests of the file contents." }, "zip": { "type": "string", "format": "binary", "description": "A zip file containing the site files to deploy. Alternative to 'files'.\nTo use this field, set Content-Type to 'application/json' and include the zip content here.\nAlternatively, you can set Content-Type to 'application/zip' and send the zip as the raw request body (not as JSON).\n" }, "draft": { "type": "boolean" }, "async": { "type": "boolean" }, "functions": { "type": "object" }, "edge_functions": { "type": "object", "description": "A hash mapping edge-function bundle formats to the code_sha of each bundle. The\nresponse's required_edge_functions lists which of these still need to be uploaded.\n" }, "server": { "type": "object", "description": "The deploy's Netlify Server. A deploy has at most one. The response's\nrequired_server says whether it still needs to be uploaded.\n", "required": [ "sha" ], "properties": { "sha": { "type": "string", "description": "The SHA256 digest of the server bundle." }, "region": { "type": "string", "description": "Where the server runs. Defaults to the region configured at the site level\nwhen absent.\n" } } }, "function_schedules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } } }, "functions_config": { "type": "object", "additionalProperties": { "type": "object", "properties": { "display_name": { "type": "string" }, "generator": { "type": "string" }, "build_data": { "type": "object" }, "memory": { "type": "integer", "description": "The function's memory allocation in MB. Mutually exclusive with `vcpu`.\n" }, "routes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" }, "methods": { "type": "array", "items": { "type": "string", "enum": [ "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS" ] } }, "prefer_static": { "type": "boolean" } } } }, "excluded_routes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" } } } }, "priority": { "type": "integer" }, "region": { "type": "string" }, "traffic_rules": { "type": "object", "properties": { "action": { "type": "object", "properties": { "type": { "type": "string" }, "config": { "type": "object", "properties": { "to": { "type": "string" }, "rate_limit_config": { "type": "object", "properties": { "algorithm": { "type": "string", "enum": [ "sliding_window" ] }, "window_size": { "type": "integer" }, "window_limit": { "type": "integer" } } }, "aggregate": { "type": "object", "properties": { "keys": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "ip", "domain" ] } } } } } } } } } } } }, "vcpu": { "type": "number", "format": "float", "description": "Number of vCPUs to provision for the function. Allowed range is\n0.5–2.\n" }, "event_subscriptions": { "type": "array", "items": { "type": "string" } } } } }, "branch": { "type": "string" }, "framework": { "type": "string" }, "framework_version": { "type": "string" }, "environment": { "description": "A list of deploy-specific environment variable data. Data specified this way applies only\nto this specific deploy and is merged into any existing environment variables set on the\naccount and site.\n\nDeploy-specific environment variable data takes precedence over account and site\nenvironment variable data: For example, a deploy-specific variable with the key `NODE_ENV`\nwill take priority over any existing site- and account-level environment variable data\nwith the key `NODE_ENV`.\n\nEnvironment variable data may be provided at one of two times:\n\n- When creating a new Deploy with deploy files (most common)\n- When finalizing an existing Deploy with deploy files\n\nOnce set, environment variables for a specific deploy cannot be modified. Subsequent\nattempts to modify environment variable data for a deploy will be ignored.\n", "type": "array", "items": { "type": "object", "required": [ "key", "value", "scopes", "is_secret" ], "properties": { "key": { "type": "string" }, "value": { "type": "string" }, "is_secret": { "type": "boolean" }, "scopes": { "type": "array", "items": { "type": "string", "enum": [ "builds", "functions", "runtime", "post-processing" ] } } } } } } }, "pluginParams": { "type": "object", "properties": { "pinned_version": { "type": "string" } } }, "plugin": { "type": "object", "properties": { "package": { "type": "string" }, "pinned_version": { "type": "string" } } }, "buildStatus": { "type": "object", "properties": { "active": { "type": "integer" }, "pending_concurrency": { "type": "integer" }, "enqueued": { "type": "integer" }, "build_count": { "type": "integer" }, "minutes": { "type": "object", "properties": { "current": { "type": "integer" }, "current_average_sec": { "type": "integer" }, "previous": { "type": "integer" }, "period_start_date": { "type": "string", "format": "dateTime" }, "period_end_date": { "type": "string", "format": "dateTime" }, "last_updated_at": { "type": "string", "format": "dateTime" }, "included_minutes": { "type": "string" }, "included_minutes_with_packs": { "type": "string" } } } } }, "build": { "type": "object", "properties": { "id": { "type": "string" }, "deploy_id": { "type": "string" }, "sha": { "type": "string" }, "done": { "type": "boolean" }, "error": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } }, "buildLogMsg": { "type": "object", "properties": { "message": { "type": "string" }, "error": { "type": "boolean" }, "section": { "type": "string", "enum": [ "initializing", "building", "deploying", "cleanup", "postprocessing" ] } } }, "pluginRunData": { "type": "object", "properties": { "package": { "type": "string" }, "version": { "type": "string" }, "state": { "type": "string" }, "reporting_event": { "type": "string" }, "title": { "type": "string" }, "summary": { "type": "string" }, "text": { "type": "string" } } }, "pluginRun": { "allOf": [ { "type": "object", "properties": { "package": { "type": "string" }, "version": { "type": "string" }, "state": { "type": "string" }, "reporting_event": { "type": "string" }, "title": { "type": "string" }, "summary": { "type": "string" }, "text": { "type": "string" } } }, { "type": "object", "properties": { "deploy_id": { "type": "string" } } } ] }, "metadata": { "type": "object" }, "dnsZoneSetup": { "type": "object", "properties": { "account_slug": { "type": "string" }, "site_id": { "type": "string" }, "name": { "type": "string" } } }, "dnsZones": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "errors": { "type": "array", "items": { "type": "string" } }, "supported_record_types": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dns_servers": { "type": "array", "items": { "type": "string" } }, "account_id": { "type": "string" }, "site_id": { "type": "string" }, "account_slug": { "type": "string" }, "account_name": { "type": "string" }, "domain": { "type": "string" }, "ipv6_enabled": { "type": "boolean" }, "dedicated": { "type": "boolean" } } } }, "dnsZone": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "errors": { "type": "array", "items": { "type": "string" } }, "supported_record_types": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dns_servers": { "type": "array", "items": { "type": "string" } }, "account_id": { "type": "string" }, "site_id": { "type": "string" }, "account_slug": { "type": "string" }, "account_name": { "type": "string" }, "domain": { "type": "string" }, "ipv6_enabled": { "type": "boolean" }, "dedicated": { "type": "boolean" } } }, "dnsRecordCreate": { "type": "object", "properties": { "type": { "type": "string" }, "hostname": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "weight": { "type": "integer", "format": "int64" }, "port": { "type": "integer", "format": "int64" }, "flag": { "type": "integer", "format": "int64" }, "tag": { "type": "string" } } }, "dnsRecords": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } } }, "dnsRecord": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" }, "ttl": { "type": "integer", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "dns_zone_id": { "type": "string" }, "site_id": { "type": "string" }, "flag": { "type": "integer" }, "tag": { "type": "string" }, "managed": { "type": "boolean" } } }, "sniCertificate": { "type": "object", "properties": { "state": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "expires_at": { "type": "string", "format": "dateTime" } } }, "ticket": { "type": "object", "properties": { "id": { "type": "string" }, "client_id": { "type": "string" }, "authorized": { "type": "boolean" }, "created_at": { "type": "string", "format": "dateTime" } } }, "accessToken": { "type": "object", "properties": { "id": { "type": "string" }, "access_token": { "type": "string" }, "user_id": { "type": "string" }, "user_email": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } }, "asset": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "creator_id": { "type": "string" }, "name": { "type": "string" }, "state": { "type": "string" }, "content_type": { "type": "string" }, "url": { "type": "string" }, "key": { "type": "string" }, "visibility": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } }, "assetForm": { "type": "object", "properties": { "url": { "type": "string" }, "fields": { "type": "object", "additionalProperties": { "type": "string" } } } }, "assetSignature": { "type": "object", "properties": { "form": { "type": "object", "properties": { "url": { "type": "string" }, "fields": { "type": "object", "additionalProperties": { "type": "string" } } } }, "asset": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "creator_id": { "type": "string" }, "name": { "type": "string" }, "state": { "type": "string" }, "content_type": { "type": "string" }, "url": { "type": "string" }, "key": { "type": "string" }, "visibility": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } } } }, "assetPublicSignature": { "type": "object", "properties": { "url": { "type": "string" } } }, "deployKey": { "type": "object", "properties": { "id": { "type": "string" }, "public_key": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } }, "member": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" }, "role": { "type": "string" } } }, "paymentMethod": { "type": "object", "properties": { "id": { "type": "string" }, "method_name": { "type": "string" }, "type": { "type": "string" }, "state": { "type": "string" }, "data": { "type": "object", "properties": { "card_type": { "type": "string" }, "last4": { "type": "string" }, "email": { "type": "string" } } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } }, "accountType": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "capabilities": { "type": "object" }, "monthly_dollar_price": { "type": "integer" }, "yearly_dollar_price": { "type": "integer" }, "monthly_seats_addon_dollar_price": { "type": "integer" }, "yearly_seats_addon_dollar_price": { "type": "integer" } } }, "accountSetup": { "type": "object", "required": [ "name", "type_id" ], "properties": { "name": { "type": "string" }, "type_id": { "type": "string" }, "payment_method_id": { "type": "string" }, "period": { "type": "string", "enum": [ "monthly", "yearly" ] }, "extra_seats_block": { "type": "integer" } } }, "accountUpdateSetup": { "type": "object", "properties": { "name": { "type": "string" }, "slug": { "type": "string" }, "type_id": { "type": "string" }, "extra_seats_block": { "type": "integer" }, "billing_name": { "type": "string" }, "billing_email": { "type": "string" }, "billing_details": { "type": "string" } } }, "accountAddMemberSetup": { "type": "object", "properties": { "role": { "type": "string", "enum": [ "Owner", "Developer", "Billing Admin", "Reviewer" ] }, "email": { "type": "string" } } }, "accountUpdateMemberSetup": { "type": "object", "properties": { "role": { "type": "string", "enum": [ "Owner", "Developer", "Billing Admin", "Reviewer" ] }, "site_access": { "type": "string", "enum": [ "all", "none", "selected" ] }, "site_ids": { "type": "array", "items": { "type": "string" } } } }, "accountMembership": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "type": { "type": "string" }, "capabilities": { "type": "object", "properties": { "sites": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } }, "collaborators": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } } } }, "billing_name": { "type": "string" }, "billing_email": { "type": "string" }, "billing_details": { "type": "string" }, "billing_period": { "type": "string" }, "payment_method_id": { "type": "string" }, "type_name": { "type": "string" }, "type_id": { "type": "string" }, "owner_ids": { "type": "array", "items": { "type": "string" } }, "roles_allowed": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } }, "auditLog": { "type": "object", "properties": { "id": { "type": "string" }, "account_id": { "type": "string" }, "payload": { "type": "object", "properties": { "actor_id": { "type": "string" }, "actor_name": { "type": "string" }, "actor_email": { "type": "string" }, "action": { "type": "string" }, "timestamp": { "type": "string", "format": "dateTime" }, "log_type": { "type": "string" } }, "additionalProperties": { "type": "object" } } } }, "agentRunner": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "parent_agent_runner_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "branch": { "type": "string" }, "result_branch": { "type": "string" }, "pr_url": { "type": "string" }, "pr_branch": { "type": "string" }, "pr_state": { "type": "string" }, "pr_number": { "type": "integer" }, "pr_is_being_created": { "type": "boolean" }, "pr_error": { "type": "string" }, "current_task": { "type": "string" }, "result_diff": { "type": "string" }, "sha": { "type": "string" }, "merge_commit_sha": { "type": "string" }, "merge_commit_error": { "type": "string" }, "merge_commit_is_being_created": { "type": "boolean" }, "base_deploy_id": { "type": "string" }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "active_session_created_at": { "type": "string", "format": "dateTime" }, "latest_session_deploy_id": { "type": "string" }, "latest_session_deploy_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } } } }, "agentRunnerSession": { "type": "object", "properties": { "id": { "type": "string" }, "agent_runner_id": { "type": "string" }, "dev_server_id": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" }, "prompt": { "type": "string" }, "agent_config": { "type": "object", "properties": { "agent": { "type": "string" }, "model": { "type": "string" } } }, "result": { "type": "string" }, "result_diff": { "type": "string" }, "commit_sha": { "type": "string" }, "deploy_id": { "type": "string" }, "deploy_url": { "type": "string" }, "duration": { "type": "integer" }, "steps": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "message": { "type": "string" } } } }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } }, "attached_file_keys": { "type": "array", "items": { "type": "string" } }, "result_zip_file_name": { "type": "string" }, "is_published": { "type": "boolean" } } }, "agentRunnerSessionStep": { "type": "object", "properties": { "title": { "type": "string" }, "message": { "type": "string" } } }, "agentRunnerSessionConfig": { "type": "object", "properties": { "agent": { "type": "string" }, "model": { "type": "string" } } }, "agentRunnerUser": { "type": "object", "properties": { "id": { "type": "string" }, "full_name": { "type": "string" }, "email": { "type": "string" }, "avatar_url": { "type": "string" } } }, "agentRunnerHook": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "prompt": { "type": "string" }, "agent": { "type": "string" }, "url": { "type": "string" }, "msg": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } }, "agentRunnerHookSetup": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" }, "prompt": { "type": "string" }, "agent": { "type": "string" } } }, "agentRunnerHookCreated": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "prompt": { "type": "string" }, "agent": { "type": "string" }, "url": { "type": "string" }, "msg": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } }, { "properties": { "secret": { "type": "string" } } } ] }, "accountUsageCapability": { "type": "object", "properties": { "included": { "type": "integer" }, "used": { "type": "integer" } } }, "buildSetup": { "type": "object", "properties": { "image": { "type": "string" }, "clear_cache": { "type": "boolean" } } }, "buildHookSetup": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" } } }, "buildHook": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "site_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" } } }, "deployedBranch": { "type": "object", "properties": { "id": { "type": "string" }, "deploy_id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "url": { "type": "string" }, "ssl_url": { "type": "string" } } }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "uid": { "type": "string" }, "full_name": { "type": "string" }, "avatar_url": { "type": "string" }, "email": { "type": "string" }, "affiliate_id": { "type": "string" }, "site_count": { "type": "integer", "format": "int64" }, "created_at": { "type": "string", "format": "dateTime" }, "last_login": { "type": "string", "format": "dateTime" }, "login_providers": { "type": "array", "items": { "type": "string" } }, "onboarding_progress": { "type": "object", "properties": { "slides": { "type": "string" } } } } }, "error": { "type": "object", "required": [ "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "message": { "type": "string", "x-nullable": false } } }, "functionSchedule": { "type": "object", "properties": { "name": { "type": "string" }, "cron": { "type": "string" } } }, "functionConfig": { "type": "object", "properties": { "display_name": { "type": "string" }, "generator": { "type": "string" }, "build_data": { "type": "object" }, "memory": { "type": "integer", "description": "The function's memory allocation in MB. Mutually exclusive with `vcpu`.\n" }, "routes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" }, "methods": { "type": "array", "items": { "type": "string", "enum": [ "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS" ] } }, "prefer_static": { "type": "boolean" } } } }, "excluded_routes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" } } } }, "priority": { "type": "integer" }, "region": { "type": "string" }, "traffic_rules": { "type": "object", "properties": { "action": { "type": "object", "properties": { "type": { "type": "string" }, "config": { "type": "object", "properties": { "to": { "type": "string" }, "rate_limit_config": { "type": "object", "properties": { "algorithm": { "type": "string", "enum": [ "sliding_window" ] }, "window_size": { "type": "integer" }, "window_limit": { "type": "integer" } } }, "aggregate": { "type": "object", "properties": { "keys": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "ip", "domain" ] } } } } } } } } } } } }, "vcpu": { "type": "number", "format": "float", "description": "Number of vCPUs to provision for the function. Allowed range is\n0.5–2.\n" }, "event_subscriptions": { "type": "array", "items": { "type": "string" } } } }, "functionRoute": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" }, "methods": { "type": "array", "items": { "type": "string", "enum": [ "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS" ] } }, "prefer_static": { "type": "boolean" } } }, "excludedFunctionRoute": { "type": "object", "properties": { "pattern": { "type": "string" }, "literal": { "type": "string" }, "expression": { "type": "string" } } }, "trafficRulesConfig": { "type": "object", "properties": { "action": { "type": "object", "properties": { "type": { "type": "string" }, "config": { "type": "object", "properties": { "to": { "type": "string" }, "rate_limit_config": { "type": "object", "properties": { "algorithm": { "type": "string", "enum": [ "sliding_window" ] }, "window_size": { "type": "integer" }, "window_limit": { "type": "integer" } } }, "aggregate": { "type": "object", "properties": { "keys": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "ip", "domain" ] } } } } } } } } } } } }, "trafficRulesRateLimitConfig": { "type": "object", "properties": { "algorithm": { "type": "string", "enum": [ "sliding_window" ] }, "window_size": { "type": "integer" }, "window_limit": { "type": "integer" } } }, "trafficRulesAggregateConfig": { "type": "object", "properties": { "keys": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "ip", "domain" ] } } } } } }, "siteFunction": { "type": "object", "properties": { "branch": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "functions": { "type": "array", "items": { "type": "object" } }, "id": { "type": "string" }, "log_type": { "type": "string" }, "provider": { "type": "string" } } }, "devServer": { "type": "object", "properties": { "id": { "type": "string" }, "site_id": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "state": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" }, "starting_at": { "type": "string", "format": "dateTime" }, "error_at": { "type": "string", "format": "dateTime" }, "live_at": { "type": "string", "format": "dateTime" }, "done_at": { "type": "string", "format": "dateTime" }, "title": { "type": "string" } } }, "devServerHook": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "branch": { "type": "string" }, "url": { "type": "string" }, "site_id": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "type": { "type": "string", "enum": [ "new_dev_server", "content_refresh" ] } } }, "devServerHookSetup": { "type": "object", "properties": { "title": { "type": "string" }, "branch": { "type": "string" }, "type": { "type": "string", "enum": [ "new_dev_server", "content_refresh" ] } } }, "providerDefinition": { "type": "object", "properties": { "token_env_var": { "type": "string" }, "url_env_var": { "type": "string" }, "models": { "type": "array", "items": { "type": "string" } } } }, "aiGatewayToken": { "type": "object", "properties": { "token": { "type": "string", "description": "The AI Gateway authentication token" }, "url": { "type": "string", "description": "AI gateway base url" }, "expires_at": { "type": "integer", "format": "int64", "description": "Unix timestamp when the token expires" } } } }, "parameters": { "page": { "type": "integer", "format": "int32", "name": "page", "required": false, "in": "query" }, "perPage": { "type": "integer", "format": "int32", "name": "per_page", "required": false, "in": "query" }, "retryCount": { "name": "X-Nf-Retry-Count", "type": "integer", "in": "header" } }, "x-tagGroups": [ { "name": "OAuth", "tags": [ "ticket", "accessToken" ] }, { "name": "User accounts", "tags": [ "user", "accountMembership", "member", "accountType", "paymentMethod", "auditLog" ] }, { "name": "Site", "tags": [ "site", "environmentVariables", "file", "metadata", "purge", "snippet" ] }, { "name": "Domain names", "tags": [ "dnsZone", "sniCertificate" ] }, { "name": "Deploys", "tags": [ "deploy", "deployedBranch", "deployKey" ] }, { "name": "Builds", "tags": [ "build", "buildLogMsg" ] }, { "name": "Dev servers", "tags": [ "devServer" ] }, { "name": "Webhooks and notifications", "tags": [ "hook", "hookType", "buildHook", "devServerHook" ] }, { "name": "Services", "tags": [ "service", "serviceInstance" ] }, { "name": "Functions", "tags": [ "function" ] }, { "name": "Database", "tags": [ "database" ] }, { "name": "Forms", "tags": [ "form", "submission" ] }, { "name": "Split tests", "tags": [ "splitTest" ] }, { "name": "Large media", "tags": [ "asset", "assetPublicSignature" ] } ], "tags": [ { "name": "ticket", "x-displayName": "Ticket" }, { "name": "accessToken", "x-displayName": "Access token" }, { "name": "user", "x-displayName": "User" }, { "name": "accountMembership", "x-displayName": "Accounts" }, { "name": "member", "x-displayName": "Member" }, { "name": "accountType", "x-displayName": "Access type" }, { "name": "paymentMethod", "x-displayName": "Payment method" }, { "name": "auditLog", "x-displayName": "Audit log" }, { "name": "site", "x-displayName": "Site" }, { "name": "environmentVariables", "x-displayName": "Environment variables" }, { "name": "file", "x-displayName": "File" }, { "name": "metadata", "x-displayName": "Metadata" }, { "name": "snippet", "x-displayName": "Snippet" }, { "name": "purge", "x-displayName": "Cache purge" }, { "name": "dnsZone", "x-displayName": "DNS zone" }, { "name": "sniCertificate", "x-displayName": "SNI certificate" }, { "name": "deploy", "x-displayName": "Deploy" }, { "name": "deployedBranch", "x-displayName": "Deployed branch" }, { "name": "deployKey", "x-displayName": "Deploy key" }, { "name": "build", "x-displayName": "Build" }, { "name": "buildLogMsg", "x-displayName": "Build log message" }, { "name": "hook", "x-displayName": "Hook" }, { "name": "hookType", "x-displayName": "Hook type" }, { "name": "buildHook", "x-displayName": "Build hook" }, { "name": "service", "x-displayName": "Service" }, { "name": "serviceInstance", "x-displayName": "Service instance" }, { "name": "function", "x-displayName": "Function" }, { "name": "form", "x-displayName": "Form" }, { "name": "submission", "x-displayName": "Form submission" }, { "name": "splitTest", "x-displayName": "Split test" }, { "name": "asset", "x-displayName": "Asset" }, { "name": "assetPublicSignature", "x-displayName": "Asset public signature" }, { "name": "devServer", "x-displayName": "Dev server" }, { "name": "devServerHook", "x-displayName": "Dev server hook" }, { "name": "database", "x-displayName": "Database" } ] }