The account lockout policy for failed login attempts.


Enable (or disable) client class creation, defaults to true


Enable (or disable) custom objectId


Allow a user to log in even if the 3rd party authentication token that was used to sign in to their account has expired. If this is set to false, then the token will be validated every time the user signs in to their account. This refers to the token that is stored in the _User.authData field. Defaults to true.


Add headers to Access-Control-Allow-Headers

allowOriginString | Array.<String>

Sets origins for Access-Control-Allow-Origin. This can be a string for a single origin or an array of strings for multiple origins.


Adapter module for the analytics


Your Parse Application ID


Sets the app name


Configuration for your authentication providers, as stringified JSON. See


Adapter module for the cache


Sets the maximum size for the in memory cache, defaults to 10000


Sets the TTL for the in memory cache (in ms), defaults to 5000 (5 seconds)


Key for iOS, MacOS, tvOS clients


Full path to your cloud code main.js

clusterNumber | Boolean

Run with cluster, optionally set the number of processes default to os.cpus().length


A collection prefix for the classes


custom pages for password validation and reset


Adapter module for the database; any options that are not explicitly described here are passed directly to the database client.


Options to pass to the database client


The full URI to your database. Supported databases are mongodb or postgres.


Default value for limit option on queries, defaults to 100.


Set to true if Parse requests within the same Node.js environment as Parse Server should be routed to Parse Server directly instead of via the HTTP interface. Default is false.

If set to false then Parse requests within the same Node.js environment as Parse Server are executed as HTTP requests sent to Parse Server via the serverURL. For example, a Parse.Query in Cloud Code is calling Parse Server via a HTTP request. The server is essentially making a HTTP request to itself, unnecessarily using network resources such as network ports.

⚠️ In environments where multiple Parse Server instances run behind a load balancer and Parse requests within the current Node.js environment should be routed via the load balancer and distributed as HTTP requests among all instances via the serverURL, this should be set to false.


Key for Unity and .Net SDK


Adapter module for email sending


Set to true if a email verification token should be reused in case another token is requested but there is a token that is still valid, i.e. has not expired. This avoids the often observed issue that a user requests multiple emails and does not know which link contains a valid token because each newly generated token would invalidate the previous token.

Default is false.
Requires option verifyUserEmails: true.


Set the validity duration of the email verification token in seconds after which the token expires. The token is used in the link that is set in the email. After the token expires, the link becomes invalid and a new link has to be sent. If the option is not set or set to undefined, then the token never expires.

For example, to expire the token after 2 hours, set a value of 7200 seconds (= 60 seconds * 60 minutes * 2 hours).

Default is undefined.
Requires option verifyUserEmails: true.


Enable (or disable) anonymous users, defaults to true


Enables the default express error handler for all errors


If set to true, a Parse.Object that is in the payload when calling a Cloud Function will be converted to an instance of Parse.Object. If false, the object will not be converted and instead be a plain JavaScript object, which contains the raw data of a Parse.Object but is not an actual instance of Parse.Object. Default is false.

ℹ️ The expected behavior would be that the object is converted to an instance of Parse.Object, so you would normally set this option to true. The default is false because this is a temporary option that has been introduced to avoid a breaking change when fixing a bug where JavaScript objects are not converted to actual instances of Parse.Object.


Key for encrypting your files


Set to true if new users should be created without public read and write access.


Sets whether we should expire the inactive sessions, defaults to true. If false, all new sessions are created with no expiration date.


Whether Parse Server should automatically extend a valid session by the sessionLength


Key for your files


Adapter module for the files sub-system


Options for file uploads


Mount path for the GraphQL endpoint, defaults to /graphql


Full path to your GraphQL custom schema.graphql file


The host to serve ParseServer on, defaults to


Options for request idempotency to deduplicate identical requests that may be caused by network issues. Caution, this is an experimental feature that may not be appropriate for production.


Key for the Javascript SDK


Log as structured JSON objects


parse-server's LiveQuery configuration object


Live query server configuration options (will start the liveQuery server)


Adapter module for the logging sub-system


Sets the level for logs


(Optional) Overrides the log levels used internally by Parse Server to log events.


Folder for the logs (defaults to './logs'); set to null to disable file based logging


(Optional) The maintenance key is used for modifying internal fields of Parse Server.

⚠️ This key is not intended to be used as part of a regular operation of Parse Server. This key is intended to conduct out-of-band changes such as one-time migrations or data correction tasks. Internal fields are not officially documented and may change at any time without publication in release changelogs. We strongly advice not to rely on internal fields as part of your regular operation and to investigate the implications of any planned changes directly in the source code of your current version of Parse Server.


(Optional) Restricts the use of maintenance key permissions to a list of IP addresses.

This option accepts a list of single IP addresses, for example:
['', '']

