Services

How to use itLast Update :09.10.2025

General

CAPI is a platform envisaged by Ford Otosan to meet its connected vehicle integration needs. The platform is intended to go beyond generic fleet management and is intended to provide services to customers in managing such as vehicle health.Ford Otosan IT team support the CAPI solution that is hosted in Otosan IT Systems

If you get a response like the one below, the value you are trying to query does not exist for the vehicle you are querying or there may be a typo in your parameters. In some rare cases, it may have been created as a result of an error. If you are sure that the value you are querying should exist, please contact us.

Response:
HttpCode: 200
Content-Type: application/json
Body:
{
    "result": [],
    "error": null,
    "isSuccessful": true,
    "message": null
}

Endpoints

Login API

POST /capi/rest/api/Account/GetToken

Capi requests require a Bearer Token in the Authorization header.You can get your bearer token via Login API.

Here is an example of a POST request to an Login API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Account/GetToken HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json

{
    "clientId": "{your-client-id}",
    "clientSecret": "{your-client-secret}"
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": {
        "tokenType": "Bearer",
        "expiresIn": 10,
        "accessToken": "Token...."
    },
    "error": null,
    "isSuccessful": true,
    "message": null
}

VehicleSignal API

POST /capi/rest/api/Vehicle/Signal

Returns the latest signal information from the vehicles

Here is an example of a POST request to an VehicleSignal API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Vehicle/Signal HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": ["Battery", "Tpms.Row1"]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": [
        {
            "vin": "VehicleIdentificationNo",
            "data": {
                "signals": [
                    {
                        "path": "Battery.StateOfCharge",
                        "value": "75.0",
                        "timestamp": "04081427022025"
                    },
                    {
                        "path": "Tpms.Row1.Tire1.Pressure",
                        "value": "65533.0",
                        "timestamp": "04081427022025"
                    }
                ]
            }
        }
    ],
    "error": null,
    "isSuccessful": true,
    "message": null
}
Error Response Case:
Request:
POST /capi/rest/api/Vehicle/Signal HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": []
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": null,
    "error": {
        "code": 400,
        "correlationId": "112a423d-b7f9-466d-b5c4-7c82755dcbf5",
        "details": null,
        "message": "Please check your request paramaters.",
        "validationErrors": null
    },
    "isSuccessful": false,
    "message": null
}

VehicleConnectivity API

POST /capi/rest/api/Vehicle/Connectivity

Returns the vehicle's connectivity settings.

Here is an example of a POST request to an VehicleConnectivity API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Vehicle/Connectivity HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": ["CCS"]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": [
        {
            "vin": "VehicleIdentificationNo",
            "data": {
                "connectivities": [
                    { "path": "CCS.Connectivity",     "value": "true",  "timestamp": "35451711022025" },
                    { "path": "CCS.DriverBehaviour",  "value": "false", "timestamp": "35451711022025" },
                    { "path": "CCS.Location",         "value": "false", "timestamp": "35451711022025" },
                    { "path": "CCS.VehicleData",      "value": "true",  "timestamp": "35451711022025" }
                ]
            }
        }
    ],
    "error": null,
    "isSuccessful": true,
    "message": null
}
Error Response Case:
Request:
POST /capi/rest/api/Vehicle/Connectivity HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": [""]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": null,
    "error": {
        "code": 400,
        "correlationId": "b5219106-4d7b-4d07-b2c3-81cc9a368d85",
        "details": null,
        "message": "Please check your request paramaters.",
        "validationErrors": null
    },
    "isSuccessful": false,
    "message": null
}

VehicleHealth API

POST /capi/rest/api/Vehicle/Health

Returns the vehicle's health status.

Current statuses:

0 - Good

1 – Critical / Action Soon

2- Action Now

These statuses and parameters can be increased as needed.

