# Settings Get setting --------- ```eval_rst .. http:get:: /aalam/base/setting/{provider}/{app}/{key} ``` Fetch an app's setting. With this version, the base applicationhas two settings.1. Timezone with code: 'timezone'2. Date format with code: 'date_format' **Permissions** *Flags* - deny_anon **Outputs** - Queried the setting value successfully. *Status code*: 200 *Content type*: application/json *Content specification* ``` { "value": "Value of the requested setting" } ``` - Setting or App not found. *Status code*: 404 - {key} is not valid for {provider}/{app}. *Status code*: 400 Get settings --------- ```eval_rst .. http:get:: /aalam/base/settings/{provider}/{app} ``` Get all the settings of a user for an app. **Permissions** *Flags* - deny_anon **Outputs** - Fetched the settings successfully. *Status code*: 200 *Content type*: application/json *Content specification* ``` [ { "code": "Settings code", "value": "Value set for this setting. If the user hasn't chosen a value, the default values be set.", "global": "Boolean value - 'true' means this is a global setting.", "property": "Property of this setting as mentioned the settings map of the app." "name": "Name for the setting.", "help": "Hint about the setting." } ] ``` - App not found. *Status code*: 404 Update setting --------- ```eval_rst .. http:post:: /aalam/base/setting/{provider}/{app}/{key} ``` Set a value for an app's setting {key}. For a user/app to modifya global setting, Settings/modify-globals permission is needed. **Permissions** *Flags* - deny_anon **Outputs** - Updated setting successfully. *Status code*: 200 - {key} is not valid or if the input value is wrong. *Status code*: 400 - The user is not a globals manipulator but trying to modify a global setting. *Status code*: 403 **Inputs** - Value should be the proper values for the setting. This will value will be validated the app that owns this setting. *Content type*: application/json *Content specification* ``` { "value": "Value for the setting" } ```