You can also use CIDR notation to specify an IP address range, for example:

Special cases:
- Setting an empty array [] means that maintenanceKey cannot be used even in Parse Server Cloud Code.
- Setting [''] means disabling the filter and the maintenance key can be used from any IP address.

Defaults to ['', '::1'] which means that only localhost, the server itself, is allowed to use the maintenance key.


Your Parse Master Key


(Optional) Restricts the use of master key permissions to a list of IP addresses.

This option accepts a list of single IP addresses, for example:
['', '']

You can also use CIDR notation to specify an IP address range, for example:

Special cases:
- Setting an empty array [] means that masterKey cannot be used even in Parse Server Cloud Code.
- Setting [''] means disabling the filter and the master key can be used from any IP address.

To connect Parse Dashboard from a different server requires to add the IP address of the server that hosts Parse Dashboard because Parse Dashboard uses the master key.

Defaults to ['', '::1'] which means that only localhost, the server itself, is allowed to use the master key.


Max value for limit option on queries, defaults to unlimited

maxLogFilesNumber | String

Maximum number of logs to keep. If not set, no logs will be removed. This can be a number of files or number of days. If using days, add 'd' as the suffix. (default: null)


Max file size for uploads, defaults to 20mb


middleware for express server, can be string or function


Mounts the GraphQL endpoint


Mount path for the server, defaults to /parse


Mounts the GraphQL Playground - never use this option in production


Sets the number of characters in generated object id's, default 10


The options for pages such as password reset and email verification. Caution, this is an experimental feature that may not be appropriate for production.


The password policy for enforcing password related rules.


Mount path for the GraphQL Playground, defaults to /playground


The port to run the ParseServer, defaults to 1337.


Enable (or disable) the addition of a unique hash to the file names


Set to true to prevent a user from logging in if the email has not yet been verified and email verification is required.

Default is false.
Requires option verifyUserEmails: true.


If set to true it prevents a user from signing up if the email has not yet been verified and email verification is required. In that case the server responds to the sign-up with HTTP status 400 and a Parse Error 205 EMAIL_NOT_FOUND. If set to false the server responds with HTTP status 200, and client SDKs return an unauthenticated Parse User without session token. In that case subsequent requests fail until the user's email address is verified.

Default is false.
Requires option verifyUserEmails: true.


Protected fields that should be treated with extra security when fetching details.


Public URL to your parse server with http:// or https://.


Configuration for push, as stringified JSON. See


Options to limit repeated requests to Parse Server APIs. This can be used to protect sensitive endpoints such as /requestPasswordReset from brute-force attacks or Parse Server as a whole from denial-of-service (DoS) attacks.

ℹ️ Mind the following limitations:
- rate limits applied per IP address; this limits protection against distributed denial-of-service (DDoS) attacks where many requests are coming from various IP addresses
- if multiple Parse Server instances are behind a load balancer or ran in a cluster, each instance will calculate it's own request rates, independent from other instances; this limits the applicability of this feature when using a load balancer and another rate limiting solution that takes requests across all instances into account may be more suitable
- this feature provides basic protection against denial-of-service attacks, but a more sophisticated solution works earlier in the request flow and prevents a malicious requests to even reach a server instance; it's therefore recommended to implement a solution according to architecture and user case.


Read-only key, which has the same capabilities as MasterKey without writes


An array of keys and values that are prohibited in database read and write requests to prevent potential security vulnerabilities. It is possible to specify only a key ({"key":"..."}), only a value ({"value":"..."}) or a key-value pair ({"key":"...","value":"..."}). The specification can use the following types: boolean, numeric or string, where string will be interpreted as a regex notation. Request data is deep-scanned for matching definitions to detect also any nested occurrences. Defaults are patterns that are likely to be used in malicious requests. Setting this option will override the default patterns.


Key for REST calls


When a user changes their password, either through the reset password email or while logged in, all sessions are revoked if this is true. Set to false if you don't want to revoke sessions.


Configuration for push scheduling, defaults to false.


Defined schema


The security options to identify and report weak security settings.


Set to false to prevent sending of verification email. Supports a function with a return value of true or false for conditional email sending.

Default is true.


Callback when server has closed


URL to your parse server with http:// or https://.


Session duration, in seconds, defaults to 1 year


Disables console output


Starts the liveQuery server


The trust proxy settings. It is important to understand the exact setup of the reverse proxy, since this setting will trust values provided in the Parse Server API request. See the express trust proxy settings documentation. Defaults to false.


Personally identifiable information fields in the user table the should be removed for non-authorized users. Deprecated @see protectedFields


Set the logging to verbose


Set to true to require users to verify their email address to complete the sign-up process. Supports a function with a return value of true or false for conditional verification.

Default is false.


Key sent with outgoing webhook calls