Here is an example of a POST request to an VehicleHealth API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Vehicle/Health HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": ["Uptime.EngineOilLevel"]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": [
        {
            "vin": "VehicleIdentificationNo",
            "data": {
                "healths": [
                    {
                        "path": "Uptime.EngineOilLevel",
                        "value": "0",
                        "timestamp": "42440209102025",
                        "signals": [
                            {
                                "path": "Engine.LowOilIndicatorStatus",
                                "value": "0.0",
                                "timestamp": "42440209102025"
                            }
                        ]
                    }
                ]
            }
        }
    ],
    "error": null,
    "isSuccessful": true,
    "message": null
}
Error Response Case:
Request:
POST /capi/rest/api/Vehicle/Health HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": [""]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": null,
    "error": {
        "code": 400,
        "correlationId": "b5219106-4d7b-4d07-b2c3-81cc9a368d85",
        "details": null,
        "message": "Please check your request paramaters.",
        "validationErrors": null
    },
    "isSuccessful": false,
    "message": null
}

VehicleInventory API

POST /capi/rest/api/Vehicle/Inventory

Returns the vehicle's inventory information.

Here is an example of a POST request to an VehicleInventory API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Vehicle/Inventory HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": [
        "Inventory.Brand.Name",
        "Inventory.Model"
    ]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": [
        {
            "vin": "VehicleIdentificationNo",
            "data": {
                "inventories": [
                    { "path": "Inventory.Brand.Name",        "value": "FORD",        "timestamp": "29261107112024" },
                    { "path": "Inventory.Model.Code",        "value": "MODELCODE",   "timestamp": "29261107112024" },
                    { "path": "Inventory.Model.Description", "value": "TOURNEO COURIER TREND 1.5L DIZEL M/T 100PS", "timestamp": "29261107112024" },
                    { "path": "Inventory.Model.Name",        "value": "TRANSIT COURIER (TOURNEO)", "timestamp": "29261107112024" },
                    { "path": "Inventory.Model.Year",        "value": "2024",        "timestamp": "29261107112024" }
                ]
            }
        }
    ],
    "error": null,
    "isSuccessful": true,
    "message": null
}
Error Response Case:
Request:
POST /capi/rest/api/Vehicle/Inventory HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": [""]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": null,
    "error": {
        "code": 400,
        "correlationId": "b5219106-4d7b-4d07-b2c3-81cc9a368d85",
        "details": null,
        "message": "Please check your request paramaters.",
        "validationErrors": null
    },
    "isSuccessful": false,
    "message": null
}

VehicleInsight API

POST /capi/rest/api/Vehicle/Insight

Returns the vehicle's insight information.

Here is an example of a POST request to an VehicleInsight API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Vehicle/Insight HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": ["Insight.Odometer"],
    "startTime": "00000001072025",
    "endTime": "00000030082025"
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": [
        {
            "vin": "VehicleIdentificationNo",
            "data": {
                "insights": [
                    {
                        "path": "Insight.Odometer",
                        "value": "209855",
                        "startTime": "00000001072025",
                        "endTime": "00000030082025"
                    }
                ]
            }
        }
    ],
    "error": null,
    "isSuccessful": true,
    "message": null
}
Error Response Case:
Request:
POST /capi/rest/api/Vehicle/Insight HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo"],
    "parameters": [""],
    "startTime": "00000001072025",
    "endTime": "00000030082025"
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": null,
    "error": {
        "code": 500,
        "correlationId": "36073f54-8f46-46ef-a37f-f4f40383021c",
        "details": null,
        "message": "Object reference not set to an instance of an object.",
        "validationErrors": null
    },
    "isSuccessful": false,
    "message": null
}

DTC API

POST /capi/rest/api/Vehicle/DTC

Returns the current active DTCs (Diagnostic Trouble Codes) present in the vehicle.

