WEB API

for end-users

Quickstart - Examples

Info: Stellantis End User API for ex Groupe PSA brands (Citroën, DS, Peugeot, Opel and Vauxhall) is not publicly available yet.

This page is a list of examples of HTTP requests to Stellantis End-Users API for ex Groupe PSA brands (Citroën, DS, Peugeot, Opel and Vauxhall).

These examples will show you how to deal with:

  • Single objects
  • Collections objects
  • GeoJSON
  • Post and Delete verbs HTTP verbs

Get Account Info #

Web API base endpoint /user allow to retrive information about the current End-User account, depending on the Access token in the request..

This endpoint returns a single object.

1
2
3
4
5
6
$ curl \
  --GET \
  --url 'https://api.groupe-psa.com/connectedcar/v4/user' \
  --data 'client_id=<client_id>' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'x-introspect-realm: <realm>' \

Get a List of Vehicles #

The /user/vehicles endpoint allow you to retrieve a list of your vehicles.

This endpoint returns a collection, check-out pagination for more information about indexRange and pageSize.

1
2
3
4
5
6
7
8
$ curl \
  --GET \
  --url 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles' \
  --data 'client_id=<client_id>' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'x-introspect-realm: <realm>' \
  --data 'indexRange=<element_per_page>' \
  --data 'pageSize=<nb_of_pages>' \

Get a Vehicle Position #

The /user/vehicles/{id}/lastPosition endpoint allows to retrieve the last known position of a vehicle.

LastPosition endpoints returns application/vnd.geo+json, check-out HTTP Body format .

1
2
3
4
5
6
$ curl \
  --GET \
  --url 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/{id}/lastPosition' \
  --data 'client_id=<client_id>' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'x-introspect-realm: <realm>' \

Get Alerts of a Vehicle #

The /user/vehicles/{id}/alerts endpoint allows to retrieve a list of alerts for a vehicle.

  • Path parameter {id} is the unique identifier of a vehicle.
  • Query parameter locale will change the language of the alert message.
1
2
3
4
5
6
7
8
9
$ curl \
  --GET \
  --url 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/{id}/alerts' \
  --data 'client_id=<client_id>' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'x-introspect-realm: <realm>' \
  --data 'indexRange=<element_per_page>' \
  --data 'pageSize=<nb_of_pages>' \
  --data 'locale=<language>' \

Post New Monitor #

The /user/vehicles/{id}/monitors endpoint allow you to create a new monitor.

Check-out the dedicated tutorial for information about Monitors

1
2
3
4
5
6
7
$ curl \
  --POST \
  --url 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/{id}/monitors' \
  --data 'client_id=<client_id>' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'x-introspect-realm: <realm>' \
  --data '<check out HTTP body>' \
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
{
   "label":"IDF Zone monitor With Data Triggering:[vehicle.energy.electric.level] OR on Mondays",
   "subscribeParam":{
      "refreshEvent":600,
      "retryPolicy":{
         "policy":"Always",
         "maxRetryNumber":3,
         "retryDelay":120
      },
      "batchNotify":{
         "size":10,
         "timeWindow":300
      },
      "callback":{
         "target":"http://my.dn/monitors/cb1",
         "name":"HTTP_CB",
         "attributes":[
            {
               "type":"Query",
               "key":"vin",
               "value":"$vin"
            },
            {
               "type":"Header",
               "key":"Authorization",
               "value":"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
            }
         ]
      }
   },
   "extendedEventParam":[
      "vehicle.alerts",
      "vehicle.status"
   ],
   "triggerParam":{
      "triggers": [
      {
         "name": "outOfParis",
         "zone": {
            "transition": "Out",
            "circle": {
               "radius": 20,
               "center": {
               "longitude": 2.333333,
               "latitude": 48.866667
               }
            }
         },
         "name": "onMonday",
         "time": {
            "times": [
               {
               "recurrence": "Daily",
               "start": "PT14H30M",
               "occurence": {
                  "day": [
                     "Mon"
                  ]
               },
               "duration": "PT04H30M"
             }
            ],
            "time.zone": "Europe/Paris"
         },
         "name": "batteryIsLow",
         "data": {
          "data": "vehicle.energy.electric.level",
          "op": "lowerThan",
          "value": [
            "50"
            ]
        }
      }
    ],
    "bool.exp": "((outOfParis & (batteryIsLow | onMonday)"
  }
}

Delete a Monitor #

The /user/vehicles/{id}/monitors/{mid} endpoint allow you to retrieve a list of alerts for a vehicle.

Check-out the dedicated tutorial for information about Monitors

1
2
3
4
5
6
$ curl \
  --DELETE \
  --url 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/{id}/monitors/{mid}' \
  --data 'client_id=<client_id>' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'x-introspect-realm: <realm>' \

See Also

Check out this End-User API list of References to discover Stellantis Connected Vehicles features.