curl --request GET \
--url https://vehicle.api.smartcar.com/v3/connections \
--header 'Authorization: Bearer <token>'import requests
url = "https://vehicle.api.smartcar.com/v3/connections"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://vehicle.api.smartcar.com/v3/connections', 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/connections",
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>"
],
]);
$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/connections"
req, _ := http.NewRequest("GET", url, nil)
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/connections")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://vehicle.api.smartcar.com/v3/connections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"type": "connection",
"attributes": {
"permissions": [
"read_vehicle_info",
"read_odometer"
],
"vehicle": {
"make": "Tesla",
"model": "Model S",
"year": 2020,
"mode": "live",
"powertrainType": "BEV"
},
"user": {
"id": "1e258add-fb21-4293-b9ab-cf8a61f7a880",
"externalId": "user-external-id-123"
},
"status": {
"name": "ACTIVE"
}
},
"relationships": {
"vehicle": {
"data": {
"id": "<string>",
"type": "vehicle"
},
"links": {
"related": "<string>"
}
},
"user": {
"data": {
"id": "<string>",
"type": "user"
},
"links": {
"related": "<string>"
}
}
},
"meta": {
"createdAt": "2023-10-01T20:00:00Z",
"updatedAt": "2023-10-01T20:00:00Z"
},
"links": {
"self": "<string>"
}
}
],
"meta": {
"pageNumber": 1,
"pageSize": 10,
"totalCount": 50,
"orderBy": "createdAt",
"orderDirection": "DESC"
},
"links": {
"self": "/connections?page[number]=1&page[size]=10",
"first": "/connections?page[number]=1&page[size]=10",
"prev": null,
"next": "/connections?page[number]=2&page[size]=10",
"last": "/connections?page[number]=5&page[size]=10"
}
}{
"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"
}
}
]
}List connections
Get all vehicle connections for the application, with optional filters for user ID, vehicle ID, mode, user external ID, and connection status. Results are paginated.
curl --request GET \
--url https://vehicle.api.smartcar.com/v3/connections \
--header 'Authorization: Bearer <token>'import requests
url = "https://vehicle.api.smartcar.com/v3/connections"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://vehicle.api.smartcar.com/v3/connections', 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/connections",
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>"
],
]);
$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/connections"
req, _ := http.NewRequest("GET", url, nil)
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/connections")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://vehicle.api.smartcar.com/v3/connections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"type": "connection",
"attributes": {
"permissions": [
"read_vehicle_info",
"read_odometer"
],
"vehicle": {
"make": "Tesla",
"model": "Model S",
"year": 2020,
"mode": "live",
"powertrainType": "BEV"
},
"user": {
"id": "1e258add-fb21-4293-b9ab-cf8a61f7a880",
"externalId": "user-external-id-123"
},
"status": {
"name": "ACTIVE"
}
},
"relationships": {
"vehicle": {
"data": {
"id": "<string>",
"type": "vehicle"
},
"links": {
"related": "<string>"
}
},
"user": {
"data": {
"id": "<string>",
"type": "user"
},
"links": {
"related": "<string>"
}
}
},
"meta": {
"createdAt": "2023-10-01T20:00:00Z",
"updatedAt": "2023-10-01T20:00:00Z"
},
"links": {
"self": "<string>"
}
}
],
"meta": {
"pageNumber": 1,
"pageSize": 10,
"totalCount": 50,
"orderBy": "createdAt",
"orderDirection": "DESC"
},
"links": {
"self": "/connections?page[number]=1&page[size]=10",
"first": "/connections?page[number]=1&page[size]=10",
"prev": null,
"next": "/connections?page[number]=2&page[size]=10",
"last": "/connections?page[number]=5&page[size]=10"
}
}{
"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}
Query Parameters
Filter by user id in relationships
Filter by vehicle id in relationships
Filter by mode (live or simulated)
live, simulated Filter by user external ID
Filter by connection status name ACTIVE: the connection is healthy. DEGRADED: repeated authentication failures with the OEM. Requests are still attempted, and polling may be reduced. DISABLED: Smartcar has stopped calling the OEM for this connection. The vehicle owner must reconnect, or fix the issue with the OEM, to recover.
ACTIVE, DEGRADED, DISABLED Page number for pagination (default is 1)
Number of items per page for pagination (default is 10)
Response
Get all vehicle connections for the application
Show child attributes
Show child attributes
Show child attributes
Show child attributes
{
"pageNumber": 1,
"pageSize": 10,
"totalCount": 50,
"orderBy": "createdAt",
"orderDirection": "DESC"
}
Show child attributes
Show child attributes
{
"self": "/connections?page[number]=1&page[size]=10",
"first": "/connections?page[number]=1&page[size]=10",
"prev": null,
"next": "/connections?page[number]=2&page[size]=10",
"last": "/connections?page[number]=5&page[size]=10"
}
Was this page helpful?