Here is an example of a POST request to the DTC API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Vehicle/DTC HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vinList": ["VehicleIdentificationNo1"],
    "parameters": ["DiagnosticTroubleCode"]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": [
        {
            "vin": "VehicleIdentificationNo1",
            "data": {
                "dtc": [
                    {
                        "path": "DiagnosticTroubleCode",
                        "value": {
                            "dtc": "1199-00",
                            "failureType": "0x11",
                            "ecu": "327168",
                            "status": "0x29",
                            "platform": "VR625_MY24",
                            "startDate": "40121413052026"
                        },
                        "timestamp": "44121114052026"
                    },
                    {
                        "path": "DiagnosticTroubleCode",
                        "value": {
                            "dtc": "1299-00",
                            "failureType": "0x19",
                            "ecu": "327168",
                            "status": "0x02",
                            "platform": "VR625_MY24",
                            "startDate": "40121413052026"
                        },
                        "timestamp": "44121114052026"
                    }
                ]
            }
        }
    ],
    "error": null,
    "isSuccessful": true,
    "message": null
}

DTC Dictionary API

POST /capi/rest/api/Vehicle/DTC/Dictionary

Returns the description and details of the given DTC codes from the dictionary. Supports language-specific descriptions via the languageCode parameter.

Here is an example of a POST request to the DTC Dictionary API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Vehicle/DTC/Dictionary HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "languageCode": "en-US",
    "parameters": [
        {
            "dtc": "42A13-13",
            "ecu": "270592",
            "platform": "VR625_MY24",
            "failureType": "0x27",
            "status": "0x01"
        }
    ]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": [
        {
            "description": "Right Turn Rear Signal Output Open Circuit",
            "dtc": "42A13-13",
            "ecu": "270592",
            "failureType": "0x27",
            "status": "0x01",
            "platform": "VR625_MY24",
            "module": "BCM"
        }
    ],
    "error": null,
    "isSuccessful": true,
    "message": null
}

VehicleConfiguration API

POST /capi/rest/api/Vehicle/Config

Applies configuration parameters to vehicles (e.g. enabling/disabling features). Each vehicle group shares the same configuration set. VINs are automatically classified as PCCV or Truck and routed to the corresponding downstream service.

Here is an example of a POST request to the VehicleConfig API:

Succesfull Response Case:
Request:
POST /capi/rest/api/Vehicle/Config HTTP/1.1
Host: https://onprem-api.ford.com.tr
Content-Type: application/json
Authorization: Bearer {your-access-token}

{
    "vins": ["NM0KBGSWUAT099193"],
    "configs": [
        {
            "parameter": "Configuration.FleetMode",
            "value": "ON"
        }
    ]
}
Response:
HTTP/1.1 200 OK
Content-Type: application/json

{
    "result": [
        {
            "vin": "NM0KBGSWUAT099193",
            "parameter": "Configuration.FleetMode",
            "value": "ON",
            "isSuccessful": true,
            "message": null
        }
    ],
    "error": null,
    "isSuccessful": true,
    "message": null
}

Streaming Services

gRPC /StartStream

It provides instant data from the vehicle.

To use GRPC service capi.proto you need to use.

Here is an example of a GRPC request for data streaming

GRPC /StartStream HTTP/2
Host: grpc://capi-telematics.ford.com.tr
Authorization: Bearer {your-access-token}
// Import capi_proto (proto2) file

• The lock icon near the address bar in your API client indicates whether the connection is secure (HTTPS). Please be sure to check this before invoke the stream.

1. Open your API client and Create a New Request:

• Click on 'New' and select 'Request'.

• Name the request and select the 'gRPC' option.

2. Enter the gRPC Server URL:

• Enter the URL: grpc://capi-telematics.ford.com.tr.

3. Import the Proto File:

• Click on the 'Import' button and select the 'capi.proto' file.

4. Select the Method and Configure the Request:

• Select the 'StartStream' method from the list of available methods..

• Set the Authorization header with the Bearer token.

5• Check that you have marked the HTTPS lock symbol and invoke.