.. _info-override-settings: ================= Override Settings ================= There are cases where we do not want to use some of the Template values in the :term:`Destination app`. In these cases we can override template settings values in |automation|. This is done by including a dictionary under ``override_settings`` key with appropriate values in the |automation| request. List of keys that can be used in ``override_settings``:: events: list[dict[str, any]] partners: list[dict[str, any]] csv_upload_settings: dict[str, any] ios_14: dict[str, any] attribution_settings: dict[str, any] trackers: list[dict[str, any]] callbacks: list[dict[str, any]] sdk_secrets: dict[str, any] external_data_forwarding: list[dict[str, any]] fraud_prevention_settings: dict[str, any] purchase_verification: dict[str, any] .. note:: Key names used in ``override_settings`` are different from previous |automation| version (v1). Callbacks settings ------------------ callbacks: list[dict[str, any]] To override callback settings for example, we need to pass a list of dictionaries which contain the ``id`` of the callback whos value want to override along with the actual new value, for example to override ``Global callback`` we would send following data: .. code-block:: bash override_settings": { "callbacks": [ {"id": "global", "url": "https://test.example.com"} ] } This makes it possible to override several callbacks in one request. Complete request would now look like this: .. code-block:: bash $ curl \ --header "AdjustAuthorization: Token " \ --header "Content-Type: application/json" \ --data '{ "name":"Test App Name", "bundle_id":"test.bundle.app", "store_id":"test.bundle.app", "platform":"android", "override_settings": { "callbacks": [ {"id": "global", "url": "https://test.example.com"} ] } }' \ -X POST https://settings.adjust.com/api/app If we now check what data |automation| has for this app we can see it includes the overridden settings information. This will be used to override template data when migrating settings from :term:`Template app` to the :term:`Destination app`. .. code-block:: bash $ curl \ --header "AdjustAuthorization: Token " \ -L 'https://settings.adjust.com/api/app?store_id=test.bundle.app&platform=android' \ | json_pp { "name" : "Test App Name", "adjust_app_token" : "p77yk727r18g", "platform" : "android", "store_id" : "test.bundle.app", "channel_setup" : { "facebook" : { "app_id" : "123456789" }, "snapchat" : { "app_id" : "test.bundle.app" } }, "additional_info" : { "overrides" : { "callbacks" : [{ "id" : "global", "url" : "https://test.davor.com" }] } } } SDK Secrets Settings -------------------- sdk_secrets: dict[str, any] To override enforcing SDK signatures, we need to pass a dictionary which contains the ``enforce_install_signing`` and the ``true`` or ``false`` bool value. .. code-block:: bash "override_settings": { "sdk_secrets": {"enforce_install_signing": "true"} } The whole request could look something like: .. code-block:: bash $ curl \ --header "AdjustAuthorization: Token " \ --header "Content-Type: application/json" \ --data '{ "name":"Test App Name", "bundle_id":"test.bundle.app", "store_id":"test.bundle.app", "platform":"android", "override_settings": { "sdk_secrets": {"enforce_install_signing": "true"} } }' \ -X POST https://settings.adjust.com/api/app Event settings -------------- events: list[dict[str, any]] Partner Settings ---------------- partners: list[dict[str, any]] CSV Upload Settings ------------------- csv_upload_settings: dict[str, any] iOS Settings ------------ ios_14: dict[str, any] App Attribution Settings ------------------------ attribution_settings: dict[str, any] Trackers Settings ----------------- trackers: list[dict[str, any]] Data Forwarding Settings ------------------------ external_data_forwarding: list[dict[str, any]] Fraud Prevention Settings ------------------------- fraud_prevention_settings: dict[str, any] Purchase Verification Settings ------------------------------ purchase_verification: dict[str, any]