openapi: 3.0.1
info:
title: Netlify Netlify's API documentation accessToken environmentVariables API
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.
This 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).
Additionally, we have two API clients for your convenience:
- [Go Client](https://github.com/netlify/open-api#go-client)
- [JS Client](https://github.com/netlify/build/tree/main/packages/js-client)'
termsOfService: https://www.netlify.com/legal/terms-of-use/
version: 2.33.1
x-logo:
url: netlify-logo.png
href: https://www.netlify.com/docs/
altText: Netlify
servers:
- url: https://api.netlify.com/api/v1
security:
- netlifyAuth: []
tags:
- name: environmentVariables
x-displayName: Environment variables
paths:
/accounts/{account_id}/env:
get:
tags:
- environmentVariables
description: Returns all environment variables for an account or site. An account corresponds to a team in the Netlify UI. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.
operationId: getEnvVars
parameters:
- name: account_id
in: path
description: Scope response to account_id
required: true
schema:
type: string
- name: context_name
in: query
description: Filter by deploy context
schema:
type: string
enum:
- all
- dev
- branch-deploy
- deploy-preview
- production
- name: scope
in: query
description: Filter by scope
schema:
type: string
enum:
- builds
- functions
- runtime
- post-processing
- name: site_id
in: query
description: If specified, only return environment variables set on this site
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/envVar'
default:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
post:
tags:
- environmentVariables
description: Creates new environment variables. Granular scopes are available on Pro plans and above. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.
operationId: createEnvVars
parameters:
- name: account_id
in: path
description: Scope response to account_id
required: true
schema:
type: string
- name: site_id
in: query
description: If provided, create an environment variable on the site level, not the account level
schema:
type: string
requestBody:
content:
application/json:
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:
type: array
description: The scopes that this environment variable is set to (Pro plans and above)
items:
type: string
enum:
- builds
- functions
- runtime
- post-processing
values:
type: array
items:
$ref: '#/components/schemas/envVarValue'
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. (Enterprise plans only)
required: false
responses:
'201':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/envVar'
default:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-codegen-request-body-name: env_vars
/api/v1/sites/{site_id}/env:
get:
tags:
- environmentVariables
description: Returns all environment variables for a site. This convenience method behaves the same as `getEnvVars` but doesn't require an `account_id` as input.
operationId: getSiteEnvVars
parameters:
- name: context_name
in: query
description: Filter by deploy context
schema:
type: string
enum:
- all
- dev
- branch-deploy
- deploy-preview
- production
- name: scope
in: query
description: Filter by scope
schema:
type: string
enum:
- builds
- functions
- runtime
- post_processing
- name: site_id
in: path
description: Scope response to site_id
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/envVar'
default:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
/accounts/{account_id}/env/{key}:
get:
tags:
- environmentVariables
description: Returns an individual environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.
operationId: getEnvVar
parameters:
- name: account_id
in: path
description: Scope response to account_id
required: true
schema:
type: string
- name: key
in: path
description: The environment variable key (case-sensitive)
required: true
schema:
type: string
- name: site_id
in: query
description: If provided, return the environment variable for a specific site (no merging is performed)
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/envVar'
default:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
put:
tags:
- environmentVariables
description: Updates an existing environment variable and all of its values. Existing values will be replaced by values provided. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.
operationId: updateEnvVar
parameters:
- name: account_id
in: path
description: Scope response to account_id
required: true
schema:
type: string
- name: key
in: path
description: The existing environment variable key name (case-sensitive)
required: true
schema:
type: string
- name: site_id
in: query
description: If provided, update an environment variable set on this site
schema:
type: string
requestBody:
content:
application/json:
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:
type: array
description: The scopes that this environment variable is set to (Pro plans and above)
items:
type: string
enum:
- builds
- functions
- runtime
- post-processing
values:
type: array
items:
$ref: '#/components/schemas/envVarValue'
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. (Enterprise plans only)
required: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/envVar'
default:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-codegen-request-body-name: env_var
delete:
tags:
- environmentVariables
description: Deletes an environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.
operationId: deleteEnvVar
parameters:
- name: account_id
in: path
description: Scope response to account_id
required: true
schema:
type: string
- name: key
in: path
description: The environment variable key (case-sensitive)
required: true
schema:
type: string
- name: site_id
in: query
description: If provided, delete the environment variable from this site
schema:
type: string
responses:
'204':
description: No Content (success)
content: {}
default:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
patch:
tags:
- environmentVariables
description: Updates or creates a new value for an existing environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.
operationId: setEnvVarValue
parameters:
- name: account_id
in: path
description: Scope response to account_id
required: true
schema:
type: string
- name: key
in: path
description: The existing environment variable key name (case-sensitive)
required: true
schema:
type: string
- name: site_id
in: query
description: If provided, update an environment variable set on this site
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
context:
type: string
description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. `branch` must be provided with a value in `context_parameter`.
enum:
- all
- dev
- branch-deploy
- deploy-preview
- production
- branch
context_parameter:
type: string
description: An additional parameter for custom branches. Currently, this is used for providing a branch name when `context=branch`.
value:
type: string
description: The environment variable's unencrypted value
required: false
responses:
'201':
description: Created (success)
content:
application/json:
schema:
$ref: '#/components/schemas/envVar'
default:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-codegen-request-body-name: env_var
/accounts/{account_id}/env/{key}/value/{id}:
delete:
tags:
- environmentVariables
description: Deletes a specific environment variable value. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Netlify UI.
operationId: deleteEnvVarValue
parameters:
- name: account_id
in: path
description: Scope response to account_id
required: true
schema:
type: string
- name: id
in: path
description: The environment variable value's ID
required: true
schema:
type: string
- name: key
in: path
description: The environment variable key name (case-sensitive)
required: true
schema:
type: string
- name: site_id
in: query
description: If provided, delete the value from an environment variable on this site
schema:
type: string
responses:
'204':
description: No Content (success)
content: {}
default:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
components:
schemas:
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
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
description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`.
enum:
- all
- dev
- branch-deploy
- deploy-preview
- production
- branch
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
envVar:
type: object
properties:
key:
type: string
description: The environment variable key, like ALGOLIA_ID (case-sensitive)
x-faker: commerce.productName
scopes:
type: array
description: The scopes that this environment variable is set to
items:
type: string
enum:
- builds
- functions
- runtime
- post-processing
values:
type: array
description: An array of Value objects containing values and metadata
items:
$ref: '#/components/schemas/envVarValue'
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. (Enterprise plans only)
updated_at:
type: string
description: The timestamp of when the value was last updated
format: date-time
x-faker: date.past
updated_by:
$ref: '#/components/schemas/envVarUser'
description: Environment variable model definition
error:
required:
- message
type: object
properties:
code:
type: integer
format: int64
message:
type: string
nullable: false
securitySchemes:
netlifyAuth:
type: oauth2
flows:
implicit:
authorizationUrl: https://app.netlify.com/authorize
scopes: {}
externalDocs:
description: Online documentation
url: https://www.netlify.com/docs/api/
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: Forms
tags:
- form
- submission
- name: Split tests
tags:
- splitTest
- name: Large media
tags:
- asset
- assetPublicSignature
x-original-swagger-version: '2.0'