{"id":19362721,"url":"https://github.com/smartdevicelink/rpc_spec","last_synced_at":"2026-03-15T02:03:51.990Z","repository":{"id":28175805,"uuid":"31677223","full_name":"smartdevicelink/rpc_spec","owner":"smartdevicelink","description":"Spec for RPC messages","archived":false,"fork":false,"pushed_at":"2021-10-27T13:41:15.000Z","size":2631,"stargazers_count":14,"open_issues_count":39,"forks_count":31,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-02T15:21:18.814Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smartdevicelink.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-04T20:03:24.000Z","updated_at":"2025-01-17T15:07:09.000Z","dependencies_parsed_at":"2022-07-27T12:32:48.853Z","dependency_job_id":null,"html_url":"https://github.com/smartdevicelink/rpc_spec","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_spec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_spec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_spec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_spec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smartdevicelink","download_url":"https://codeload.github.com/smartdevicelink/rpc_spec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250435270,"owners_count":21430250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T07:30:04.175Z","updated_at":"2026-03-15T02:03:46.938Z","avatar_url":"https://github.com/smartdevicelink.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SmartDeviceLink\n# RPC Spec\n\n###### Version: 8.0.0\n\n## Enumerations\n\n### Result\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`SUCCESS`|The request succeeded|\n|`UNSUPPORTED_REQUEST`|The request is not supported by the headunit|\n|`UNSUPPORTED_RESOURCE`|One or more of the items (phoneme type, button name, image type, etc.) in the request is not supported by the HMI.|\n|`DISALLOWED`|RPC is not authorized in local policy table.|\n|`REJECTED`|The requested command was rejected, e.g. because mobile app is in background and cannot perform any HMI commands. Or an HMI command (e.g. Speak) is rejected because a higher priority HMI command (e.g. Alert) is playing.|\n|`ABORTED`|A command was aborted, for example due to user interaction (e.g. user pressed button). Or an HMI command (e.g. Speak) is aborted because a higher priority HMI command (e.g. Alert) was requested.|\n|`IGNORED`|A command was ignored, because the intended result is already in effect. For example, SetMediaClockTimer was used to pause the media clock although the clock is paused already. NOTE: potentially replaces SUBSCRIBED_ALREADY|\n|`RETRY`|The user interrupted the RPC (e.g. PerformAudioPassThru) and indicated to start over. Note, the app must issue the new RPC.|\n|`IN_USE`|The data may not be changed, because it is currently in use. For example when trying to delete a command set that is currently involved in an interaction.|\n|`VEHICLE_DATA_NOT_AVAILABLE`|The requested vehicle data is not available on this vehicle or is not published.|\n|`TIMED_OUT`|Overlay reached the maximum timeout and closed.|\n|`INVALID_DATA`|The data sent is invalid. For example: Invalid Json syntax Parameters out of bounds (number or enum range) Mandatory parameters not provided Parameter provided with wrong type Invalid characters Empty string|\n|`CHAR_LIMIT_EXCEEDED`||\n|`INVALID_ID`|One of the provided IDs is not valid. For example This applies to CorrelationID, SubscriptionID, CommandID, MenuID, etc.|\n|`DUPLICATE_NAME`|There was a conflict with an registered name (application or menu item) or vr command|\n|`APPLICATION_NOT_REGISTERED`|An command can not be executed because no application has been registered with RegisterApplication.|\n|`WRONG_LANGUAGE`|The requested language is currently not supported. Might be because of a mismatch of the currently active language on the headunit and the requested language|\n|`OUT_OF_MEMORY`|The system could not process the request because the necessary memory couldn't be allocated|\n|`TOO_MANY_PENDING_REQUESTS`|There are too many requests pending (means, that the response has not been delivered, yet).There may be a maximum of 1000 pending requests at a time.|\n|`TOO_MANY_APPLICATIONS`|There are already too many registered applications|\n|`APPLICATION_REGISTERED_ALREADY`|RegisterApplication has been called again, after a RegisterApplication was successful before.|\n|`WARNINGS`|The RPC (e.g. SubscribeVehicleData) executed successfully but one or more items have a warning or failure.|\n|`GENERIC_ERROR`|Provided data is valid but something went wrong in the lower layers.|\n|`USER_DISALLOWED`|RPC is included in a functional group explicitly blocked by the user.|\n|`TRUNCATED_DATA`|The RPC (e.g. ReadDID) executed successfully but the data exceeded the platform maximum threshold and thus, only part of the data is available.|\n|`UNSUPPORTED_VERSION`|Sync doesn't support the protocol that is requested by the mobile application|\n|`VEHICLE_DATA_NOT_ALLOWED`|The user has turned off access to vehicle data, and it is globally unavailable to mobile applications.|\n|`FILE_NOT_FOUND`|A specified file could not be found on the headunit.|\n|`CANCEL_ROUTE`|User selected to Cancel Route.|\n|`SAVED`|The RPC (e.g. Slider) executed successfully and the user elected to save the current position / value.|\n|`INVALID_CERT`|The certificate provided during authentication is invalid.|\n|`EXPIRED_CERT`|The certificate provided during authentication is expired.|\n|`RESUME_FAILED`|The provided hash ID does not match the hash of the current set of registered data or the core could not resume the previous data.|\n|`DATA_NOT_AVAILABLE`|The requested information is currently not available. This is different than UNSUPPORTED_RESOURCE because it implies the data is at some point available.|\n|`READ_ONLY`|The value being set is read only|\n|`CORRUPTED_DATA`|The data sent failed to pass CRC check in receiver end|\n|`ENCRYPTION_NEEDED`|SDL receives an un-encrypted RPC request that needs protection.|\n\n\n### ButtonPressMode\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`LONG`|A button was released, after it was pressed for a long time Actual timing is defined by the headunit and may vary|\n|`SHORT`|A button was released, after it was pressed for a short time Actual timing is defined by the headunit and may vary|\n\n\n### ButtonEventMode\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`BUTTONUP`|A button has been released up|\n|`BUTTONDOWN`|A button has been pressed down|\n\n\n### Language\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`EN-US`|English - US|\n|`ES-MX`|Spanish - Mexico|\n|`FR-CA`|French - Canada|\n|`DE-DE`|German - Germany|\n|`ES-ES`|Spanish - Spain|\n|`EN-GB`|English - GB|\n|`RU-RU`|Russian - Russia|\n|`TR-TR`|Turkish - Turkey|\n|`PL-PL`|Polish - Poland|\n|`FR-FR`|French - France|\n|`IT-IT`|Italian - Italy|\n|`SV-SE`|Swedish - Sweden|\n|`PT-PT`|Portuguese - Portugal|\n|`NL-NL`|Dutch (Standard) - Netherlands|\n|`EN-AU`|English - Australia|\n|`ZH-CN`|Mandarin - China|\n|`ZH-TW`|Mandarin - Taiwan|\n|`JA-JP`|Japanese - Japan|\n|`AR-SA`|Arabic - Saudi Arabia|\n|`KO-KR`|Korean - South Korea|\n|`PT-BR`|Portuguese - Brazil|\n|`CS-CZ`|Czech - Czech Republic|\n|`DA-DK`|Danish - Denmark|\n|`NO-NO`|Norwegian - Norway|\n|`NL-BE`|Dutch (Flemish) - Belgium|\n|`EL-GR`|Greek - Greece|\n|`HU-HU`|Hungarian - Hungary|\n|`FI-FI`|Finnish - Finland|\n|`SK-SK`|Slovak - Slovakia|\n|`EN-IN`|English - India|\n|`TH-TH`|Thai - Thailand|\n|`EN-SA`|English - Middle East|\n|`HE-IL`|Hebrew - Israel|\n|`RO-RO`|Romanian - Romania|\n|`UK-UA`|Ukrainian - Ukraine|\n|`ID-ID`|Indonesian - Indonesia|\n|`VI-VN`|Vietnamese - Vietnam|\n|`MS-MY`|Malay - Malaysia|\n|`HI-IN`|Hindi - India|\n\n\n### UpdateMode\nDescribes how the media clock timer should behave on the platform\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`COUNTUP`|Starts the media clock timer counting upwards, as in time elapsed.|\n|`COUNTDOWN`|Starts the media clock timer counting downwards, as in time remaining.|\n|`PAUSE`|Pauses the media clock timer|\n|`RESUME`|Resume the media clock timer|\n|`CLEAR`|Clears the media clock timer (previously done through Show-\u003emediaClock)|\n\n\n### TimerMode\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`UP`|Causes the media clock timer to update from 0:00 to a specified time|\n|`DOWN`|Causes the media clock timer to update from a specified time to 0:00|\n|`NONE`|Indicates to not use the media clock timer|\n\n\n### InteractionMode\nFor application-requested interactions, this mode indicates the method in which the user is notified and uses the interaction.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MANUAL_ONLY`|This mode causes the interaction to only occur on the display, meaning the choices are provided only via the display. No Voice Interaction.|\n|`VR_ONLY`|This mode causes the interaction to only occur using the headunits VR system. Selections are made by saying the command.|\n|`BOTH`|This mode causes both a VR and display selection option for an interaction. The user will first be asked via Voice Interaction (if available). If this is unsuccessful, the system will switch to manual input.|\n\n\n### LayoutMode\nFor touchscreen interactions, the mode of how the choices are presented.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`ICON_ONLY`|This mode causes the interaction to display the previous set of choices as icons.|\n|`ICON_WITH_SEARCH`|This mode causes the interaction to display the previous set of choices as icons along with a search field in the HMI.|\n|`LIST_ONLY`|This mode causes the interaction to display the previous set of choices as a list.|\n|`LIST_WITH_SEARCH`|This mode causes the interaction to display the previous set of choices as a list along with a search field in the HMI.|\n|`KEYBOARD`|This mode causes the interaction to immediately display a keyboard entry through the HMI.|\n\n\n### WindowType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MAIN`|This window type describes the main window on a display.|\n|`WIDGET`|A widget is a small window that the app can create to provide information and soft buttons for quick app control.|\n\n\n### PredefinedWindows\nSpecifies IDs for windows which are predefined and pre-created. The mobile libraries and SDL Core use the integer value when referencing these elements.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`DEFAULT_WINDOW`|The default window is a main window pre-created on behalf of the app.|\n|`PRIMARY_WIDGET`|The primary widget of the app.|\n\n\n### HMILevel\nEnumeration that describes current levels of HMI.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`FULL`||\n|`LIMITED`||\n|`BACKGROUND`||\n|`NONE`||\n\n\n### AudioStreamingState\nEnumeration that describes possible states of audio streaming.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`AUDIBLE`||\n|`ATTENUATED`||\n|`NOT_AUDIBLE`||\n\n\n### SystemAction\nEnumeration that describes system actions that can be triggered.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`DEFAULT_ACTION`|Default action occurs. Standard behavior (e.g. SoftButton clears overlay).|\n|`STEAL_FOCUS`|App is brought into HMI_FULL.|\n|`KEEP_CONTEXT`|Current system context is maintained. An overlay is persisted even though a SoftButton has been pressed and the notification sent.|\n\n\n### SystemContext\nEnumeration that describes possible contexts an app's HMI might be in. Communicated to whichever app is in HMI FULL, except Alert.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MAIN`|The app's persistent display (whether media/non-media/navigation) is fully visible onscreen.|\n|`VRSESSION`|The system is currently in a VR session (with whatever dedicated VR screen being overlaid onscreen).|\n|`MENU`|The system is currently displaying an in-App menu onscreen.|\n|`HMI_OBSCURED`|The app's display HMI is currently being obscured by either a system or other app's overlay.|\n|`ALERT`|Broadcast only to whichever app has an alert currently being displayed.|\n\n\n### VideoStreamingState\nEnumeration that describes possible states of video streaming.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`STREAMABLE`||\n|`NOT_STREAMABLE`||\n\n\n### SoftButtonType\nContains information about the SoftButton capabilities.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`TEXT`||\n|`IMAGE`||\n|`BOTH`||\n\n\n### AppInterfaceUnregisteredReason\nError code, which comes from the module side.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`IGNITION_OFF`||\n|`BLUETOOTH_OFF`||\n|`USB_DISCONNECTED`||\n|`REQUEST_WHILE_IN_NONE_HMI_LEVEL`||\n|`TOO_MANY_REQUESTS`||\n|`DRIVER_DISTRACTION_VIOLATION`||\n|`LANGUAGE_CHANGE`||\n|`MASTER_RESET`||\n|`FACTORY_DEFAULTS`||\n|`APP_UNAUTHORIZED`||\n|`PROTOCOL_VIOLATION`||\n|`UNSUPPORTED_HMI_RESOURCE`||\n|`RESOURCE_CONSTRAINT`|By sending this value, SDL unregisters the application to allow the HMI to close the application.|\n\n\n### TriggerSource\nIndicates the source from where the command was triggered.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MENU`||\n|`VR`||\n|`KEYBOARD`||\n\n\n### HmiZoneCapabilities\nContains information about the HMI zone capabilities. For future use.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`FRONT`||\n|`BACK`||\n\n\n### SpeechCapabilities\nContains information about the TTS capabilities.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`TEXT`||\n|`SAPI_PHONEMES`||\n|`LHPLUS_PHONEMES`||\n|`PRE_RECORDED`||\n|`SILENCE`||\n|`FILE`||\n\n\n### VrCapabilities\nContains information about the VR capabilities.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`TEXT`||\n\n\n### PrerecordedSpeech\nContains a list of prerecorded speech items present on the platform.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`HELP_JINGLE`||\n|`INITIAL_JINGLE`||\n|`LISTEN_JINGLE`||\n|`POSITIVE_JINGLE`||\n|`NEGATIVE_JINGLE`||\n\n\n### SamplingRate\nDescribes different sampling options for PerformAudioPassThru.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`8KHZ`|Sampling rate of 8000 Hz.|\n|`16KHZ`|Sampling rate of 16000 Hz.|\n|`22KHZ`|Sampling rate of 22050 Hz.|\n|`44KHZ`|Sampling rate of 44100 Hz.|\n\n\n### BitsPerSample\nDescribes different quality options for PerformAudioPassThru.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`8_BIT`|Audio sample is 8 bits wide, unsigned.|\n|`16_BIT`|Audio sample is 16 bits wide, signed, and in little endian.|\n\n\n### AudioType\nDescribes different audio type options for PerformAudioPassThru.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`PCM`|Linear PCM.|\n\n\n### VehicleDataType\nDefines the data types that can be published and subscribed to.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`VEHICLEDATA_GPS`|Notifies GPSData may be subscribed|\n|`VEHICLEDATA_SPEED`||\n|`VEHICLEDATA_RPM`||\n|`VEHICLEDATA_FUELLEVEL`||\n|`VEHICLEDATA_FUELLEVEL_STATE`||\n|`VEHICLEDATA_FUELCONSUMPTION`||\n|`VEHICLEDATA_CLIMATEDATA`||\n|`VEHICLEDATA_EXTERNTEMP`||\n|`VEHICLEDATA_VIN`||\n|`VEHICLEDATA_GEARSTATUS`||\n|`VEHICLEDATA_PRNDL`||\n|`VEHICLEDATA_TIREPRESSURE`||\n|`VEHICLEDATA_ODOMETER`||\n|`VEHICLEDATA_BELTSTATUS`||\n|`VEHICLEDATA_BODYINFO`||\n|`VEHICLEDATA_DEVICESTATUS`||\n|`VEHICLEDATA_ECALLINFO`||\n|`VEHICLEDATA_AIRBAGSTATUS`||\n|`VEHICLEDATA_EMERGENCYEVENT`||\n|`VEHICLEDATA_CLUSTERMODESTATUS`||\n|`VEHICLEDATA_MYKEY`||\n|`VEHICLEDATA_BRAKING`||\n|`VEHICLEDATA_WIPERSTATUS`||\n|`VEHICLEDATA_HEADLAMPSTATUS`||\n|`VEHICLEDATA_BATTVOLTAGE`||\n|`VEHICLEDATA_ENGINETORQUE`||\n|`VEHICLEDATA_ACCPEDAL`||\n|`VEHICLEDATA_STEERINGWHEEL`||\n|`VEHICLEDATA_TURNSIGNAL`||\n|`VEHICLEDATA_FUELRANGE`||\n|`VEHICLEDATA_ENGINEOILLIFE`||\n|`VEHICLEDATA_ELECTRONICPARKBRAKESTATUS`||\n|`VEHICLEDATA_CLOUDAPPVEHICLEID`||\n|`VEHICLEDATA_OEM_CUSTOM_DATA`||\n|`VEHICLEDATA_STABILITYCONTROLSSTATUS`||\n|`VEHICLEDATA_WINDOWSTATUS`||\n|`VEHICLEDATA_HANDSOFFSTEERING`||\n|`VEHICLEDATA_SEATOCCUPANCY`||\n\n\n### HybridAppPreference\nEnumeration for the user's preference of which app type to use when both are available\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MOBILE`||\n|`CLOUD`||\n|`BOTH`||\n\n\n### AppCapabilityType\nEnumerations of all available app capability types\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`VIDEO_STREAMING`||\n\n\n### CapacityUnit\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`LITERS`||\n|`KILOWATTHOURS`||\n|`KILOGRAMS`||\n\n\n### ButtonName\nDefines the hard (physical) and soft (touchscreen) buttons available from the module\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`OK`||\n|`PLAY_PAUSE`|The button name for the physical Play/Pause toggle that can be used by media apps.|\n|`SEEKLEFT`||\n|`SEEKRIGHT`||\n|`TUNEUP`||\n|`TUNEDOWN`||\n|`PRESET_0`||\n|`PRESET_1`||\n|`PRESET_2`||\n|`PRESET_3`||\n|`PRESET_4`||\n|`PRESET_5`||\n|`PRESET_6`||\n|`PRESET_7`||\n|`PRESET_8`||\n|`PRESET_9`||\n|`CUSTOM_BUTTON`||\n|`SEARCH`||\n|`AC_MAX`|Tied to CLIMATE RC modules.|\n|`AC`|Tied to CLIMATE RC modules.|\n|`RECIRCULATE`|Tied to CLIMATE RC modules.|\n|`FAN_UP`|Tied to CLIMATE RC modules.|\n|`FAN_DOWN`|Tied to CLIMATE RC modules.|\n|`TEMP_UP`|Tied to CLIMATE RC modules.|\n|`TEMP_DOWN`|Tied to CLIMATE RC modules.|\n|`DEFROST_MAX`|Tied to CLIMATE RC modules.|\n|`DEFROST`|Tied to CLIMATE RC modules.|\n|`DEFROST_REAR`|Tied to CLIMATE RC modules.|\n|`UPPER_VENT`|Tied to CLIMATE RC modules.|\n|`LOWER_VENT`|Tied to CLIMATE RC modules.|\n|`VOLUME_UP`|Tied to RADIO RC modules.|\n|`VOLUME_DOWN`|Tied to RADIO RC modules.|\n|`EJECT`|Tied to RADIO RC modules.|\n|`SOURCE`|Tied to RADIO RC modules.|\n|`SHUFFLE`|Tied to RADIO RC modules.|\n|`REPEAT`|Tied to RADIO RC modules.|\n|`NAV_CENTER_LOCATION`||\n|`NAV_ZOOM_IN`||\n|`NAV_ZOOM_OUT`||\n|`NAV_PAN_UP`||\n|`NAV_PAN_UP_RIGHT`||\n|`NAV_PAN_RIGHT`||\n|`NAV_PAN_DOWN_RIGHT`||\n|`NAV_PAN_DOWN`||\n|`NAV_PAN_DOWN_LEFT`||\n|`NAV_PAN_LEFT`||\n|`NAV_PAN_UP_LEFT`||\n|`NAV_TILT_TOGGLE`|If supported, this toggles between a top-down view and an angled/3D view. If your app supports different, but substantially similar options, then you may implement those. If you don't implement these or similar options, do not subscribe to this button.|\n|`NAV_ROTATE_CLOCKWISE`||\n|`NAV_ROTATE_COUNTERCLOCKWISE`||\n|`NAV_HEADING_TOGGLE`|If supported, this toggles between locking the orientation to north or to the vehicle's heading. If your app supports different, but substantially similar options, then you may implement those. If you don't implement these or similar options, do not subscribe to this button.|\n\n\n### MediaClockFormat\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`CLOCK1`|minutesFieldWidth = 2;minutesFieldMax = 19;secondsFieldWidth = 2;secondsFieldMax = 99;maxHours = 19;maxMinutes = 59;maxSeconds = 59; used for Type II and CID headunits|\n|`CLOCK2`|minutesFieldWidth = 3;minutesFieldMax = 199;secondsFieldWidth = 2;secondsFieldMax = 99;maxHours = 59;maxMinutes = 59;maxSeconds = 59; used for Type V headunit|\n|`CLOCK3`|minutesFieldWidth = 2;minutesFieldMax = 59;secondsFieldWidth = 2;secondsFieldMax = 59;maxHours = 9;maxMinutes = 59;maxSeconds = 59; used for GEN1.1 MFD3/4/5 headunits|\n|`CLOCKTEXT1`|5 characters possible Format: 1|sp c :|sp c c 1|sp : digit \"1\" or space c : character out of following character set: sp|0-9|[letters, see TypeII column in XLS. See [@TODO: create file ref]] :|sp : colon or space used for Type II headunit|\n|`CLOCKTEXT2`|5 chars possible Format: 1|sp c :|sp c c 1|sp : digit \"1\" or space c : character out of following character set: sp|0-9|[letters, see CID column in XLS. See [@TODO: create file ref]] :|sp : colon or space used for CID headunit NOTE: difference between CLOCKTEXT1 and CLOCKTEXT2 is the supported character set|\n|`CLOCKTEXT3`|6 chars possible Format: 1|sp c c :|sp c c 1|sp : digit \"1\" or space c : character out of following character set: sp|0-9|[letters, see Type 5 column in XLS]. See [@TODO: create file ref] :|sp : colon or space used for Type V headunit|\n|`CLOCKTEXT4`|6 chars possible Format: c :|sp c c : c c :|sp : colon or space c : character out of following character set: sp|0-9|[letters]. used for GEN1.1 MFD3/4/5 headunits|\n\n\n### DisplayType\n###### Deprecated since: 5.0.0\n\nSee DAES for further infos regarding the displays\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`CID`||\n|`TYPE2`||\n|`TYPE5`||\n|`NGN`||\n|`GEN2_8_DMA`||\n|`GEN2_6_DMA`||\n|`MFD3`||\n|`MFD4`||\n|`MFD5`||\n|`GEN3_8-INCH`||\n|`SDL_GENERIC`||\n\n\n### TextFieldName\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`mainField1`|The first line of first set of main fields of the persistent display; applies to \"Show\"|\n|`mainField2`|The second line of first set of main fields of the persistent display; applies to \"Show\"|\n|`mainField3`|The first line of second set of main fields of persistent display; applies to \"Show\"|\n|`mainField4`|The second line of second set of main fields of the persistent display; applies to \"Show\"|\n|`statusBar`|The status bar on NGN; applies to \"Show\"|\n|`mediaClock`|Text value for MediaClock field; applies to \"Show\"|\n|`mediaTrack`|The track field of NGN and GEN1.1 MFD displays. This field is only available for media applications; applies to \"Show\"|\n|`templateTitle`|The title of the new template that will be displayed; applies to \"Show\"|\n|`alertText1`|The first line of the alert text field; applies to \"Alert\"|\n|`alertText2`|The second line of the alert text field; applies to \"Alert\"|\n|`alertText3`|The third line of the alert text field; applies to \"Alert\"|\n|`scrollableMessageBody`|Long form body of text that can include newlines and tabs; applies to \"ScrollableMessage\"|\n|`initialInteractionText`|First line suggestion for a user response (in the case of VR enabled interaction)|\n|`navigationText1`|First line of navigation text|\n|`navigationText2`|Second line of navigation text|\n|`ETA`|Estimated Time of Arrival time for navigation|\n|`totalDistance`|Total distance to destination for navigation|\n|`audioPassThruDisplayText1`|First line of text for audio pass thru|\n|`audioPassThruDisplayText2`|Second line of text for audio pass thru|\n|`sliderHeader`|Header text for slider|\n|`sliderFooter`|Footer text for slider|\n|`menuName`|Primary text for Choice|\n|`secondaryText`|Secondary text for Choice|\n|`tertiaryText`|Tertiary text for Choice|\n|`menuTitle`|Optional text to label an app menu button (for certain touchscreen platforms).|\n|`locationName`|Optional name / title of intended location for SendLocation.|\n|`locationDescription`|Optional description of intended location / establishment (if applicable) for SendLocation.|\n|`addressLines`|Optional location address (if applicable) for SendLocation.|\n|`phoneNumber`|Optional phone number of intended location / establishment (if applicable) for SendLocation.|\n|`timeToDestination`|Optional time to destination field for ShowConstantTBT|\n|`turnText`|Turn text for turnList parameter of UpdateTurnList|\n|`subtleAlertText1`|The first line of the subtle alert text field; applies to `SubtleAlert` `alertText1`|\n|`subtleAlertText2`|The second line of the subtle alert text field; applies to `SubtleAlert` `alertText2`|\n|`subtleAlertSoftButtonText`|A text field in the soft button of a subtle alert; applies to `SubtleAlert` `softButtons`|\n|`menuCommandSecondaryText`|Secondary text for AddCommand|\n|`menuCommandTertiaryText`|Tertiary text for AddCommand|\n|`menuSubMenuSecondaryText`|Secondary text for AddSubMenu|\n|`menuSubMenuTertiaryText`|Tertiary text for AddSubMenu|\n\n\n### ImageFieldName\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`softButtonImage`|The image field for SoftButton|\n|`choiceImage`|The first image field for Choice|\n|`choiceSecondaryImage`|The secondary image field for Choice|\n|`vrHelpItem`|The image field for vrHelpItem|\n|`turnIcon`|The image field for Turn|\n|`menuIcon`|The image field for the menu icon in SetGlobalProperties|\n|`cmdIcon`|The image field for AddCommand|\n|`appIcon`|The image field for the app icon (set by setAppIcon)|\n|`graphic`|The primary image field for Show|\n|`secondaryGraphic`|The secondary image field for Show|\n|`showConstantTBTIcon`|The primary image field for ShowConstantTBT|\n|`showConstantTBTNextTurnIcon`|The secondary image field for ShowConstantTBT|\n|`locationImage`|The optional image of a destination / location|\n|`alertIcon`|The image field for Alert|\n|`subMenuIcon`|The image field for AddSubMenu.menuIcon|\n|`subtleAlertIcon`|The image of the subtle alert; applies to `SubtleAlert` `alertIcon`|\n|`menuCommandSecondaryImage`|The secondary image field for AddCommand|\n|`menuSubMenuSecondaryImage`|The secondary image field for AddSubMenu|\n\n\n### CharacterSet\nThe list of potential character sets\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`TYPE2SET`||\n|`TYPE5SET`||\n|`CID1SET`||\n|`CID2SET`||\n|`ASCII`|ASCII as defined in https://en.wikipedia.org/wiki/ASCII as defined in codes 0-127. Non-printable characters such as tabs and back spaces are ignored.|\n|`ISO_8859_1`|Latin-1, as defined in https://en.wikipedia.org/wiki/ISO/IEC_8859-1|\n|`UTF_8`|The UTF-8 character set that uses variable bytes per code point. See https://en.wikipedia.org/wiki/UTF-8 for more details. This is the preferred character set.|\n\n\n### TextAlignment\nThe list of possible alignments, left, right, or centered\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`LEFT_ALIGNED`||\n|`RIGHT_ALIGNED`||\n|`CENTERED`||\n\n\n### TBTState\nEnumeration that describes possible states of turn-by-turn client or SmartDeviceLink app.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`ROUTE_UPDATE_REQUEST`||\n|`ROUTE_ACCEPTED`||\n|`ROUTE_REFUSED`||\n|`ROUTE_CANCELLED`||\n|`ETA_REQUEST`||\n|`NEXT_TURN_REQUEST`||\n|`ROUTE_STATUS_REQUEST`||\n|`ROUTE_SUMMARY_REQUEST`||\n|`TRIP_STATUS_REQUEST`||\n|`ROUTE_UPDATE_REQUEST_TIMEOUT`||\n\n\n### DriverDistractionState\nEnumeration that describes possible states of driver distraction.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`DD_ON`||\n|`DD_OFF`||\n\n\n### ImageType\nContains information about the type of image.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`STATIC`||\n|`DYNAMIC`||\n\n\n### DeliveryMode\nThe mode in which the SendLocation request is sent\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`PROMPT`||\n|`DESTINATION`||\n|`QUEUE`||\n\n\n### VideoStreamingProtocol\nEnum for each type of video streaming protocol type.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`RAW`|Raw stream bytes that contains no timestamp data and is the lowest supported video streaming|\n|`RTP`|RTP facilitates the transfer of real-time data. Information provided by this protocol include timestamps (for synchronization), sequence numbers (for packet loss and reordering detection) and the payload format which indicates the encoded format of the data.|\n|`RTSP`|The transmission of streaming data itself is not a task of RTSP. Most RTSP servers use the Real-time Transport Protocol (RTP) in conjunction with Real-time Control Protocol (RTCP) for media stream delivery. However, some vendors implement proprietary transport protocols.|\n|`RTMP`|Real-Time Messaging Protocol (RTMP) was initially a proprietary protocol developed by Macromedia for streaming audio, video and data over the Internet, between a Flash player and a server. Macromedia is now owned by Adobe, which has released an incomplete version of the specification of the protocol for public use.|\n|`WEBM`|The WebM container is based on a profile of Matroska. WebM initially supported VP8 video and Vorbis audio streams. In 2013 it was updated to accommodate VP9 video and Opus audio.|\n\n\n### VideoStreamingCodec\nEnum for each type of video streaming codec.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`H264`|A block-oriented motion-compensation-based video compression standard. As of 2014 it is one of the most commonly used formats for the recording, compression, and distribution of video content.|\n|`H265`|High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a video compression standard, one of several potential successors to the widely used AVC (H.264 or MPEG-4 Part 10). In comparison to AVC, HEVC offers about double the data compression ratio at the same level of video quality, or substantially improved video quality at the same bit rate. It supports resolutions up to 8192x4320, including 8K UHD.|\n|`Theora`|Theora is derived from the formerly proprietary VP3 codec, released into the public domain by On2 Technologies. It is broadly comparable in design and bitrate efficiency to MPEG-4 Part 2, early versions of Windows Media Video, and RealVideo while lacking some of the features present in some of these other codecs. It is comparable in open standards philosophy to the BBC's Dirac codec.|\n|`VP8`|VP8 can be multiplexed into the Matroska-based container format WebM along with Vorbis and Opus audio. The image format WebP is based on VP8's intra-frame coding. VP8's direct successor, VP9, and the emerging royalty-free internet video format AV1 from the Alliance for Open Media (AOMedia) are based on VP8.|\n|`VP9`|Similar to VP8, but VP9 is customized for video resolutions beyond high-definition video (UHD) and also enables lossless compression.|\n\n\n### AudioStreamingIndicator\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`PLAY_PAUSE`|Default playback indicator. By default the playback indicator should be PLAY_PAUSE when: - the media app is newly registered on the head unit (after RegisterAppInterface) - the media app was closed by the user (App enters HMI_NONE) - the app sends SetMediaClockTimer with audioStreamingIndicator not set to any value|\n|`PLAY`|Indicates that a button press of the Play/Pause button starts the audio playback.|\n|`PAUSE`|Indicates that a button press of the Play/Pause button pauses the current audio playback.|\n|`STOP`|Indicates that a button press of the Play/Pause button stops the current audio playback.|\n\n\n### GlobalProperty\nThe different global properties.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`USER_LOCATION`|Location of the user's seat of setGlobalProperties|\n|`HELPPROMPT`|The property helpPrompt of setGlobalProperties|\n|`TIMEOUTPROMPT`|The property timeoutPrompt of setGlobalProperties|\n|`VRHELPTITLE`|The property vrHelpTitle of setGlobalProperties|\n|`VRHELPITEMS`|The property array of vrHelp of setGlobalProperties|\n|`MENUNAME`|The property in-app menu name of setGlobalProperties|\n|`MENUICON`|The property in-app menu icon of setGlobalProperties|\n|`KEYBOARDPROPERTIES`|The on-screen keyboard configuration of setGlobalProperties|\n\n\n### CompassDirection\nThe list of potential compass directions\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NORTH`||\n|`NORTHWEST`||\n|`WEST`||\n|`SOUTHWEST`||\n|`SOUTH`||\n|`SOUTHEAST`||\n|`EAST`||\n|`NORTHEAST`||\n\n\n### Dimension\nThe supported dimensions of the GPS\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NO_FIX`|No GPS at all|\n|`2D`|Longitude and latitude|\n|`3D`|Longitude and latitude and altitude|\n\n\n### PRNDL\nThe selected gear.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`PARK`|Parking|\n|`REVERSE`|Reverse gear|\n|`NEUTRAL`|No gear|\n|`DRIVE`|Regular Drive mode|\n|`SPORT`|Drive Sport mode|\n|`LOWGEAR`|1st gear hold|\n|`FIRST`||\n|`SECOND`||\n|`THIRD`||\n|`FOURTH`||\n|`FIFTH`||\n|`SIXTH`||\n|`SEVENTH`||\n|`EIGHTH`||\n|`NINTH`||\n|`TENTH`||\n|`UNKNOWN`||\n|`FAULT`||\n\n\n### TransmissionType\nType of transmission used in the vehicle.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MANUAL`|Manual transmission.|\n|`AUTOMATIC`|Automatic transmission.|\n|`SEMI_AUTOMATIC`|Semi automatic transmission.|\n|`DUAL_CLUTCH`|Dual clutch transmission.|\n|`CONTINUOUSLY_VARIABLE`|Continuously variable transmission(CVT).|\n|`INFINITELY_VARIABLE`|Infinitely variable transmission.|\n|`ELECTRIC_VARIABLE`|Electric variable transmission.|\n|`DIRECT_DRIVE`|Direct drive between engine and wheels.|\n\n\n### ComponentVolumeStatus\nThe volume status of a vehicle component.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`UNKNOWN`||\n|`NORMAL`||\n|`LOW`||\n|`FAULT`||\n|`ALERT`||\n|`NOT_SUPPORTED`||\n\n\n### TPMS\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`UNKNOWN`|If set the status of the tire is not known.|\n|`SYSTEM_FAULT`|TPMS does not function.|\n|`SENSOR_FAULT`|The sensor of the tire does not function.|\n|`LOW`|TPMS is reporting a low tire pressure for the tire.|\n|`SYSTEM_ACTIVE`|TPMS is active and the tire pressure is monitored.|\n|`TRAIN`|TPMS is reporting that the tire must be trained.|\n|`TRAINING_COMPLETE`|TPMS reports the training for the tire is completed.|\n|`NOT_TRAINED`|TPMS reports the tire is not trained.|\n\n\n### FuelType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`GASOLINE`||\n|`DIESEL`||\n|`CNG`|For vehicles using compressed natural gas.|\n|`LPG`|For vehicles using liquefied petroleum gas.|\n|`HYDROGEN`|For FCEV (fuel cell electric vehicle).|\n|`BATTERY`|For BEV (Battery Electric Vehicle), PHEV (Plug-in Hybrid Electric Vehicle), solar vehicles and other vehicles which run on a battery.|\n\n\n### ElectronicParkBrakeStatus\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`CLOSED`|Park brake actuators have been fully applied.|\n|`TRANSITION`|Park brake actuators are transitioning to either Apply/Closed or Release/Open state.|\n|`OPEN`|Park brake actuators are released.|\n|`DRIVE_ACTIVE`|When driver pulls the Electronic Park Brake switch while driving \"at speed\".|\n|`FAULT`|When system has a fault or is under maintenance.|\n\n\n### WarningLightStatus\nReflects the status of a cluster instrument warning light.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`OFF`||\n|`ON`||\n|`FLASH`||\n|`NOT_USED`||\n\n\n### VehicleDataNotificationStatus\nReflects the status of a vehicle data notification.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NOT_SUPPORTED`||\n|`NORMAL`||\n|`ACTIVE`||\n|`NOT_USED`||\n\n\n### IgnitionStableStatus\nReflects the ignition switch stability.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`IGNITION_SWITCH_NOT_STABLE`||\n|`IGNITION_SWITCH_STABLE`||\n|`MISSING_FROM_TRANSMITTER`||\n\n\n### IgnitionStatus\nReflects the status of ignition.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`UNKNOWN`||\n|`OFF`||\n|`ACCESSORY`||\n|`RUN`||\n|`START`||\n|`INVALID`||\n\n\n### VehicleDataEventStatus\nReflects the status of a vehicle data event; e.g. a seat belt event status.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NO_EVENT`||\n|`NO`||\n|`YES`||\n|`NOT_SUPPORTED`||\n|`FAULT`||\n\n\n### DeviceLevelStatus\nReflects the reported battery status of the connected device, if reported.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`ZERO_LEVEL_BARS`||\n|`ONE_LEVEL_BARS`||\n|`TWO_LEVEL_BARS`||\n|`THREE_LEVEL_BARS`||\n|`FOUR_LEVEL_BARS`||\n|`NOT_PROVIDED`||\n\n\n### PrimaryAudioSource\nReflects the current primary audio source (if selected).\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NO_SOURCE_SELECTED`||\n|`CD`||\n|`USB`||\n|`USB2`||\n|`BLUETOOTH_STEREO_BTST`||\n|`LINE_IN`||\n|`IPOD`||\n|`MOBILE_APP`||\n|`AM`||\n|`FM`||\n|`XM`||\n|`DAB`||\n\n\n### WiperStatus\nReflects the status of the wipers.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`OFF`||\n|`AUTO_OFF`||\n|`OFF_MOVING`||\n|`MAN_INT_OFF`||\n|`MAN_INT_ON`||\n|`MAN_LOW`||\n|`MAN_HIGH`||\n|`MAN_FLICK`||\n|`WASH`||\n|`AUTO_LOW`||\n|`AUTO_HIGH`||\n|`COURTESYWIPE`||\n|`AUTO_ADJUST`||\n|`STALLED`||\n|`NO_DATA_EXISTS`||\n\n\n### VehicleDataStatus\nReflects the status of a binary vehicle data item.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NO_DATA_EXISTS`||\n|`OFF`||\n|`ON`||\n\n\n### MaintenanceModeStatus\nReflects the status of a vehicle maintenance mode.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NORMAL`||\n|`NEAR`||\n|`ACTIVE`||\n|`FEATURE_NOT_PRESENT`||\n\n\n### VehicleDataActiveStatus\nReflects the status of given vehicle component.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`INACTIVE_NOT_CONFIRMED`||\n|`INACTIVE_CONFIRMED`||\n|`ACTIVE_NOT_CONFIRMED`||\n|`ACTIVE_CONFIRMED`||\n|`FAULT`||\n\n\n### AmbientLightStatus\nReflects the status of the ambient light sensor.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NIGHT`||\n|`TWILIGHT_1`||\n|`TWILIGHT_2`||\n|`TWILIGHT_3`||\n|`TWILIGHT_4`||\n|`DAY`||\n|`UNKNOWN`||\n|`INVALID`||\n\n\n### ModuleType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`CLIMATE`||\n|`RADIO`||\n|`SEAT`||\n|`AUDIO`||\n|`LIGHT`||\n|`HMI_SETTINGS`||\n\n\n### DefrostZone\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`FRONT`||\n|`REAR`||\n|`ALL`||\n|`NONE`||\n\n\n### VentilationMode\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`UPPER`||\n|`LOWER`||\n|`BOTH`||\n|`NONE`||\n\n\n### RadioBand\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`AM`||\n|`FM`||\n|`XM`||\n\n\n### RadioState\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`ACQUIRING`||\n|`ACQUIRED`||\n|`MULTICAST`||\n|`NOT_FOUND`||\n\n\n### TemperatureUnit\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`FAHRENHEIT`||\n|`CELSIUS`||\n\n\n### DoorStatusType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`CLOSED`||\n|`LOCKED`||\n|`AJAR`||\n|`REMOVED`||\n\n\n### FileType\nEnumeration listing possible file types.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`GRAPHIC_BMP`||\n|`GRAPHIC_JPEG`||\n|`GRAPHIC_PNG`||\n|`AUDIO_WAVE`||\n|`AUDIO_MP3`||\n|`AUDIO_AAC`||\n|`BINARY`||\n|`JSON`||\n\n\n### FuelCutoffStatus\nReflects the status of the RCM fuel cutoff.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`TERMINATE_FUEL`||\n|`NORMAL_OPERATION`||\n|`FAULT`||\n\n\n### EmergencyEventType\nReflects the emergency event status of the vehicle.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NO_EVENT`||\n|`FRONTAL`||\n|`SIDE`||\n|`REAR`||\n|`ROLLOVER`||\n|`NOT_SUPPORTED`||\n|`FAULT`||\n\n\n### ECallConfirmationStatus\nReflects the status of the eCall Notification.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NORMAL`||\n|`CALL_IN_PROGRESS`||\n|`CALL_CANCELLED`||\n|`CALL_COMPLETED`||\n|`CALL_UNSUCCESSFUL`||\n|`ECALL_CONFIGURED_OFF`||\n|`CALL_COMPLETE_DTMF_TIMEOUT`||\n\n\n### PowerModeQualificationStatus\nReflects the status of the current power mode qualification.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`POWER_MODE_UNDEFINED`||\n|`POWER_MODE_EVALUATION_IN_PROGRESS`||\n|`NOT_DEFINED`||\n|`POWER_MODE_OK`||\n\n\n### PowerModeStatus\nReflects the status of the current power mode.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`KEY_OUT`||\n|`KEY_RECENTLY_OUT`||\n|`KEY_APPROVED_0`||\n|`POST_ACCESORY_0`||\n|`ACCESORY_1`||\n|`POST_IGNITION_1`||\n|`IGNITION_ON_2`||\n|`RUNNING_2`||\n|`CRANK_3`||\n\n\n### CarModeStatus\nReflects the status of the current car mode.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NORMAL`||\n|`FACTORY`||\n|`TRANSPORT`||\n|`CRASH`||\n\n\n### VehicleDataResultCode\nEnumeration that describes possible result codes of a vehicle data entry request.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`SUCCESS`|Individual vehicle data item / DTC / DID request or subscription successful|\n|`TRUNCATED_DATA`|DTC / DID request successful, however, not all active DTCs or full contents of DID location available|\n|`DISALLOWED`|This vehicle data item is not allowed for this app by the OEM/Manufactorer of the connected module.|\n|`USER_DISALLOWED`|The user has not granted access to this type of vehicle data item at this time.|\n|`INVALID_ID`|The ECU ID referenced is not a valid ID on the bus / system.|\n|`VEHICLE_DATA_NOT_AVAILABLE`|The requested vehicle data item / DTC / DID is not currently available or responding on the bus / system.|\n|`DATA_ALREADY_SUBSCRIBED`|The vehicle data item is already subscribed.|\n|`DATA_NOT_SUBSCRIBED`|The vehicle data item cannot be unsubscribed because it is not currently subscribed.|\n|`IGNORED`|The request for this item is ignored because it is already in progress.|\n\n\n### TurnSignal\nEnumeration that describes the status of the turn light indicator.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`OFF`|Turn signal is OFF|\n|`LEFT`|Left turn signal is on|\n|`RIGHT`|Right turn signal is on|\n|`BOTH`|Both signals (left and right) are on.|\n\n\n### MenuLayout\nHow the main menu or submenu is laid out on screen\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`LIST`||\n|`TILES`||\n\n\n### TouchType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`BEGIN`||\n|`MOVE`||\n|`END`||\n|`CANCEL`||\n\n\n### PermissionStatus\nEnumeration that describes possible permission states of a policy table entry.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`ALLOWED`||\n|`DISALLOWED`||\n|`USER_DISALLOWED`||\n|`USER_CONSENT_PENDING`||\n\n\n### KeyboardLayout\nEnumeration listing possible keyboard layouts.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`QWERTY`||\n|`QWERTZ`||\n|`AZERTY`||\n|`NUMERIC`||\n\n\n### KeyboardEvent\nEnumeration listing possible keyboard events.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`KEYPRESS`||\n|`ENTRY_SUBMITTED`||\n|`ENTRY_VOICE`||\n|`ENTRY_CANCELLED`||\n|`ENTRY_ABORTED`||\n|`INPUT_KEY_MASK_ENABLED`||\n|`INPUT_KEY_MASK_DISABLED`||\n\n\n### KeypressMode\nEnumeration listing possible keyboard events.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`SINGLE_KEYPRESS`|Each keypress is individually sent as the user presses the keyboard keys.|\n|`QUEUE_KEYPRESSES`|The keypresses are queued and a string is eventually sent once the user chooses to submit their entry.|\n|`RESEND_CURRENT_ENTRY`|The keypresses are queue and a string is sent each time the user presses a keyboard key; the string contains the entire current entry.|\n\n\n### KeyboardInputMask\nEnumeration listing possible input character masking.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`ENABLE_INPUT_KEY_MASK`||\n|`DISABLE_INPUT_KEY_MASK`||\n|`USER_CHOICE_INPUT_KEY_MASK`||\n\n\n### RequestType\nEnumeration listing possible asynchronous requests.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`HTTP`||\n|`FILE_RESUME`||\n|`AUTH_REQUEST`||\n|`AUTH_CHALLENGE`||\n|`AUTH_ACK`||\n|`PROPRIETARY`||\n|`QUERY_APPS`||\n|`LAUNCH_APP`||\n|`LOCK_SCREEN_ICON_URL`||\n|`TRAFFIC_MESSAGE_CHANNEL`||\n|`DRIVER_PROFILE`||\n|`VOICE_SEARCH`||\n|`NAVIGATION`||\n|`PHONE`||\n|`CLIMATE`||\n|`SETTINGS`||\n|`VEHICLE_DIAGNOSTICS`||\n|`EMERGENCY`||\n|`MEDIA`||\n|`FOTA`||\n|`OEM_SPECIFIC`||\n|`ICON_URL`||\n\n\n### AppHMIType\nEnumeration listing possible app types.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`DEFAULT`||\n|`COMMUNICATION`||\n|`MEDIA`||\n|`MESSAGING`||\n|`NAVIGATION`||\n|`INFORMATION`||\n|`SOCIAL`||\n|`BACKGROUND_PROCESS`||\n|`TESTING`||\n|`SYSTEM`||\n|`PROJECTION`||\n|`REMOTE_CONTROL`||\n|`WEB_VIEW`||\n\n\n### PredefinedLayout\nPredefined screen layout.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`DEFAULT`|Default media / non-media screen. Can be set as a root screen.|\n|`MEDIA`|Default Media screen. Can be set as a root screen.|\n|`NON-MEDIA`|Default Non-media screen. Can be set as a root screen.|\n|`ONSCREEN_PRESETS`|Custom root media screen containing app-defined onscreen presets. Can be set as a root screen.|\n|`NAV_FULLSCREEN_MAP`|Custom root template screen containing full screen map with navigation controls. Can be set as a root screen.|\n|`NAV_LIST`|Custom root template screen containing video represented list. Can be set as a root screen.|\n|`NAV_KEYBOARD`|Custom root template screen containing video represented keyboard. Can be set as a root screen.|\n|`GRAPHIC_WITH_TEXT`|Custom root template screen containing half-screen graphic with lines of text. Can be set as a root screen.|\n|`TEXT_WITH_GRAPHIC`|Custom root template screen containing lines of text with half-screen graphic. Can be set as a root screen.|\n|`TILES_ONLY`|Custom root template screen containing only tiled SoftButtons. Can be set as a root screen.|\n|`TEXTBUTTONS_ONLY`|Custom root template screen containing only text SoftButtons. Can be set as a root screen.|\n|`GRAPHIC_WITH_TILES`|Custom root template screen containing half-screen graphic with tiled SoftButtons. Can be set as a root screen.|\n|`TILES_WITH_GRAPHIC`|Custom root template screen containing tiled SoftButtons with half-screen graphic. Can be set as a root screen.|\n|`GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS`|Custom root template screen containing half-screen graphic with text and SoftButtons. Can be set as a root screen.|\n|`TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC`|Custom root template screen containing text and SoftButtons with half-screen graphic. Can be set as a root screen.|\n|`GRAPHIC_WITH_TEXTBUTTONS`|Custom root template screen containing half-screen graphic with text only SoftButtons. Can be set as a root screen.|\n|`TEXTBUTTONS_WITH_GRAPHIC`|Custom root template screen containing text only SoftButtons with half-screen graphic. Can be set as a root screen.|\n|`LARGE_GRAPHIC_WITH_SOFTBUTTONS`|Custom root template screen containing a large graphic and SoftButtons. Can be set as a root screen.|\n|`DOUBLE_GRAPHIC_WITH_SOFTBUTTONS`|Custom root template screen containing two graphics and SoftButtons. Can be set as a root screen.|\n|`LARGE_GRAPHIC_ONLY`|Custom root template screen containing only a large graphic. Can be set as a root screen.|\n|`WEB_VIEW`|Custom root template allowing in-vehicle WebEngine applications with appropriate permissions to show the application's own web view.|\n\n\n### FunctionID\nEnumeration linking function names with function IDs in SmartDeviceLink protocol. Assumes enumeration starts at value 0.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`RESERVED`||\n|`RegisterAppInterfaceID`||\n|`UnregisterAppInterfaceID`||\n|`SetGlobalPropertiesID`||\n|`ResetGlobalPropertiesID`||\n|`AddCommandID`||\n|`DeleteCommandID`||\n|`AddSubMenuID`||\n|`DeleteSubMenuID`||\n|`CreateInteractionChoiceSetID`||\n|`PerformInteractionID`||\n|`DeleteInteractionChoiceSetID`||\n|`AlertID`||\n|`ShowID`||\n|`SpeakID`||\n|`SetMediaClockTimerID`||\n|`PerformAudioPassThruID`||\n|`EndAudioPassThruID`||\n|`SubscribeButtonID`||\n|`UnsubscribeButtonID`||\n|`SubscribeVehicleDataID`||\n|`UnsubscribeVehicleDataID`||\n|`GetVehicleDataID`||\n|`ReadDIDID`||\n|`GetDTCsID`||\n|`ScrollableMessageID`||\n|`SliderID`||\n|`ShowConstantTBTID`||\n|`AlertManeuverID`||\n|`UpdateTurnListID`||\n|`ChangeRegistrationID`||\n|`GenericResponseID`||\n|`PutFileID`||\n|`DeleteFileID`||\n|`ListFilesID`||\n|`SetAppIconID`||\n|`SetDisplayLayoutID`||\n|`DiagnosticMessageID`||\n|`SystemRequestID`||\n|`SendLocationID`||\n|`DialNumberID`||\n|`ButtonPressID`||\n|`GetInteriorVehicleDataID`||\n|`SetInteriorVehicleDataID`||\n|`GetWayPointsID`||\n|`SubscribeWayPointsID`||\n|`UnsubscribeWayPointsID`||\n|`GetSystemCapabilityID`||\n|`SendHapticDataID`||\n|`SetCloudAppPropertiesID`||\n|`GetCloudAppPropertiesID`||\n|`PublishAppServiceID`||\n|`GetAppServiceDataID`||\n|`GetFileID`||\n|`PerformAppServiceInteractionID`||\n|`UnpublishAppServiceID`||\n|`CancelInteractionID`||\n|`CloseApplicationID`||\n|`ShowAppMenuID`||\n|`CreateWindowID`||\n|`DeleteWindowID`||\n|`GetInteriorVehicleDataConsentID`||\n|`ReleaseInteriorVehicleDataModuleID`||\n|`SubtleAlertID`||\n|`OnHMIStatusID`||\n|`OnAppInterfaceUnregisteredID`||\n|`OnButtonEventID`||\n|`OnButtonPressID`||\n|`OnVehicleDataID`||\n|`OnCommandID`||\n|`OnTBTClientStateID`||\n|`OnDriverDistractionID`||\n|`OnPermissionsChangeID`||\n|`OnAudioPassThruID`||\n|`OnLanguageChangeID`||\n|`OnKeyboardInputID`||\n|`OnTouchEventID`||\n|`OnSystemRequestID`||\n|`OnHashChangeID`||\n|`OnInteriorVehicleDataID`||\n|`OnWayPointChangeID`||\n|`OnRCStatusID`||\n|`OnAppServiceDataID`||\n|`OnSystemCapabilityUpdatedID`||\n|`OnSubtleAlertPressedID`||\n|`OnUpdateFileID`||\n|`OnUpdateSubMenuID`||\n|`OnAppCapabilityUpdatedID`||\n|`EncodedSyncPDataID`||\n|`SyncPDataID`||\n|`OnEncodedSyncPDataID`||\n|`OnSyncPDataID`||\n\n\n### messageType\nEnumeration linking message types with function types in WiPro protocol. Assumes enumeration starts at value 0. The integer value is used in the protocol binary header.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`request`||\n|`response`||\n|`notification`||\n\n\n### WayPointType\nDescribes what kind of waypoint is requested/provided.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`ALL`||\n|`DESTINATION`||\n\n\n### SystemCapabilityType\nEnumerations of all available system capability types\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`NAVIGATION`||\n|`PHONE_CALL`||\n|`VIDEO_STREAMING`||\n|`REMOTE_CONTROL`||\n|`APP_SERVICES`||\n|`SEAT_LOCATION`||\n|`DISPLAYS`||\n|`DRIVER_DISTRACTION`||\n\n\n### MassageZone\nList possible zones of a multi-contour massage seat.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`LUMBAR`|The back of a multi-contour massage seat. or SEAT_BACK|\n|`SEAT_CUSHION`|The bottom a multi-contour massage seat. or SEAT_BOTTOM|\n\n\n### MassageMode\nList possible modes of a massage zone.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`OFF`||\n|`LOW`||\n|`HIGH`||\n\n\n### MassageCushion\nList possible cushions of a multi-contour massage seat.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`TOP_LUMBAR`||\n|`MIDDLE_LUMBAR`||\n|`BOTTOM_LUMBAR`||\n|`BACK_BOLSTERS`||\n|`SEAT_BOLSTERS`||\n\n\n### SeatMemoryActionType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`SAVE`|Save current seat positions and settings to seat memory.|\n|`RESTORE`|Restore / apply the seat memory settings to the current seat.|\n|`NONE`|No action to be performed.|\n\n\n### SupportedSeat\n###### Deprecated since: 6.0.0\n\nList possible seats that is a remote controllable seat.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`DRIVER`||\n|`FRONT_PASSENGER`||\n\n\n### LightName\nEnumeration that describes possible values of light name. The mobile libraries and SDL Core use the name string when referencing these elements.\n\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`FRONT_LEFT_HIGH_BEAM`||\n|`FRONT_RIGHT_HIGH_BEAM`||\n|`FRONT_LEFT_LOW_BEAM`||\n|`FRONT_RIGHT_LOW_BEAM`||\n|`FRONT_LEFT_PARKING_LIGHT`||\n|`FRONT_RIGHT_PARKING_LIGHT`||\n|`FRONT_LEFT_FOG_LIGHT`||\n|`FRONT_RIGHT_FOG_LIGHT`||\n|`FRONT_LEFT_DAYTIME_RUNNING_LIGHT`||\n|`FRONT_RIGHT_DAYTIME_RUNNING_LIGHT`||\n|`FRONT_LEFT_TURN_LIGHT`||\n|`FRONT_RIGHT_TURN_LIGHT`||\n|`REAR_LEFT_FOG_LIGHT`||\n|`REAR_RIGHT_FOG_LIGHT`||\n|`REAR_LEFT_TAIL_LIGHT`||\n|`REAR_RIGHT_TAIL_LIGHT`||\n|`REAR_LEFT_BRAKE_LIGHT`||\n|`REAR_RIGHT_BRAKE_LIGHT`||\n|`REAR_LEFT_TURN_LIGHT`||\n|`REAR_RIGHT_TURN_LIGHT`||\n|`REAR_REGISTRATION_PLATE_LIGHT`||\n|`HIGH_BEAMS`|Include all high beam lights: front_left and front_right.|\n|`LOW_BEAMS`|Include all low beam lights: front_left and front_right.|\n|`FOG_LIGHTS`|Include all fog lights: front_left, front_right, rear_left and rear_right.|\n|`RUNNING_LIGHTS`|Include all daytime running lights: front_left and front_right.|\n|`PARKING_LIGHTS`|Include all parking lights: front_left and front_right.|\n|`BRAKE_LIGHTS`|Include all brake lights: rear_left and rear_right.|\n|`REAR_REVERSING_LIGHTS`||\n|`SIDE_MARKER_LIGHTS`||\n|`LEFT_TURN_LIGHTS`|Include all left turn signal lights: front_left, rear_left, left_side and mirror_mounted.|\n|`RIGHT_TURN_LIGHTS`|Include all right turn signal lights: front_right, rear_right, right_side and mirror_mounted.|\n|`HAZARD_LIGHTS`|Include all hazard lights: front_left, front_right, rear_left and rear_right.|\n|`REAR_CARGO_LIGHTS`|Cargo lamps illuminate the cargo area.|\n|`REAR_TRUCK_BED_LIGHTS`|Truck bed lamps light up the bed of the truck.|\n|`REAR_TRAILER_LIGHTS`|Trailer lights are lamps mounted on a trailer hitch.|\n|`LEFT_SPOT_LIGHTS`|It is the spotlights mounted on the left side of a vehicle.|\n|`RIGHT_SPOT_LIGHTS`|It is the spotlights mounted on the right side of a vehicle.|\n|`LEFT_PUDDLE_LIGHTS`|Puddle lamps illuminate the ground beside the door as the customer is opening or approaching the door.|\n|`RIGHT_PUDDLE_LIGHTS`|Puddle lamps illuminate the ground beside the door as the customer is opening or approaching the door.|\n|`AMBIENT_LIGHTS`||\n|`OVERHEAD_LIGHTS`||\n|`READING_LIGHTS`||\n|`TRUNK_LIGHTS`||\n|`EXTERIOR_FRONT_LIGHTS`|Include exterior lights located in front of the vehicle. For example, fog lights and low beams.|\n|`EXTERIOR_REAR_LIGHTS`|Include exterior lights located at the back of the vehicle. For example, license plate lights, reverse lights, cargo lights, bed lights and trailer assist lights.|\n|`EXTERIOR_LEFT_LIGHTS`|Include exterior lights located at the left side of the vehicle. For example, left puddle lights and spot lights.|\n|`EXTERIOR_RIGHT_LIGHTS`|Include exterior lights located at the right side of the vehicle. For example, right puddle lights and spot lights.|\n|`EXTERIOR_ALL_LIGHTS`|Include all exterior lights around the vehicle.|\n\n\n### LightStatus\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`ON`||\n|`OFF`||\n|`RAMP_UP`||\n|`RAMP_DOWN`||\n|`UNKNOWN`||\n|`INVALID`||\n\n\n### DisplayMode\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`DAY`||\n|`NIGHT`||\n|`AUTO`||\n\n\n### DistanceUnit\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MILES`||\n|`KILOMETERS`||\n\n\n### MetadataType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`mediaTitle`|The data in this field contains the title of the currently playing audio track.|\n|`mediaArtist`|The data in this field contains the artist or creator of the currently playing audio track.|\n|`mediaAlbum`|The data in this field contains the album title of the currently playing audio track.|\n|`mediaYear`|The data in this field contains the creation year of the currently playing audio track.|\n|`mediaGenre`|The data in this field contains the genre of the currently playing audio track.|\n|`mediaStation`|The data in this field contains the name of the current source for the media.|\n|`rating`|The data in this field is a rating.|\n|`currentTemperature`|The data in this field is the current temperature.|\n|`maximumTemperature`|The data in this field is the maximum temperature for the day.|\n|`minimumTemperature`|The data in this field is the minimum temperature for the day.|\n|`weatherTerm`|The data in this field describes the current weather (ex. cloudy, clear, etc.).|\n|`humidity`|The data in this field describes the current humidity value.|\n\n\n### AppServiceType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MEDIA`||\n|`WEATHER`||\n|`NAVIGATION`||\n\n\n### MediaType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`MUSIC`||\n|`PODCAST`||\n|`AUDIOBOOK`||\n|`OTHER`||\n\n\n### NavigationAction\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`TURN`|Using this action plus a supplied direction can give the type of turn.|\n|`EXIT`||\n|`STAY`||\n|`MERGE`||\n|`FERRY`||\n|`CAR_SHUTTLE_TRAIN`||\n|`WAYPOINT`||\n\n\n### NavigationJunction\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`REGULAR`|A junction that represents a standard intersection with a single road crossing another.|\n|`BIFURCATION`|A junction where the road splits off into two paths; a fork in the road.|\n|`MULTI_CARRIAGEWAY`|A junction that has multiple intersections and paths.|\n|`ROUNDABOUT`|A junction where traffic moves in a single direction around a central, non-traversable point to reach one of the connecting roads.|\n|`TRAVERSABLE_ROUNDABOUT`|Similar to a roundabout, however the center of the roundabout is fully traversable. Also known as a mini-roundabout.|\n|`JUGHANDLE`|A junction where lefts diverge to the right, then curve to the left, converting a left turn to a crossing maneuver.|\n|`ALL_WAY_YIELD`|Multiple way intersection that allows traffic to flow based on priority; most commonly right of way and first in, first out.|\n|`TURN_AROUND`|A junction designated for traffic turn arounds.|\n\n\n### Direction\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`LEFT`||\n|`RIGHT`||\n\n\n### ServiceUpdateReason\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`PUBLISHED`|The service has just been published with the module and once activated to the primary service of its type, it will be ready for possible consumption.|\n|`REMOVED`|The service has just been unpublished with the module and is no longer accessible|\n|`ACTIVATED`|The service is activated as the primary service of this type. All requests dealing with this service type will be handled by this service.|\n|`DEACTIVATED`|The service has been deactivated as the primary service of its type|\n|`MANIFEST_UPDATE`|The service has updated its manifest. This could imply updated capabilities|\n\n\n### SeekIndicatorType\n##### Elements\n\n| Value | Description | \n| ---------- |:-----------:|\n|`TRACK`||\n|`TIME`||\n\n\n\n\u003cdiv style=\"page-break-after: always;\"\u003e\u003c/div\u003e\n\n## Structs\n\n### AudioPassThruCapabilities\nDescribes different audio type configurations for PerformAudioPassThru. e.g. {8kHz,8-bit,PCM} The audio is recorded in monaural.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`samplingRate`|SamplingRate|True||\n|`bitsPerSample`|BitsPerSample|True||\n|`audioType`|AudioType|True||\n\n\n### CloudAppProperties\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`nicknames`|String[]|False|An array of app names a cloud app is allowed to register with. If included in a SetCloudAppProperties request, this value will overwrite the existing \"nicknames\" field in the app policies section of the policy table.|\n|`appID`|String|True||\n|`enabled`|Boolean|False|If true, cloud app will be included in HMI RPC UpdateAppList|\n|`authToken`|String|False|Used to authenticate websocket connection on app activation|\n|`cloudTransportType`|String|False|Specifies the connection type Core should use|\n|`hybridAppPreference`|HybridAppPreference|False|Specifies the user preference to use the cloud app version or mobile app version when both are available|\n|`endpoint`|String|False|Specifies the endpoint which Core will attempt to connect to when this app is selected|\n\n\n### Image\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`value`|String|True|Either the static hex icon value or the binary image file name identifier (sent by PutFile).|\n|`imageType`|ImageType|True|Describes, whether it is a static or dynamic image.|\n|`isTemplate`|Boolean|False|If true, the image is a template image and can be recolored by the HMI|\n\n\n### SoftButton\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`type`|SoftButtonType|True|Describes, whether it is text, highlighted text, icon, or dynamic image. See softButtonType|\n|`text`|String|False|Optional text to display (if defined as TEXT or BOTH)|\n|`image`|Image|False|Optional image struct for SoftButton (if defined as IMAGE or BOTH)|\n|`isHighlighted`|Boolean|False|True, if highlighted False, if not highlighted|\n|`softButtonID`|Integer|True|Value which is returned via OnButtonPress / OnButtonEvent|\n|`systemAction`|SystemAction|False|Parameter indicating whether selecting a SoftButton shall call a specific system action. This is intended to allow Notifications to bring the callee into full / focus; or in the case of persistent overlays, the overlay can persist when a SoftButton is pressed.|\n\n\n### Choice\nA choice is an option given to the user, which can be selected either by menu, or through voice recognition system.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`choiceID`|Integer|True||\n|`menuName`|String|True||\n|`vrCommands`|String[]|False||\n|`image`|Image|False||\n|`secondaryText`|String|False|Optional secondary text to display; e.g. address of POI in a search result entry|\n|`tertiaryText`|String|False|Optional tertiary text to display; e.g. distance to POI for a search result entry|\n|`secondaryImage`|Image|False|Optional secondary image struct for choice|\n\n\n### VrHelpItem\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`text`|String|True|Text to display for VR Help item|\n|`image`|Image|False|Image struct for VR Help item|\n|`position`|Integer|True|Position to display item in VR Help list|\n\n\n### SyncMsgVersion\nSpecifies the version number of the SmartDeviceLink protocol that is supported by the mobile application\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`majorVersion`|Integer|True|The major version indicates versions that is not-compatible to previous versions.|\n|`minorVersion`|Integer|True|The minor version indicates a change to a previous version that should still allow to be run on an older version (with limited functionality)|\n|`patchVersion`|Integer|False|The patch version indicates a fix to existing functionality in a previous version that should still be able to be run on an older version|\n\n\n### FuelRange\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`type`|FuelType|False||\n|`range`|Float|False|The estimate range in KM the vehicle can travel based on fuel level and consumption.|\n|`level`|Float|False|The relative remaining capacity of this fuel type (percentage).|\n|`levelState`|ComponentVolumeStatus|False|The fuel level state|\n|`capacity`|Float|False|The absolute capacity of this fuel type.|\n|`capacityUnit`|CapacityUnit|False|The unit of the capacity of this fuel type such as liters for gasoline or kWh for batteries.|\n\n\n### SingleTireStatus\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`status`|ComponentVolumeStatus|True|See ComponentVolumeStatus.|\n|`tpms`|TPMS|False|The status of TPMS according to the particular tire.|\n|`pressure`|Float|False|The pressure value of the particular tire in kilo pascal.|\n\n\n### BeltStatus\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`driverBeltDeployed`|VehicleDataEventStatus|True|References signal \"VedsDrvBelt_D_Ltchd\". See VehicleDataEventStatus.|\n|`passengerBeltDeployed`|VehicleDataEventStatus|True|References signal \"VedsPasBelt_D_Ltchd\". See VehicleDataEventStatus.|\n|`passengerBuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw1PasBckl_D_Ltchd\". See VehicleDataEventStatus.|\n|`driverBuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw1DrvBckl_D_Ltchd\". See VehicleDataEventStatus.|\n|`leftRow2BuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw2lBckl_D_Ltchd\". See VehicleDataEventStatus.|\n|`passengerChildDetected`|VehicleDataEventStatus|True|References signal \"VedsRw1PasChld_D_Ltchd\". See VehicleDataEventStatus.|\n|`rightRow2BuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw2rBckl_D_Ltchd\". See VehicleDataEventStatus.|\n|`middleRow2BuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw2mBckl_D_Ltchd\". See VehicleDataEventStatus.|\n|`middleRow3BuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw3mBckl_D_Ltchd\". See VehicleDataEventStatus.|\n|`leftRow3BuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw3lBckl_D_Ltchd\". See VehicleDataEventStatus.|\n|`rightRow3BuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw3rBckl_D_Ltchd\". See VehicleDataEventStatus.|\n|`leftRearInflatableBelted`|VehicleDataEventStatus|True|References signal \"VedsRw2lRib_D_Ltchd\". See VehicleDataEventStatus.|\n|`rightRearInflatableBelted`|VehicleDataEventStatus|True|References signal \"VedsRw2rRib_D_Ltchd\". See VehicleDataEventStatus.|\n|`middleRow1BeltDeployed`|VehicleDataEventStatus|True|References signal \"VedsRw1mBelt_D_Ltchd\". See VehicleDataEventStatus.|\n|`middleRow1BuckleBelted`|VehicleDataEventStatus|True|References signal \"VedsRw1mBckl_D_Ltchd\". See VehicleDataEventStatus.|\n\n\n### Grid\nDescribes a location (origin coordinates and span) of a vehicle component.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`col`|Integer|True||\n|`row`|Integer|True||\n|`level`|Integer|False||\n|`colspan`|Integer|False||\n|`rowspan`|Integer|False||\n|`levelspan`|Integer|False||\n\n\n### DoorStatus\nDescribes the status of a parameter of door.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`location`|Grid|True||\n|`status`|DoorStatusType|True||\n\n\n### GateStatus\nDescribes the status of a parameter of trunk/hood/etc.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`location`|Grid|True||\n|`status`|DoorStatusType|True||\n\n\n### WindowState\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`approximatePosition`|Integer|True|The approximate percentage that the window is open - 0 being fully closed, 100 being fully open|\n|`deviation`|Integer|True|The percentage deviation of the approximatePosition. e.g. If the approximatePosition is 50 and the deviation is 10, then the window's location is somewhere between 40 and 60.|\n\n\n### RoofStatus\nDescribes the status of a parameter of roof/convertible roof/sunroof/moonroof etc. If roof is open (AJAR), state will determine percentage of roof open.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`location`|Grid|True||\n|`status`|DoorStatusType|True||\n|`state`|WindowState|False||\n\n\n### BodyInformation\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`parkBrakeActive`|Boolean|True|References signal \"PrkBrkActv_B_Actl\".|\n|`ignitionStableStatus`|IgnitionStableStatus|True|References signal \"Ignition_Switch_Stable\". See IgnitionStableStatus.|\n|`ignitionStatus`|IgnitionStatus|True|References signal \"Ignition_status\". See IgnitionStatus.|\n|`driverDoorAjar`|Boolean|False|References signal \"DrStatDrv_B_Actl\". Deprecated starting with RPC Spec 7.1.0.|\n|`passengerDoorAjar`|Boolean|False|References signal \"DrStatPsngr_B_Actl\". Deprecated starting with RPC Spec 7.1.0.|\n|`rearLeftDoorAjar`|Boolean|False|References signal \"DrStatRl_B_Actl\". Deprecated starting with RPC Spec 7.1.0.|\n|`rearRightDoorAjar`|Boolean|False|References signal \"DrStatRr_B_Actl\". Deprecated starting with RPC Spec 7.1.0.|\n|`doorStatuses`|DoorStatus[]|False|Provides status for doors if Ajar/Closed/Locked|\n|`gateStatuses`|GateStatus[]|False|Provides status for trunk/hood/etc. if Ajar/Closed/Locked|\n|`roofStatuses`|RoofStatus[]|False|Provides status for roof/convertible roof/sunroof/moonroof etc., if Closed/Ajar/Removed etc.|\n\n\n### DeviceStatus\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`voiceRecOn`|Boolean|True|References signal \"CPM_VoiceRec_STAT\".|\n|`btIconOn`|Boolean|True|References signal \"BT_ICON\".|\n|`callActive`|Boolean|True|References signal \"CPM_Call_Active_STAT\".|\n|`phoneRoaming`|Boolean|True|References signal \"CPM_Phone_Roaming_STAT\".|\n|`textMsgAvailable`|Boolean|True|References signal \"CPM_TextMsg_AVAL\".|\n|`battLevelStatus`|DeviceLevelStatus|True|Device battery level status. References signal \"CPM_Batt_Level_STAT\". See DeviceLevelStatus.|\n|`stereoAudioOutputMuted`|Boolean|True|References signal \"CPM_Stereo_Audio_Output\".|\n|`monoAudioOutputMuted`|Boolean|True|References signal \"CPM_Mono_Audio_Output\".|\n|`signalLevelStatus`|DeviceLevelStatus|True|Device signal level status. References signal \"CPM_Signal_Strength_STAT\". See DeviceLevelStatus.|\n|`primaryAudioSource`|PrimaryAudioSource|True|References signal \"CPM_Stereo_PAS_Source\". See PrimaryAudioSource.|\n|`eCallEventActive`|Boolean|True|References signal \"eCall_Event\".|\n\n\n### HeadLampStatus\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`lowBeamsOn`|Boolean|True|Status of the low beam lamps. References signal \"HeadLampLoActv_B_Stat\".|\n|`highBeamsOn`|Boolean|True|Status of the high beam lamps. References signal \"HeadLghtHiOn_B_Stat\".|\n|`ambientLightSensorStatus`|AmbientLightStatus|False|Status of the ambient light sensor.|\n\n\n### AppInfo\nContains detailed information about the registered application.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`appDisplayName`|String|True|The name displayed for the mobile application on the mobile device (can differ from the app name set in the initial RAI request).|\n|`appBundleID`|String|True|The AppBundleID of an iOS application or package name of the Android application. This supports App Launch strategies for each platform.|\n|`appVersion`|String|True|Represents the build version number of this particular mobile app.|\n|`appIcon`|String|False|A file reference to the icon utilized by this app (simplifies the process of setting an app icon during app registration).|\n\n\n### ECallInfo\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`eCallNotificationStatus`|VehicleDataNotificationStatus|True|References signal \"eCallNotification_4A\". See VehicleDataNotificationStatus.|\n|`auxECallNotificationStatus`|VehicleDataNotificationStatus|True|References signal \"eCallNotification\". See VehicleDataNotificationStatus.|\n|`eCallConfirmationStatus`|ECallConfirmationStatus|True|References signal \"eCallConfirmation\". See ECallConfirmationStatus.|\n\n\n### AirbagStatus\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`driverAirbagDeployed`|VehicleDataEventStatus|True|References signal \"VedsDrvBag_D_Ltchd\". See VehicleDataEventStatus.|\n|`driverSideAirbagDeployed`|VehicleDataEventStatus|True|References signal \"VedsDrvSideBag_D_Ltchd\". See VehicleDataEventStatus.|\n|`driverCurtainAirbagDeployed`|VehicleDataEventStatus|True|References signal \"VedsDrvCrtnBag_D_Ltchd\". See VehicleDataEventStatus.|\n|`passengerAirbagDeployed`|VehicleDataEventStatus|True|References signal \"VedsPasBag_D_Ltchd\". See VehicleDataEventStatus.|\n|`passengerCurtainAirbagDeployed`|VehicleDataEventStatus|True|References signal \"VedsPasCrtnBag_D_Ltchd\". See VehicleDataEventStatus.|\n|`driverKneeAirbagDeployed`|VehicleDataEventStatus|True|References signal \"VedsKneeDrvBag_D_Ltchd\". See VehicleDataEventStatus.|\n|`passengerSideAirbagDeployed`|VehicleDataEventStatus|True|References signal \"VedsPasSideBag_D_Ltchd\". See VehicleDataEventStatus.|\n|`passengerKneeAirbagDeployed`|VehicleDataEventStatus|True|References signal \"VedsKneePasBag_D_Ltchd\". See VehicleDataEventStatus.|\n\n\n### EmergencyEvent\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`emergencyEventType`|EmergencyEventType|True|References signal \"VedsEvntType_D_Ltchd\". See EmergencyEventType.|\n|`fuelCutoffStatus`|FuelCutoffStatus|True|References signal \"RCM_FuelCutoff\". See FuelCutoffStatus.|\n|`rolloverEvent`|VehicleDataEventStatus|True|References signal \"VedsEvntRoll_D_Ltchd\". See VehicleDataEventStatus.|\n|`maximumChangeVelocity`|Integer|True|References signal \"VedsMaxDeltaV_D_Ltchd\". Change in velocity in KPH. Additional reserved values: 0x00 No event 0xFE Not supported 0xFF Fault|\n|`multipleEvents`|VehicleDataEventStatus|True|References signal \"VedsMultiEvnt_D_Ltchd\". See VehicleDataEventStatus.|\n\n\n### ClusterModeStatus\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`powerModeActive`|Boolean|True|References signal \"PowerMode_UB\".|\n|`powerModeQualificationStatus`|PowerModeQualificationStatus|True|References signal \"PowerModeQF\". See PowerModeQualificationStatus.|\n|`carModeStatus`|CarModeStatus|True|References signal \"CarMode\". See CarMode.|\n|`powerModeStatus`|PowerModeStatus|True|References signal \"PowerMode\". See PowerMode.|\n\n\n### MyKey\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`e911Override`|VehicleDataStatus|True|Indicates whether e911 override is on. References signal \"MyKey_e911Override_St\". See VehicleDataStatus.|\n\n\n### TireStatus\nThe status and pressure of the tires.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`pressureTelltale`|WarningLightStatus|False|Status of the Tire Pressure Telltale. See WarningLightStatus.|\n|`leftFront`|SingleTireStatus|False|The status of the left front tire.|\n|`rightFront`|SingleTireStatus|False|The status of the right front tire.|\n|`leftRear`|SingleTireStatus|False|The status of the left rear tire.|\n|`rightRear`|SingleTireStatus|False|The status of the right rear tire.|\n|`innerLeftRear`|SingleTireStatus|False|The status of the inner left rear.|\n|`innerRightRear`|SingleTireStatus|False|The status of the inner right rear.|\n\n\n### StabilityControlsStatus\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`escSystem`|VehicleDataStatus|False|true if vehicle stability control is ON, else false|\n|`trailerSwayControl`|VehicleDataStatus|False|true if vehicle trailer sway control is ON, else false|\n\n\n### GPSData\nStruct with the GPS data.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`longitudeDegrees`|Float|True||\n|`latitudeDegrees`|Float|True||\n|`utcYear`|Integer|False|The current UTC year.|\n|`utcMonth`|Integer|False|The current UTC month.|\n|`utcDay`|Integer|False|The current UTC day.|\n|`utcHours`|Integer|False|The current UTC hour.|\n|`utcMinutes`|Integer|False|The current UTC minute.|\n|`utcSeconds`|Integer|False|The current UTC second.|\n|`compassDirection`|CompassDirection|False|See CompassDirection.|\n|`pdop`|Float|False|PDOP. If undefined or unavailable, then value shall be set to 0.|\n|`hdop`|Float|False|HDOP. If value is unknown, value shall be set to 0.|\n|`vdop`|Float|False|VDOP. If value is unknown, value shall be set to 0.|\n|`actual`|Boolean|False|True, if actual. False, if inferred.|\n|`satellites`|Integer|False|Number of satellites in view|\n|`dimension`|Dimension|False|See Dimension|\n|`altitude`|Float|False|Altitude in meters|\n|`heading`|Float|False|The heading. North is 0. Resolution is 0.01|\n|`speed`|Float|False|The speed in KPH|\n|`shifted`|Boolean|False|True, if GPS lat/long, time, and altitude have been purposefully shifted (requires a proprietary algorithm to unshift). False, if the GPS data is raw and un-shifted. If not provided, then value is assumed False.|\n\n\n### VehicleDataResult\nIndividual published data request result\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`dataType`|VehicleDataType|True|Defined published data element type.|\n|`resultCode`|VehicleDataResultCode|True|Published data result code.|\n|`oemCustomDataType`|String|False|Type of requested oem specific parameter|\n\n\n### DIDResult\nIndividual requested DID result and data\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`resultCode`|VehicleDataResultCode|True|Individual DID result code.|\n|`didLocation`|Integer|True|Location of raw data from vehicle data DID|\n|`data`|String|False|Raw DID-based data returned for requested element.|\n\n\n### StartTime\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`hours`|Integer|True|The hour of the media clock. Some radios only support a max of 19 hours. If out of range, it will be rejected.|\n|`minutes`|Integer|True||\n|`seconds`|Integer|True||\n\n\n### TextField\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`name`|TextFieldName|True|The name that identifies the field. See TextFieldName.|\n|`characterSet`|CharacterSet|True|The set of characters that are supported by this text field. All text is sent in UTF-8 format, but not all systems may support all of the characters expressed by UTF-8. All systems will support at least ASCII, but they may support more, either the LATIN-1 character set, or the full UTF-8 character set.|\n|`width`|Integer|True|The number of characters in one row of this field.|\n|`rows`|Integer|True|The number of rows of this field.|\n\n\n### ImageResolution\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`resolutionWidth`|Integer|True|The image resolution width.|\n|`resolutionHeight`|Integer|True|The image resolution height.|\n\n\n### ImageField\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`name`|ImageFieldName|True|The name that identifies the field. See ImageFieldName.|\n|`imageTypeSupported`|FileType[]|True|The image types that are supported in this field. See FileType.|\n|`imageResolution`|ImageResolution|False|The image resolution of this field.|\n\n\n### TouchCoord\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`x`|Integer|True|The x coordinate of the touch.|\n|`y`|Integer|True|The y coordinate of the touch.|\n\n\n### TouchEvent\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`id`|Integer|True|A touch's unique identifier. The application can track the current touch events by id. If a touch event has type begin, the id should be added to the set of touches. If a touch event has type end, the id should be removed from the set of touches.|\n|`ts`|Integer[]|True|The time that the touch was recorded. This number can the time since the beginning of the session or something else as long as the units are in milliseconds. The timestamp is used to determined the rate of change of position of a touch. The application also uses the time to verify whether two touches, with different ids, are part of a single action by the user. If there is only a single timestamp in this array, it is the same for every coordinate in the coordinates array.|\n|`c`|TouchCoord[]|True||\n\n\n### TouchEventCapabilities\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`pressAvailable`|Boolean|True||\n|`multiTouchAvailable`|Boolean|True||\n|`doublePressAvailable`|Boolean|True||\n\n\n### ScreenParams\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`resolution`|ImageResolution|True|The resolution of the prescribed screen area.|\n|`touchEventAvailable`|TouchEventCapabilities|False|Types of screen touch events available in screen area.|\n\n\n### HMIPermissions\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`allowed`|HMILevel[]|True|A set of all HMI levels that are permitted for this given RPC.|\n|`userDisallowed`|HMILevel[]|True|A set of all HMI levels that are prohibited for this given RPC.|\n\n\n### ParameterPermissions\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`allowed`|String[]|True|A set of all parameters that are permitted for this given RPC.|\n|`userDisallowed`|String[]|True|A set of all parameters that are prohibited for this given RPC.|\n\n\n### PermissionItem\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`rpcName`|String|True|Name of the individual RPC in the policy table.|\n|`hmiPermissions`|HMIPermissions|True||\n|`parameterPermissions`|ParameterPermissions|True||\n|`requireEncryption`|Boolean|False||\n\n\n### DisplayCapabilities\n###### Deprecated since: 6.0.0\n\nContains information about the display capabilities. This struct is deprecated; please see the new SystemCapability DISPLAYS and corresponding struct DisplayCapability\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`displayType`|DisplayType|True|The type of the display. See DisplayType|\n|`displayName`|String|False|The name of the display the app is connected to.|\n|`textFields`|TextField[]|True|A set of all fields that support text data. See TextField|\n|`imageFields`|ImageField[]|False|A set of all fields that support images. See ImageField|\n|`mediaClockFormats`|MediaClockFormat[]|True|A set of all supported formats of the media clock. See MediaClockFormat|\n|`graphicSupported`|Boolean|True|The display's persistent screen supports referencing a static or dynamic image.|\n|`templatesAvailable`|String[]|False|A set of all predefined persistent display templates available on headunit. To be referenced in SetDisplayLayout.|\n|`screenParams`|ScreenParams|False|A set of all parameters related to a prescribed screen area (e.g. for video / touch input).|\n|`numCustomPresetsAvailable`|Integer|False|The number of on-screen custom presets available (if any); otherwise omitted.|\n\n\n### WindowStatus\nDescribes the status of a window of a door/liftgate etc.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`location`|Grid|True||\n|`state`|WindowState|True||\n\n\n### ModuleInfo\nInformation about an RC module\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`moduleId`|String|True|UUID of a module. \"moduleId + moduleType\" uniquely identify a module.|\n|`location`|Grid|False|Location of a module.|\n|`serviceArea`|Grid|False|Service area of a module.|\n|`allowMultipleAccess`|Boolean|False|allow multiple users/apps to access the module or not|\n\n\n### ButtonCapabilities\nContains information about a button's capabilities. NOTE: Multiple button capabilities can exist for the same ButtonName with different module ids. The module Id for a button should match the module id for a \"primary\" module type, such as a climate module or a radio module. Whichever module the id matches the button's id is the module the button will control.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`name`|ButtonName|True|The name of the button. See ButtonName.|\n|`moduleInfo`|ModuleInfo|False|Information about an RC module, including its id.|\n|`shortPressAvailable`|Boolean|True|The button supports a short press. Whenever the button is pressed short, onButtonPressed( SHORT) will be invoked.|\n|`longPressAvailable`|Boolean|True|The button supports a LONG press. Whenever the button is pressed long, onButtonPressed( LONG) will be invoked.|\n|`upDownAvailable`|Boolean|True|The button supports \"button down\" and \"button up\". Whenever the button is pressed, onButtonEvent( DOWN) will be invoked. Whenever the button is released, onButtonEvent( UP) will be invoked.|\n\n\n### SoftButtonCapabilities\nContains information about a SoftButton's capabilities.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`shortPressAvailable`|Boolean|True|The button supports a short press. Whenever the button is pressed short, onButtonPressed( SHORT) will be invoked.|\n|`longPressAvailable`|Boolean|True|The button supports a LONG press. Whenever the button is pressed long, onButtonPressed( LONG) will be invoked.|\n|`upDownAvailable`|Boolean|True|The button supports \"button down\" and \"button up\". Whenever the button is pressed, onButtonEvent( DOWN) will be invoked. Whenever the button is released, onButtonEvent( UP) will be invoked.|\n|`imageSupported`|Boolean|True|The button supports referencing a static or dynamic image.|\n|`textSupported`|Boolean|False|The button supports the use of text. If not included, the default value should be considered true that the button will support text.|\n\n\n### PresetBankCapabilities\nContains information about on-screen preset capabilities.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`onScreenPresetsAvailable`|Boolean|True|Onscreen custom presets are available.|\n\n\n### DynamicUpdateCapabilities\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`supportedDynamicImageFieldNames`|ImageFieldName[]|False|An array of ImageFieldName values for which the system supports sending OnFileUpdate notifications. If you send an Image struct for that image field with a name without having uploaded the image data using PutFile that matches that name, the system will request that you upload the data with PutFile at a later point when the HMI needs it. The HMI will then display the image in the appropriate field. If not sent, assume false.|\n|`supportsDynamicSubMenus`|Boolean|False|If true, the head unit supports dynamic sub-menus by sending OnUpdateSubMenu notifications. If true, you should not send AddCommands that attach to a parentID for an AddSubMenu until OnUpdateSubMenu is received with the menuID. At that point, you should send all AddCommands with a parentID that match the menuID. If not set, assume false.|\n\n\n### KeyboardLayoutCapability\nDescribes the capabilities of a single keyboard layout.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`keyboardLayout`|KeyboardLayout|True||\n|`numConfigurableKeys`|Integer|True|Number of keys available for special characters, App can customize as per their needs.|\n\n\n### KeyboardCapabilities\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`maskInputCharactersSupported`|Boolean|False|Availability of capability to mask input characters using keyboard. True: Available, False: Not Available|\n|`supportedKeyboards`|KeyboardLayoutCapability[]|False|Capabilities of supported keyboard layouts by HMI.|\n\n\n### WindowCapability\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`windowID`|Integer|False|The specified ID of the window. This ID is either one used when sending the CreateWindow request, or one of the predefined window ID values from the enum PredefinedWindows. If omitted, value is assumed to be the main window on the main display.|\n|`textFields`|TextField[]|False|A set of all fields that support text data. See TextField|\n|`imageFields`|ImageField[]|False|A set of all fields that support images. See ImageField|\n|`imageTypeSupported`|ImageType[]|False|Provides information about image types supported by the system.|\n|`templatesAvailable`|String[]|False|A set of all window templates available on the head unit.|\n|`numCustomPresetsAvailable`|Integer|False|The number of on-window custom presets available (if any); otherwise omitted.|\n|`buttonCapabilities`|ButtonCapabilities[]|False|The number of buttons and the capabilities of each on-window button.|\n|`softButtonCapabilities`|SoftButtonCapabilities[]|False|The number of soft buttons available on-window and the capabilities for each button.|\n|`menuLayoutsAvailable`|MenuLayout[]|False|An array of available menu layouts. If this parameter is not provided, only the `LIST` layout is assumed to be available|\n|`dynamicUpdateCapabilities`|DynamicUpdateCapabilities|False|Contains the head unit's capabilities for dynamic updating features declaring if the module will send dynamic update RPCs.|\n|`keyboardCapabilities`|KeyboardCapabilities|False|See KeyboardCapabilities|\n\n\n### WindowTypeCapabilities\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`type`|WindowType|True||\n|`maximumNumberOfWindows`|Integer|True||\n\n\n### DisplayCapability\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`displayName`|String|False||\n|`windowTypeSupported`|WindowTypeCapabilities[]|False|Informs the application how many windows the app is allowed to create per type.|\n|`windowCapabilities`|WindowCapability[]|False|Contains a list of capabilities of all windows related to the app. Once the app has registered the capabilities of all windows are provided. GetSystemCapability still allows requesting window capabilities of all windows. After registration, only windows with capabilities changed will be included. Following cases will cause only affected windows to be included: 1. App creates a new window. After the window is created, a system capability notification will be sent related only to the created window. 2. App sets a new layout to the window. The new layout changes window capabilities. The notification will reflect those changes to the single window.|\n\n\n### HMICapabilities\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`navigation`|Boolean|False|Availability of build in Nav. True: Available, False: Not Available|\n|`phoneCall`|Boolean|False|Availability of build in phone. True: Available, False: Not Available|\n|`videoStreaming`|Boolean|False|Availability of video streaming.|\n|`remoteControl`|Boolean|False|Availability of remote control feature. True: Available, False: Not Available|\n|`appServices`|Boolean|False|Availability of App Services functionality. True: Available, False: Not Available|\n|`displays`|Boolean|False|Availability of displays capability. True: Available, False: Not Available|\n|`seatLocation`|Boolean|False|Availability of seat location feature. True: Available, False: Not Available|\n|`driverDistraction`|Boolean|False|Availability of driver distraction capability. True: Available, False: Not Available|\n\n\n### MenuParams\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`parentID`|Integer|False|unique ID of the sub menu, the command will be added to. If not provided, it will be provided to the top level of the in application menu.|\n|`position`|Integer|False|Position within the items that are at top level of the in application menu. 0 will insert at the front. 1 will insert at the second position. if position is greater or equal than the number of items on top level, the sub menu will be appended to the end. If this param was omitted the entry will be added at the end.|\n|`menuName`|String|True|Text to show in the menu for this sub menu.|\n|`secondaryText`|String|False|Optional secondary text to display|\n|`tertiaryText`|String|False|Optional tertiary text to display|\n\n\n### TTSChunk\nA TTS chunk, that consists of text/phonemes to speak or the name of a file to play, and a TTS type (like text or SAPI)\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`text`|String|True|The text or phonemes to speak, or the name of the audio file to play. May not be empty.|\n|`type`|SpeechCapabilities|True|Describes whether the TTS chunk is plain text, a specific phoneme set, or an audio file. See SpeechCapabilities|\n\n\n### Turn\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`navigationText`|String|False|Individual turn text. Must provide at least text or icon for a given turn.|\n|`turnIcon`|Image|False|Individual turn icon. Must provide at least text or icon for a given turn.|\n\n\n### VehicleType\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`make`|String|False|Make of the vehicle, e.g. Ford|\n|`model`|String|False|Model of the vehicle, e.g. Fiesta|\n|`modelYear`|String|False|Model Year of the vehicle, e.g. 2013|\n|`trim`|String|False|Trim of the vehicle, e.g. SE|\n\n\n### KeyboardProperties\nConfiguration of on-screen keyboard (if available).\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`language`|Language|False|The keyboard language.|\n|`keyboardLayout`|KeyboardLayout|False|Desired keyboard layout.|\n|`keypressMode`|KeypressMode|False|Desired keypress mode. If omitted, this value will be set to RESEND_CURRENT_ENTRY.|\n|`limitedCharacterList`|String[]|False|Array of keyboard characters to enable. All omitted characters will be greyed out (disabled) on the keyboard. If omitted, the entire keyboard will be enabled.|\n|`autoCompleteText`|String|False|Deprecated, use autoCompleteList instead.|\n|`autoCompleteList`|String[]|False|Allows an app to pre-populate the text field with a list of suggested or completed entries as the user types. If empty, the auto-complete list will be removed from the screen.|\n|`maskInputCharacters`|KeyboardInputMask|False|Allows an app to mask entered characters on HMI|\n|`customKeys`|String[]|False|Array of special characters to show in customizable keys. If omitted, keyboard will show default special characters|\n\n\n### DeviceInfo\nVarious information about connecting device.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`hardware`|String|False|Device model|\n|`firmwareRev`|String|False|Device firmware revision|\n|`os`|String|False|Device OS|\n|`osVersion`|String|False|Device OS version|\n|`carrier`|String|False|Device mobile carrier (if applicable)|\n|`maxNumberRFCOMMPorts`|Integer|False|Omitted if connected not via BT.|\n\n\n### DateTime\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`millisecond`|Integer|False|Milliseconds|\n|`second`|Integer|False|Seconds part of time|\n|`minute`|Integer|False|Minutes part of time|\n|`hour`|Integer|False|Hours part of time. Note that this structure accepts time only in 24 Hr format|\n|`day`|Integer|False|Day of the month|\n|`month`|Integer|False|Month of the year|\n|`year`|Integer|False|The year in YYYY format|\n|`tz_hour`|Integer|False|Time zone offset in Hours wrt UTC.|\n|`tz_minute`|Integer|False|Time zone offset in Min wrt UTC.|\n\n\n### Coordinate\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`latitudeDegrees`|Float|True|Latitude of the location.|\n|`longitudeDegrees`|Float|True|Longitude of the location.|\n\n\n### OASISAddress\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`countryName`|String|False|Name of the country (localized)|\n|`countryCode`|String|False|Name of country (ISO 3166-2)|\n|`postalCode`|String|False|(PLZ, ZIP, PIN, CAP etc.)|\n|`administrativeArea`|String|False|Portion of country (e.g. state)|\n|`subAdministrativeArea`|String|False|Portion of e.g. state (e.g. county)|\n|`locality`|String|False|Hypernym for e.g. city/village|\n|`subLocality`|String|False|Hypernym for e.g. district|\n|`thoroughfare`|String|False|Hypernym for street, road etc.|\n|`subThoroughfare`|String|False|Portion of thoroughfare e.g. house number|\n\n\n### LocationDetails\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`coordinate`|Coordinate|False|Latitude/Longitude of the location.|\n|`locationName`|String|False|Name of location.|\n|`addressLines`|String[]|False|Location address for display purposes only|\n|`locationDescription`|String|False|Description intended location / establishment (if applicable)|\n|`phoneNumber`|String|False|Phone number of location / establishment.|\n|`locationImage`|Image|False|Image / icon of intended location.|\n|`searchAddress`|OASISAddress|False|Address to be used by navigation engines for search|\n\n\n### NavigationCapability\nExtended capabilities for an onboard navigation system\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`sendLocationEnabled`|Boolean|False|If the module has the ability to add locations to the onboard nav|\n|`getWayPointsEnabled`|Boolean|False|If the module has the ability to return way points from onboard nav|\n\n\n### PhoneCapability\nExtended capabilities of the module's phone feature\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`dialNumberEnabled`|Boolean|False|If the module has the ability to perform dial number|\n\n\n### VideoStreamingFormat\nVideo streaming formats and their specifications.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`protocol`|VideoStreamingProtocol|True|Protocol type, see VideoStreamingProtocol|\n|`codec`|VideoStreamingCodec|True|Codec type, see VideoStreamingCodec|\n\n\n### VideoStreamingCapability\nContains information about this system's video streaming capabilities.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`preferredResolution`|ImageResolution|False|The preferred resolution of a video stream for decoding and rendering on HMI.|\n|`maxBitrate`|Integer|False|The maximum bitrate of video stream that is supported, in kbps.|\n|`supportedFormats`|VideoStreamingFormat[]|False|Detailed information on each format supported by this system, in its preferred order (i.e. the first element in the array is most preferable to the system). Each object will contain a VideoStreamingFormat that describes what can be expected.|\n|`hapticSpatialDataSupported`|Boolean|False|True if the system can utilize the haptic spatial data from the source being streamed. If not included, it can be assumed the module doesn't support haptic spatial data'.|\n|`diagonalScreenSize`|Float|False|The diagonal screen size in inches.|\n|`pixelPerInch`|Float|False|PPI is the diagonal resolution in pixels divided by the diagonal screen size in inches.|\n|`scale`|Float|False|The scaling factor the app should use to change the size of the projecting view.|\n|`preferredFPS`|Integer|False|The preferred frame rate per second of the head unit. The mobile application / app library may take other factors into account that constrain the frame rate lower than this value, but it should not perform streaming at a higher frame rate than this value.|\n|`additionalVideoStreamingCapabilities`|VideoStreamingCapability[]|False||\n\n\n### DriverDistractionCapability\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`menuLength`|Integer|False|The number of items allowed in a Choice Set or Command menu while the driver is distracted|\n|`subMenuDepth`|Integer|False|The depth of submenus allowed when the driver is distracted. e.g. 3 == top level menu -\u003e submenu -\u003e submenu; 1 == top level menu only|\n\n\n### RGBColor\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`red`|Integer|True||\n|`green`|Integer|True||\n|`blue`|Integer|True||\n\n\n### TemplateColorScheme\nA color scheme for all display layout templates.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`primaryColor`|RGBColor|False|The primary \"accent\" color|\n|`secondaryColor`|RGBColor|False|The secondary \"accent\" color|\n|`backgroundColor`|RGBColor|False|The color of the background|\n\n\n### TemplateConfiguration\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`template`|String|True|Predefined or dynamically created window template. Currently only predefined window template layouts are defined.|\n|`dayColorScheme`|TemplateColorScheme|False||\n|`nightColorScheme`|TemplateColorScheme|False||\n\n\n### SeatLocation\nDescribes the location of a seat.\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`grid`|Grid|False||\n\n\n### SeatLocationCapability\nContains information about the locations of each seat\n\n##### Parameters\n\n| Value |  Type | Mandatory | Description | \n| ---------- | ---------- |:-----------: |:-----------:|\n|`rows`|Integer|False||\n|`columns`|Integer|False||\n|`level","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartdevicelink%2Frpc_spec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartdevicelink%2Frpc_spec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartdevicelink%2Frpc_spec/lists"}