-
Notifications
You must be signed in to change notification settings - Fork 1
/
fleet-telemetry
293 lines (293 loc) · 32.4 KB
/
fleet-telemetry
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<meta name="generator" content="Gatsby 5.13.6">
<style data-href="/docs/styles.02dd63542abd30899552.css" data-identity="gatsby-global-css">
.center{margin-left:auto;margin-right:auto}.nav-header{padding-bottom:8px}.horizontal-padding{padding:0 48px}table{width:100%}td{vertical-align:baseline}th{text-align:left}.back-to-top{inset:auto var(--tds-size--3x) var(--tds-size--3x) auto;opacity:0;pointer-events:none;position:fixed;transition:.33s ease}.back-to-top.show{opacity:1;pointer-events:inherit}@media (--tds-desktop-up){.back-to-top{inset:auto var(--tds-size--6x) var(--tds-size--6x) auto}}.show-on-hover-wrapper{display:inline}.tds-card-body{max-width:100%}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{background:inherit!important}.header-search{display:flex;justify-content:flex-end;margin-inline-end:var(--tds-size--half);max-width:100%;width:260px}.header-search .tds-tooltip-wrapper{justify-content:end}.aside{height:100vh;max-width:400px;overflow-y:auto;padding:16px;width:100%}:is(ul,ol,p) code{border:0;padding:0 .414em}.divider{padding:var(--tds-size--3x) 0}.divider .divider-element{align-self:stretch;background:var(--tds-color-grey-70);height:1px}.tds-mobile-nav-item{padding:16px 12px!important}.tds-modal-header{align-items:center!important}.tds-site-nav-items.tds-align--end{padding-right:var(--tds-size--6x)!important}@media (max-width:599px){.tds--hideon-phone-only{display:none!important}}@media (max-width:600px) and (max-width:899px){.tds--showon-tablet-portrait-only{display:none!important}}@media (max-width:600px){.tds--showon-tablet-portrait-up{display:none!important}}@media (max-width:900px) and (max-width:1199px){.tds--showon-tablet-landscape-only{display:none!important}}@media (max-width:900px){.tds--showon-tablet-landscape-up{display:none!important}}@media (max-width:1200px) and (max-width:1799px){.tds--showon-desktop-only{display:none!important}}@media (max-width:1200px){.tds--showon-desktop-up{display:none!important}}@media (max-width:1800px){.tds--showon-desktop-large-up{display:none!important}}@media (max-width:1200px){.tds-page-layout--content-level-aside{grid-template-areas:"title title title title title title title title title title title title" "open open open open open open open open open open open open" "main main main main main main main main main main main main"!important}}.parameter{margin-bottom:16px}.parameter-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.parameter-chips{display:flex}.parameter-chips span:not(:first-child){margin-left:8px}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:0 0;color:#000;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;hyphens:none;line-height:1.5;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#b3d4fc;text-shadow:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{background:hsla(0,0%,100%,.5);color:#9a6e3a}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
</style>
<link rel="stylesheet" data-testid="tds-css" href="https://digitalassets.tesla.com/tesla-design-system/raw/upload/design-system/9.2.0/index.css" data-gatsby-head="true">
<link rel="icon" type="image/x-icon" href="/docs/favicon.ico" data-gatsby-head="true">
<title data-gatsby-head="true">Fleet Telemetry | Tesla Fleet API</title>
</head>
<body>
<div id="___gatsby">
<link rel="stylesheet" data-testid="tds-css" href="https://digitalassets.tesla.com/tesla-design-system/raw/upload/design-system/9.2.0/index.css">
<div style="outline:0" tabindex="-1" id="gatsby-focus-wrapper">
<header class="tds-site-header" id="tds-site-header">
<div class="tds-animate--backdrop-backdrop"></div>
<h1 class="tds-site-logo tds-align--start"><a aria-label="Tesla Logo" class="tds-site-logo-link" href="/"><svg class="tds-icon tds-icon-logo-wordmark tds-site-logo-icon" viewbox="0 0 342 35" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M0 .1a9.7 9.7 0 0 0 7 7h11l.5.1v27.6h6.8V7.3L26 7h11a9.8 9.8 0 0 0 7-7H0zm238.6 0h-6.8v34.8H263a9.7 9.7 0 0 0 6-6.8h-30.3V0zm-52.3 6.8c3.6-1 6.6-3.8 7.4-6.9l-38.1.1v20.6h31.1v7.2h-24.4a13.6 13.6 0 0 0-8.7 7h39.9v-21h-31.2v-7zm116.2 28h6.7v-14h24.6v14h6.7v-21h-38zM85.3 7h26a9.6 9.6 0 0 0 7.1-7H78.3a9.6 9.6 0 0 0 7 7m0 13.8h26a9.6 9.6 0 0 0 7.1-7H78.3a9.6 9.6 0 0 0 7 7m0 14.1h26a9.6 9.6 0 0 0 7.1-7H78.3a9.6 9.6 0 0 0 7 7M308.5 7h26a9.6 9.6 0 0 0 7-7h-40a9.6 9.6 0 0 0 7 7"></path>
</svg></a><a class="tds-app-title"><span class="tds-app-title-text">Developer</span></a><a class="tds-skip-to-content tds--is_visually_hidden" href="#main-content" id="top-of-page">Skip to main content</a></h1>
<ol class="tds-site-nav-items tds-align--center tds--showon-desktop-up">
<li><a id="nav-fleet-api" href="/docs/fleet-api/getting-started/what-is-fleet-api" class="tds-site-nav-item tds--highlighted tds-animate--backdrop">Fleet API</a></li>
<li><a id="nav-charging" href="/docs/charging/roaming" class="tds-site-nav-item tds-animate--backdrop">Charging</a></li>
</ol>
<ol class="tds-site-nav-items tds-align--end tds--showon-desktop-up">
<li>
<div class="header-search">
<div class="header-search-inner">
<div class="tds-tooltip-wrapper">
<div class="tds-form-input tds-form-input--default tds-form-input--collapsed">
<div class="tds-form-input-leading"><svg class="tds-icon tds-icon-search" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="m20.267 19.207-4.818-4.818A6.97 6.97 0 0 0 17 10a7 7 0 1 0-7 7 6.97 6.97 0 0 0 4.389-1.55l4.818 4.817a.75.75 0 0 0 1.06 0 .75.75 0 0 0 0-1.06M4.5 10c0-3.033 2.467-5.5 5.5-5.5s5.5 2.467 5.5 5.5-2.467 5.5-5.5 5.5-5.5-2.467-5.5-5.5"></path>
</svg></div>
<input aria-expanded="false" autocomplete="off" role="combobox" class="tds-form-input-search" id="search" type="search" placeholder="Search">
<div class="tds-form-input-trailing tds-form-input-search-clear"><button class="tds-icon-btn tds-icon-btn--medium" type="button" tabindex="-1"><svg class="tds-icon tds-icon-close-small tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M12.243 11.182a.75.75 0 1 1-1.06 1.06L8 9.062l-3.182 3.182a.75.75 0 0 1-1.06 0 .75.75 0 0 1 0-1.06L6.938 8 3.757 4.818a.75.75 0 1 1 1.06-1.06L8 6.938l3.182-3.182a.75.75 0 1 1 1.06 1.06L9.062 8z"></path>
</svg></button></div>
</div>
<div class="tds-tooltip tds-tooltip--orientation-down tds-tooltip--width-full tds-tooltip--closed tds-dropdown" role="tooltip">
<ul aria-label="Select an option" aria-multiselectable="false" class="tds-listbox" id="search-listbox" role="listbox" tabindex="0"></ul>
</div>
</div>
</div>
</div>
</li>
<li><a href="/dashboard"><button class="tds-icon-btn" type="button"><svg class="tds-icon tds-icon-person" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2M6.858 18.752c.605-1.868 2.722-3.24 5.142-3.24s4.537 1.372 5.142 3.24C15.712 19.844 13.933 20.5 12 20.5s-3.712-.656-5.142-1.748m11.469-1.095c-1.02-2.165-3.483-3.645-6.327-3.645s-5.307 1.48-6.327 3.645A8.46 8.46 0 0 1 3.5 12c0-4.687 3.813-8.5 8.5-8.5s8.5 3.813 8.5 8.5a8.46 8.46 0 0 1-2.173 5.657M12 6a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7m0 5.5c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2"></path>
</svg></button></a></li>
</ol>
<ol class="tds-site-nav-items tds-align--end tds--hideon-desktop-up">
<li><button type="button" class="tds-site-nav-item tds--highlighted">Menu</button></li>
</ol>
</header>
<div class="tds--hideon-desktop-up">
<dialog aria-hidden="true" class="tds-modal tds-modal--sheet-right tds-site-header-modal tds-modal--sheet-small tds-scrim--white">
<div class="tds-modal-header"><button aria-label="Close Modal" class="tds-modal-close" type="button"><svg class="tds-icon tds-icon-close tds-modal-close-icon" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M18.53 17.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06 0 .75.75 0 0 1 0-1.06L10.94 12 5.47 6.53a.75.75 0 1 1 1.06-1.06L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12z"></path>
</svg></button></div>
<section class="tds-modal-content">
<ol class="tds-site-nav-items tds-site-nav-items--vertical">
<li><button type="button" class="tds-site-nav-item tds-mobile-nav-item"><span>Getting Started</span><svg class="tds-icon tds-icon-chevron-small-90 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M4.975 2.75a.748.748 0 0 1 1.281-.53l5.25 5.264a.75.75 0 0 1 0 1.06L6.283 13.78a.75.75 0 1 1-1.062-1.06l4.695-4.706L5.194 3.28a.75.75 0 0 1-.219-.53"></path>
</svg></button></li>
<li><button type="button" class="tds-site-nav-item tds-mobile-nav-item"><span>Authentication</span><svg class="tds-icon tds-icon-chevron-small-90 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M4.975 2.75a.748.748 0 0 1 1.281-.53l5.25 5.264a.75.75 0 0 1 0 1.06L6.283 13.78a.75.75 0 1 1-1.062-1.06l4.695-4.706L5.194 3.28a.75.75 0 0 1-.219-.53"></path>
</svg></button></li>
<li><button type="button" class="tds-site-nav-item tds-mobile-nav-item"><span>Endpoints</span><svg class="tds-icon tds-icon-chevron-small-90 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M4.975 2.75a.748.748 0 0 1 1.281-.53l5.25 5.264a.75.75 0 0 1 0 1.06L6.283 13.78a.75.75 0 1 1-1.062-1.06l4.695-4.706L5.194 3.28a.75.75 0 0 1-.219-.53"></path>
</svg></button></li>
<li><a href="/docs/fleet-api/fleet-telemetry" class="tds-site-nav-item tds-mobile-nav-item">Fleet Telemetry</a></li>
<li><button type="button" class="tds-site-nav-item tds-mobile-nav-item"><span>Support</span><svg class="tds-icon tds-icon-chevron-small-90 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M4.975 2.75a.748.748 0 0 1 1.281-.53l5.25 5.264a.75.75 0 0 1 0 1.06L6.283 13.78a.75.75 0 1 1-1.062-1.06l4.695-4.706L5.194 3.28a.75.75 0 0 1-.219-.53"></path>
</svg></button></li>
<li><a href="/teslaaccount" class="tds-site-nav-item tds-mobile-nav-item"><span class="tds-site-nav-item-leading"><svg class="tds-icon tds-icon-person" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2M6.858 18.752c.605-1.868 2.722-3.24 5.142-3.24s4.537 1.372 5.142 3.24C15.712 19.844 13.933 20.5 12 20.5s-3.712-.656-5.142-1.748m11.469-1.095c-1.02-2.165-3.483-3.645-6.327-3.645s-5.307 1.48-6.327 3.645A8.46 8.46 0 0 1 3.5 12c0-4.687 3.813-8.5 8.5-8.5s8.5 3.813 8.5 8.5a8.46 8.46 0 0 1-2.173 5.657M12 6a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7m0 5.5c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2"></path>
</svg><span>Sign In</span></span></a></li>
</ol>
</section>
</dialog>
<div class="tds-modal-backdrop"></div>
</div>
<div class="tds-page-layout tds-page-layout--content-level-aside tds-page-layout--narrow-main">
<main class="tds-page-main" style="padding:16px;width:100%;max-width:800px;margin-left:auto;margin-right:auto">
<h1>Fleet Telemetry</h1>
<p>Fleet Telemetry allows vehicles to stream data directly to a server, eliminating the need to poll the <a class="tds-link" href="/docs/fleet-api/endpoints/vehicle-endpoints#vehicle-data">vehicle_data</a> endpoint. This prevents unnecessary vehicle wakes and battery drain.</p>
<p>While online, vehicles stream telemetry via an mTLS Web Socket connection to a server hosted by the partner application. This is the preferred method for accessing vehicle data.</p>
<div style="display:flex;justify-content:space-between;align-items:flex-end" class="show-on-hover-wrapper">
<h2 id="server-setup">Server Setup</h2>
<div class="show-on-hover"><button class="tds-icon-btn header-link" type="button"><svg class="tds-icon tds-icon-link" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M22.013 12c0 2.757-2.243 5-5 5h-3.276a.75.75 0 0 1 0-1.5h3.276c1.93 0 3.5-1.57 3.5-3.5s-1.57-3.5-3.5-3.5h-3.276a.75.75 0 0 1 0-1.5h3.276c2.757 0 5 2.243 5 5m-11.75 3.5H6.987c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5h3.276a.75.75 0 0 0 0-1.5H6.987c-2.757 0-5 2.243-5 5s2.243 5 5 5h3.276a.75.75 0 0 0 0-1.5M6.993 12c0 .414.336.75.75.75h8.5a.75.75 0 0 0 0-1.5h-8.5a.75.75 0 0 0-.75.75"></path>
</svg></button></div>
</div>
<p>The fleet-telemetry server must be running on a server exposed to the public internet. The <a class="tds-link" href="https://github.com/teslamotors/fleet-telemetry" target="_blank">GitHub repository</a> has source code and examples of running the server.</p>
<div style="display:flex;justify-content:space-between;align-items:flex-end" class="show-on-hover-wrapper">
<h2 id="vehicle-setup">Vehicle Setup</h2>
<div class="show-on-hover"><button class="tds-icon-btn header-link" type="button"><svg class="tds-icon tds-icon-link" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M22.013 12c0 2.757-2.243 5-5 5h-3.276a.75.75 0 0 1 0-1.5h3.276c1.93 0 3.5-1.57 3.5-3.5s-1.57-3.5-3.5-3.5h-3.276a.75.75 0 0 1 0-1.5h3.276c2.757 0 5 2.243 5 5m-11.75 3.5H6.987c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5h3.276a.75.75 0 0 0 0-1.5H6.987c-2.757 0-5 2.243-5 5s2.243 5 5 5h3.276a.75.75 0 0 0 0-1.5M6.993 12c0 .414.336.75.75.75h8.5a.75.75 0 0 0 0-1.5h-8.5a.75.75 0 0 0-.75.75"></path>
</svg></button></div>
</div>
<p>To configure a vehicle, confirm all pre-requisites are met. Then, send a <a class="tds-link" href="/docs/fleet-api/endpoints/vehicle-endpoints#fleet-telemetry-config-create">configure Fleet Telemetry</a> request through the <a class="tds-link" href="https://github.com/teslamotors/vehicle-command" target="_blank">vehicle-command</a> HTTP proxy. The proxy will sign the configuration using the configured private key and forward the request to Fleet API.</p>
<div style="display:flex;justify-content:space-between;align-items:flex-end" class="show-on-hover-wrapper">
<h3 id="prerequisites">Prerequisites</h3>
<div class="show-on-hover"><button class="tds-icon-btn header-link" type="button"><svg class="tds-icon tds-icon-link" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M22.013 12c0 2.757-2.243 5-5 5h-3.276a.75.75 0 0 1 0-1.5h3.276c1.93 0 3.5-1.57 3.5-3.5s-1.57-3.5-3.5-3.5h-3.276a.75.75 0 0 1 0-1.5h3.276c2.757 0 5 2.243 5 5m-11.75 3.5H6.987c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5h3.276a.75.75 0 0 0 0-1.5H6.987c-2.757 0-5 2.243-5 5s2.243 5 5 5h3.276a.75.75 0 0 0 0-1.5M6.993 12c0 .414.336.75.75.75h8.5a.75.75 0 0 0 0-1.5h-8.5a.75.75 0 0 0-.75.75"></path>
</svg></button></div>
</div>
<p>For a vehicle to be able to stream data, a few conditions must be met:</p>
<ul class="tds-list tds-list--unordered">
<li>The vehicle must not be a pre-2021 Model S or Model X.</li>
<li>Vehicles must be running firmware version 2024.26 or later.
<ul class="tds-list tds-list--unordered">
<li>Applications configured with the legacy certificate signing process require 2023.20.6 or later.</li>
</ul>
</li>
<li>The Fleet Key is paired with the vehicle.</li>
</ul>
<h4>Pairing a Key</h4>
<p>To pair a key to the vehicle, direct the user to:</p>
<pre><code>https://tesla.com/_ak/developer-domain.com
</code></pre>
<p>This will allow the user to add the key to their vehicle through the Tesla mobile app.</p>
<p><strong>Troubleshooting:</strong></p>
<ul class="tds-list tds-list--unordered">
<li>If receiving a message stating the user has not granted this third party app access, ensure the user is logged into the Tesla app with the same email used when authorizing the third party application.</li>
<li>If receiving a message stating the application has not registered with Tesla, ensure the <a class="tds-link" href="/docs/fleet-api/endpoints/partner-endpoints#register">register endpoint</a> has been called for the region the user is located in.</li>
</ul>
<div style="display:flex;justify-content:space-between;align-items:flex-end" class="show-on-hover-wrapper">
<h3 id="send-configuration">Send Configuration</h3>
<div class="show-on-hover"><button class="tds-icon-btn header-link" type="button"><svg class="tds-icon tds-icon-link" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M22.013 12c0 2.757-2.243 5-5 5h-3.276a.75.75 0 0 1 0-1.5h3.276c1.93 0 3.5-1.57 3.5-3.5s-1.57-3.5-3.5-3.5h-3.276a.75.75 0 0 1 0-1.5h3.276c2.757 0 5 2.243 5 5m-11.75 3.5H6.987c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5h3.276a.75.75 0 0 0 0-1.5H6.987c-2.757 0-5 2.243-5 5s2.243 5 5 5h3.276a.75.75 0 0 0 0-1.5M6.993 12c0 .414.336.75.75.75h8.5a.75.75 0 0 0 0-1.5h-8.5a.75.75 0 0 0-.75.75"></path>
</svg></button></div>
</div>
<p>Once all pre-requisites are met, use the <a class="tds-link" href="/docs/fleet-api/endpoints/vehicle-endpoints#fleet-telemetry-config-create">Fleet Telemetry configure</a> endpoint to send the desired configuration to the vehicle.</p>
<a target="_blank" rel="noreferrer noopener" class="tds-btn tds-btn--secondary" style="margin-top:16px" href="/docs/fleet-api/endpoints/vehicle-endpoints#fleet-telemetry-config-create">Configure Vehicle Endpoint</a>
<div style="display:flex;justify-content:space-between;align-items:flex-end" class="show-on-hover-wrapper">
<h2 id="available-fields">Available Fields</h2>
<div class="show-on-hover"><button class="tds-icon-btn header-link" type="button"><svg class="tds-icon tds-icon-link" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M22.013 12c0 2.757-2.243 5-5 5h-3.276a.75.75 0 0 1 0-1.5h3.276c1.93 0 3.5-1.57 3.5-3.5s-1.57-3.5-3.5-3.5h-3.276a.75.75 0 0 1 0-1.5h3.276c2.757 0 5 2.243 5 5m-11.75 3.5H6.987c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5h3.276a.75.75 0 0 0 0-1.5H6.987c-2.757 0-5 2.243-5 5s2.243 5 5 5h3.276a.75.75 0 0 0 0-1.5M6.993 12c0 .414.336.75.75.75h8.5a.75.75 0 0 0 0-1.5h-8.5a.75.75 0 0 0-.75.75"></path>
</svg></button></div>
</div>
<p>A full list of fields are available in the open source repository's <a class="tds-link" href="https://github.com/teslamotors/fleet-telemetry/blob/main/protos/vehicle_data.proto" target="_blank">vehicle_data.proto</a> file.</p>
<p>Any configuration sent to a vehicle must meet the requirements defined for the user's plan.</p>
<p>When validating a configuration, the field's category is considered. The categories are:</p>
<ul class="tds-list tds-list--unordered">
<li>Driving
<ul class="tds-list tds-list--unordered">
<li>VehicleSpeed</li>
<li>Odometer</li>
<li>Location</li>
<li>GpsState</li>
<li>GpsHeading</li>
<li>PedalPosition</li>
<li>BrakePedal</li>
<li>BrakePedalPos</li>
<li>Gear</li>
<li>LateralAcceleration</li>
<li>LongitudinalAcceleration</li>
</ul>
</li>
<li>Charging
<ul class="tds-list tds-list--unordered">
<li>TimeToFullCharge</li>
<li>ChargeAmps</li>
<li>ChargerPhases</li>
<li>ChargeState</li>
<li>BmsFullchargecomplete</li>
<li>DCChargingEnergyIn</li>
<li>ACChargingEnergyIn</li>
<li>DCChargingPower</li>
<li>ACChargingPower</li>
</ul>
</li>
<li>Default (any field not defined above)</li>
</ul>
</main>
<div class="back-to-top">
<div class="tds-tooltip-wrapper tds-tooltip-wrapper--inline"><button aria-label="Back to Top" class="tds-icon-btn tds--highlighted" type="button" tabindex="-1"><svg class="tds-icon tds-icon-arrow-small-0 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M12.78 7.53a.747.747 0 0 1-1.06 0L8.747 4.56l.003 8.69a.75.75 0 0 1-1.5 0l-.003-8.69L4.28 7.523a.75.75 0 1 1-1.06-1.06L7.467 2.22a.75.75 0 0 1 1.06 0l4.253 4.25a.75.75 0 0 1 0 1.06"></path>
</svg></button>
<div class="tds-tooltip tds-density--dense tds-tooltip--closed" role="tooltip">Back to Top</div>
</div>
</div>
<aside class="tds-page-aside tds--showon-desktop-up content--end-space" style="min-width:200px">
<div class="tds-sticky--top aside">
<nav class="tds-sidenav">
<ol class="tds-site-nav-items tds-site-nav-items--vertical">
<li><button type="button" class="tds-site-nav-item"><span>Getting Started</span><svg class="tds-icon tds-icon-chevron-small-180 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M13.25 4.975a.748.748 0 0 1 .53 1.281l-5.264 5.25a.75.75 0 0 1-1.06 0L2.22 6.283a.75.75 0 1 1 1.06-1.062l4.706 4.695 4.734-4.722a.75.75 0 0 1 .53-.219"></path>
</svg></button>
<div class="tds-sidenav-group">
<ol class="tds-site-nav-items tds-site-nav-items--vertical">
<li><a href="/docs/fleet-api/getting-started/what-is-fleet-api" class="tds-site-nav-item">What is Fleet API?</a></li>
<li><a href="/docs/fleet-api/getting-started/base-urls" class="tds-site-nav-item">Base URLs by Region</a></li>
<li><a href="/docs/fleet-api/getting-started/subscription-plans" class="tds-site-nav-item">Subscription Plans</a></li>
<li><a href="/docs/fleet-api/getting-started/best-practices" class="tds-site-nav-item">Best Practices</a></li>
<li><a href="/docs/fleet-api/getting-started/conventions" class="tds-site-nav-item">Conventions</a></li>
<li><a href="/docs/fleet-api/getting-started/legal" class="tds-site-nav-item">Legal</a></li>
</ol>
</div>
</li>
<li><button type="button" class="tds-site-nav-item"><span>Authentication</span><svg class="tds-icon tds-icon-chevron-small-180 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M13.25 4.975a.748.748 0 0 1 .53 1.281l-5.264 5.25a.75.75 0 0 1-1.06 0L2.22 6.283a.75.75 0 1 1 1.06-1.062l4.706 4.695 4.734-4.722a.75.75 0 0 1 .53-.219"></path>
</svg></button>
<div class="tds-sidenav-group">
<ol class="tds-site-nav-items tds-site-nav-items--vertical">
<li><a href="/docs/fleet-api/authentication/overview" class="tds-site-nav-item">Overview</a></li>
<li><a href="/docs/fleet-api/authentication/partner-tokens" class="tds-site-nav-item">Partner Tokens</a></li>
<li><a href="/docs/fleet-api/authentication/third-party-tokens" class="tds-site-nav-item">Third Party Tokens</a></li>
<li><a href="/docs/fleet-api/authentication/open-source-tokens" class="tds-site-nav-item">Open Source Tokens</a></li>
</ol>
</div>
</li>
<li><button type="button" class="tds-site-nav-item"><span>Endpoints</span><svg class="tds-icon tds-icon-chevron-small-180 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M13.25 4.975a.748.748 0 0 1 .53 1.281l-5.264 5.25a.75.75 0 0 1-1.06 0L2.22 6.283a.75.75 0 1 1 1.06-1.062l4.706 4.695 4.734-4.722a.75.75 0 0 1 .53-.219"></path>
</svg></button>
<div class="tds-sidenav-group">
<ol class="tds-site-nav-items tds-site-nav-items--vertical">
<li><a href="/docs/fleet-api/endpoints/charging-endpoints" class="tds-site-nav-item">Charging Endpoints</a></li>
<li><a href="/docs/fleet-api/endpoints/energy" class="tds-site-nav-item">Energy Endpoints</a></li>
<li><a href="/docs/fleet-api/endpoints/partner-endpoints" class="tds-site-nav-item">Partner Endpoints</a></li>
<li><a href="/docs/fleet-api/endpoints/user-endpoints" class="tds-site-nav-item">User Endpoints</a></li>
<li><a href="/docs/fleet-api/endpoints/vehicle-commands" class="tds-site-nav-item">Vehicle Commands</a></li>
<li><a href="/docs/fleet-api/endpoints/vehicle-endpoints" class="tds-site-nav-item">Vehicle Endpoints</a></li>
</ol>
</div>
</li>
<li><a href="/docs/fleet-api/fleet-telemetry" class="tds-site-nav-item tds--highlighted">Fleet Telemetry</a></li>
<li><button type="button" class="tds-site-nav-item"><span>Support</span><svg class="tds-icon tds-icon-chevron-small-180 tds-icon--small" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M13.25 4.975a.748.748 0 0 1 .53 1.281l-5.264 5.25a.75.75 0 0 1-1.06 0L2.22 6.283a.75.75 0 1 1 1.06-1.062l4.706 4.695 4.734-4.722a.75.75 0 0 1 .53-.219"></path>
</svg></button>
<div class="tds-sidenav-group">
<ol class="tds-site-nav-items tds-site-nav-items--vertical">
<li><a href="/docs/fleet-api/support/faq" class="tds-site-nav-item">Frequently Asked Questions</a></li>
<li><a href="/docs/fleet-api/support/announcements" class="tds-site-nav-item">Announcements</a></li>
<li><a href="/docs/fleet-api/support/contact" class="tds-site-nav-item">Contact Us</a></li>
</ol>
</div>
</li>
</ol>
</nav>
</div>
</aside>
<aside class="tds-page-open tds--showon-desktop-up">
<div class="tds-sticky--top aside">
<div>
<h6 class="nav-header">On this page</h6>
<nav class="tds-sidenav tds-density--dense">
<ol class="tds-site-nav-items tds-site-nav-items--vertical">
<li><a href="#server-setup" class="tds-site-nav-item">Server Setup</a></li>
<li><a href="#vehicle-setup" class="tds-site-nav-item">Vehicle Setup</a>
<div class="tds-sidenav-group tds-sidenav-group--always-expanded">
<ol class="tds-site-nav-items tds-site-nav-items--vertical">
<li><a href="#prerequisites" class="tds-site-nav-item">Prerequisites</a></li>
<li><a href="#send-configuration" class="tds-site-nav-item">Send Configuration</a></li>
</ol>
</div>
</li>
<li><a href="#available-fields" class="tds-site-nav-item">Available Fields</a></li>
</ol>
</nav>
</div>
</div>
</aside>
</div>
<footer class="tds-site-footer">
<nav class="tds-footer-nav">
<ul class="tds-list tds-list--horizontal">
<li class="tds-footer-item">Tesla © 2024</li>
<li class="tds-footer-item"><a class="tds-link tds-link--secondary" href="https://www.tesla.com/privacy">Privacy & Legal</a></li>
</ul>
</nav>
</footer>
</div>
<div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div>
</div>
<script id="gatsby-script-loader">
window.pagePath="/fleet-api/fleet-telemetry"
</script>
<script id="gatsby-chunk-mapping">
window.___chunkMapping='{"app":["/app-e5cff9082c00ddacd9a4.js"],"component---src-pages-404-tsx":["/component---src-pages-404-tsx-96c3cb6ce7cc17de9c7d.js"],"component---src-pages-charging-public-key-infrastructure-tsx":["/component---src-pages-charging-public-key-infrastructure-tsx-0eb0bc45160ed3c90ed9.js"],"component---src-pages-fleet-api-index-tsx":["/component---src-pages-fleet-api-index-tsx-f220d7978b2855bae58f.js"],"component---src-pages-index-tsx":["/component---src-pages-index-tsx-56f83cc043d34363de65.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-index-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-index-mdx-2e2f36ece28a69fc49e7.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-open-source-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-open-source-mdx-9e800adb357e7931f01e.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-overview-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-overview-mdx-7683309c4d2bcd642e39.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-partner-tokens-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-partner-tokens-mdx-ec1c9cfa7558107a7372.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-third-party-tokens-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-authentication-third-party-tokens-mdx-29cdb0c7e410a1885a38.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-charging-endpoints-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-charging-endpoints-mdx-ddecb15c9a4dfb2cf2af.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-energy-endpoints-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-energy-endpoints-mdx-0e67bf64e3506ea17a04.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-partner-endpoints-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-partner-endpoints-mdx-7f420269fbe1a2f635e3.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-user-endpoints-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-user-endpoints-mdx-ff90cab50ce903bb8ecc.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-vehicle-command-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-vehicle-command-mdx-ca34a49d8e28f5369104.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-vehicle-endpoints-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-endpoints-vehicle-endpoints-mdx-9b6dcfeddd4e2f14084c.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-fleet-telemetry-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-fleet-telemetry-mdx-764b3cd5bc94b8349dde.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-base-urls-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-base-urls-mdx-025fdfd897d5d44c7208.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-best-practices-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-best-practices-mdx-3866227c3f5a3408e848.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-conventions-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-conventions-mdx-416f69dbf1ba37f93242.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-legal-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-legal-mdx-53f969a3899779bbe6d8.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-subscription-plans-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-subscription-plans-mdx-2a9a9c01b0aa2aedabc6.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-what-is-fleet-api-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-getting-started-what-is-fleet-api-mdx-a0f506c089c20f75f6c2.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-support-announcements-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-support-announcements-mdx-4ec5e769fee1ba4fad46.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-support-contact-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-support-contact-mdx-dbc5461bc1198dc92752.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-support-faq-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-support-faq-mdx-dce1d85bb485d5ba5d3b.js"],"component---src-templates-generic-page-tsx-content-file-path-content-docs-en-support-index-mdx":["/component---src-templates-generic-page-tsx-content-file-path-content-docs-en-support-index-mdx-d4baa284a79c7a867562.js"]}'
</script>
<script>
window.___webpackCompilationHash="eba130affedddc6fa006"
</script>
<script src="/docs/webpack-runtime-1ac22e5f721bf07dad2c.js" async></script>
<script src="/docs/framework-6f9cb054dc04931f7070.js" async></script>
<script src="/docs/app-e5cff9082c00ddacd9a4.js" async></script>
</body>
</html>