List signals
curl --request GET \
--url https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals \
--header 'Authorization: Bearer <token>' \
--header 'sc-user-id: <sc-user-id>'import requests
url = "https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals"
headers = {
"sc-user-id": "<sc-user-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'sc-user-id': '<sc-user-id>', Authorization: 'Bearer <token>'}
};
fetch('https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"sc-user-id: <sc-user-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("sc-user-id", "<sc-user-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals")
.header("sc-user-id", "<sc-user-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["sc-user-id"] = '<sc-user-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"type": "signal",
"attributes": {
"code": "charge-voltage",
"name": "Voltage",
"group": "Charge",
"status": {
"value": "SUCCESS"
},
"body": {
"unit": "volts",
"value": 85
}
},
"meta": {
"retrievedAt": "2023-10-01T20:00:00Z",
"oemUpdatedAt": "2023-10-01T19:59:59Z",
"ingestedAt": "2023-10-01T20:01:00Z"
},
"links": {
"self": "<string>"
}
}
],
"meta": {
"pageNumber": 1,
"pageSize": 10,
"totalCount": 5
},
"links": {
"self": "/vehicles/vehicle123/signals?page=1&pageSize=10",
"first": "/vehicles/vehicle123/signals?page=1&pageSize=10",
"prev": null,
"next": "/vehicles/vehicle123/signals?page=2&pageSize=10",
"last": "/vehicles/vehicle123/signals?page=5&pageSize=10"
},
"included": {
"vehicle": {
"id": "<string>",
"type": "vehicle",
"attributes": {
"make": "<string>",
"model": "<string>",
"year": 123,
"powertrainType": "<string>",
"mode": "live"
},
"links": {
"self": "<string>"
}
}
}
}{
"errors": [
{
"status": "400",
"type": "VALIDATION",
"code": "BAD_REQUEST",
"title": "Bad Request",
"detail": "The request could not be understood by the server due to malformed syntax.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/validation-errors"
}
}
]
}{
"errors": [
{
"status": "401",
"type": "AUTHENTICATION",
"code": "UNAUTHORIZED",
"title": "Unauthorized",
"detail": "The Authorization token is missing or invalid.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/authentication-errors#authentication"
}
}
]
}{
"errors": [
{
"status": "403",
"type": "AUTHENTICATION",
"code": "FORBIDDEN",
"title": "Forbidden",
"detail": "You do not have permission to access this resource.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/authentication-errors"
}
}
]
}{
"errors": [
{
"status": "404",
"type": "RESOURCE_NOT_FOUND",
"code": "NOT_FOUND",
"title": "Not Found",
"detail": "The requested resource could not be found.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/resource-not-found-errors"
}
}
]
}{
"errors": [
{
"status": "500",
"type": "SERVER",
"code": "INTERNAL",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/server-errors"
}
}
]
}Vehicle Data
List signals
Get list of signals for a vehicle.
GET
/
vehicles
/
{vehicleId}
/
signals
List signals
curl --request GET \
--url https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals \
--header 'Authorization: Bearer <token>' \
--header 'sc-user-id: <sc-user-id>'import requests
url = "https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals"
headers = {
"sc-user-id": "<sc-user-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'sc-user-id': '<sc-user-id>', Authorization: 'Bearer <token>'}
};
fetch('https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"sc-user-id: <sc-user-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("sc-user-id", "<sc-user-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals")
.header("sc-user-id", "<sc-user-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/signals")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["sc-user-id"] = '<sc-user-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"type": "signal",
"attributes": {
"code": "charge-voltage",
"name": "Voltage",
"group": "Charge",
"status": {
"value": "SUCCESS"
},
"body": {
"unit": "volts",
"value": 85
}
},
"meta": {
"retrievedAt": "2023-10-01T20:00:00Z",
"oemUpdatedAt": "2023-10-01T19:59:59Z",
"ingestedAt": "2023-10-01T20:01:00Z"
},
"links": {
"self": "<string>"
}
}
],
"meta": {
"pageNumber": 1,
"pageSize": 10,
"totalCount": 5
},
"links": {
"self": "/vehicles/vehicle123/signals?page=1&pageSize=10",
"first": "/vehicles/vehicle123/signals?page=1&pageSize=10",
"prev": null,
"next": "/vehicles/vehicle123/signals?page=2&pageSize=10",
"last": "/vehicles/vehicle123/signals?page=5&pageSize=10"
},
"included": {
"vehicle": {
"id": "<string>",
"type": "vehicle",
"attributes": {
"make": "<string>",
"model": "<string>",
"year": 123,
"powertrainType": "<string>",
"mode": "live"
},
"links": {
"self": "<string>"
}
}
}
}{
"errors": [
{
"status": "400",
"type": "VALIDATION",
"code": "BAD_REQUEST",
"title": "Bad Request",
"detail": "The request could not be understood by the server due to malformed syntax.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/validation-errors"
}
}
]
}{
"errors": [
{
"status": "401",
"type": "AUTHENTICATION",
"code": "UNAUTHORIZED",
"title": "Unauthorized",
"detail": "The Authorization token is missing or invalid.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/authentication-errors#authentication"
}
}
]
}{
"errors": [
{
"status": "403",
"type": "AUTHENTICATION",
"code": "FORBIDDEN",
"title": "Forbidden",
"detail": "You do not have permission to access this resource.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/authentication-errors"
}
}
]
}{
"errors": [
{
"status": "404",
"type": "RESOURCE_NOT_FOUND",
"code": "NOT_FOUND",
"title": "Not Found",
"detail": "The requested resource could not be found.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/resource-not-found-errors"
}
}
]
}{
"errors": [
{
"status": "500",
"type": "SERVER",
"code": "INTERNAL",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server.",
"links": {
"about": "https://smartcar.com/docs/errors/api-errors/v3/server-errors"
}
}
]
}Authorizations
The Authorization header must be provided with a valid bearer token.
Example: Authorization: Bearer {token}
Headers
The identifier of the vehicle user on whose behalf the command is being executed.
Vehicle commands require both the vehicleId (path) and sc-user-id (header) to
identify the specific vehicle and the user who has granted permission to act on it.
The bearer token is a machine-to-machine token and does not carry per-user context,
so this header must be provided explicitly for every command request.
Path Parameters
The unique identifier for the vehicle.
Response
List of signals for the vehicle
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Example:
{
"pageNumber": 1,
"pageSize": 10,
"totalCount": 5
}
Show child attributes
Show child attributes
Example:
{
"self": "/vehicles/vehicle123/signals?page=1&pageSize=10",
"first": "/vehicles/vehicle123/signals?page=1&pageSize=10",
"prev": null,
"next": "/vehicles/vehicle123/signals?page=2&pageSize=10",
"last": "/vehicles/vehicle123/signals?page=5&pageSize=10"
}
Show child attributes
Show child attributes
Was this page helpful?
⌘I

