Skip to main content

VCS API - Apigee (1.11.0)

Download OpenAPI specification:Download

License: Internal

VCS API documentation

Authentication & Authorization

You will need to be identified before calling any VCS API endpoints.

In order to be recognized and authorized to access our VCS API, we put in place 2 mechanisms:

  • Authentication mechanism is done with an API key dedicated to you.
    Remember that the API key provided should be shared with care.
    The API key must be inserted in the header of the request in the appropriate field
  • Authorization mechanism is done by a well-known authorization flow for REST Web API: “Client credentials” OAuth2.0 flow.

Inspections

Inspections operation with all operation types

Get inspections data

Get inspections data filtered by parameters

Authorizations:
(OAuth2ApiKeyAuth)
query Parameters
pageNumber
required
integer <int32> (PageNumberQueryParam) [ 1 .. 1000 ]
Example: pageNumber=2

The page number

pageSize
required
integer <int32> (PageSizeQueryParam) [ 1 .. 1000 ]
Example: pageSize=2

The page size

lastModifiedDateFrom
string <date-time> (lastModifiedDateFromParam)
Example: lastModifiedDateFrom=2024-05-02T10:00:00

Date from for last update date of data

lastModifiedDateTo
string <date-time> (lastModifiedDateToParam)
Example: lastModifiedDateTo=2024-05-02T10:00:00

Date to for last update date of data

managingServiceCenterCode
string (managingServiceCenterCodeParam) <= 255 characters

Managing service center code

vehicleCode
string (vehicleCodeParamString) <= 255 characters
Example: vehicleCode=AA-123-BB

Vehicle code param

Responses

Response samples

Content type
application/json
{
  • "pagination": {
    },
  • "inspections": [
    ]
}

Create an inspection.

This endpoint allows to create an inspection.

Authorizations:
(OAuth2ApiKeyAuth)
Request Body schema: application/json
type
string (InspectionTypeEnumQueryParam)
Enum: "COMPLETE" "VISUAL" "PRE_JOB" "POST_JOB" "AUTOMATED" "EXTERNAL"

Type of the inspection

date
required
string <date> (Date)

Inspection date

inspectorCode
integer <int64> (InspectorCode)

Inspector code

contractorCode
integer <int64> (ContractorCode)

Contractor code

serviceProviderCode
integer <int64> (ServiceProviderCode)

Service provider code

subscriptionCode
integer <int64> (SubscriptionCode)

Subscription code

customerCode
required
integer <int64> (CustomerCode)

Customer code

customerSiteCode
integer <int64> (CustomerSiteCode)

Customer site code

vehicleCode
required
integer <int64> (VehicleCode)

Vehicle code

mileage
integer <int32> (Mileage)

Vehicle mileage

mileageUOM
string (MileageUOMEnum)
Enum: "km" "mi"

Vehicle mileage unit of measure

workingHours
integer <int32> (WorkingHours)

Working hours

jobCode
integer <int64> (JobCode)

Job code

containerId
string (ContainerId) <= 255 characters

Unique identifier for the container

Array of objects (InspectionDefectDTO)
Array of objects (InspectionAxleDTO)
Array of objects (InspectionWheelDTO)
inspectionSiteCode
integer <int64> (InspectionSiteCode)

Refers to another customer's site where the inspection is performed

serviceProviderSiteCode
integer <int64> (ServiceProviderSiteCode)

Refers to a PoS for which the inspection is performed

Responses

Request samples

Content type
application/json
{
  • "type": "COMPLETE",
  • "date": "2024-01-01",
  • "inspectorCode": "100002",
  • "contractorCode": "100003",
  • "serviceProviderCode": "100004",
  • "subscriptionCode": "100005",
  • "customerCode": "100006",
  • "customerSiteCode": "100007",
  • "vehicleCode": "100008",
  • "mileage": 120000,
  • "mileageUOM": "km",
  • "workingHours": 0,
  • "jobCode": 100098,
  • "containerId": "bfec86df-5e37-4844-8ba8-916dc956a5d2",
  • "defects": [],
  • "axles": [
    ],
  • "spareWheels": [
    ],
  • "inspectionSiteCode": "100009",
  • "serviceProviderSiteCode": "100008"
}

Response samples

Content type
application/json
{
  • "code": "1000023"
}

Get inspections data

Get inspections data filtered by parameters

Authorizations:
(OAuth2ApiKeyAuth)
query Parameters
pageNumber
integer <int32> (PageNumberParamWithDefault) [ 1 .. 1000 ]
Default: 1
Example: pageNumber=2

The page number

pageSize
integer <int32> (PageSizeParamWithDefault) [ 1 .. 1000 ]
Default: 1000
Example: pageSize=2

The page size

lastModifiedDateFrom
string <date-time> (lastModifiedDateFromParam)
Example: lastModifiedDateFrom=2024-05-02T10:00:00

Date from for last update date of data

lastModifiedDateTo
string <date-time> (lastModifiedDateToParam)
Example: lastModifiedDateTo=2024-05-02T10:00:00

Date to for last update date of data

inspectorCode
integer <int64> (InspectorCode)
Example: inspectorCode=1000001

Code of the inspector

contractorCode
integer <int64> (ContractorCode)
Example: contractorCode=1000001

Code of the contractor

customerCode
integer <int64> (CustomerCode)
Example: customerCode=1000001

Code of the customer

customerSiteCode
integer <int64> (CustomerSiteCode)
Example: customerSiteCode=1000001

Code of the customer site

vehicleCode
integer <int64> (VehicleCode)
Example: vehicleCode=1000001

Code of the vehicle

withExternalRef
boolean (WithExternalRefQueryParam)
Default: false
Example: withExternalRef=true

If filled then return external references for each inspection (default false)

Responses

Response samples

Content type
application/json
{
  • "pagination": {
    },
  • "inspections": [
    ]
}

Upsert an inspection.

Create or update an inspection from an external source.

Authorizations:
(OAuth2ApiKeyAuth)
Request Body schema: application/json
externalRef
required
string (externalRef) <= 255 characters

External reference identifier

date
required
string <date> (Date)

Inspection date

type
string (InspectionTypeEnum)
Enum: "COMPLETE" "VISUAL" "PRE_JOB" "POST_JOB" "AUTOMATED" "EXTERNAL"

Type of the inspection

inspectorExternalRef
string (inspectorExternalRef) <= 255 characters

External reference identifier of the inspector

contractorExternalRef
string (contractorExternalRef) <= 255 characters

External reference identifier of the contractor

serviceProviderExternalRef
string (serviceProviderExternalRef) <= 255 characters

External reference identifier of the service provider

customerExternalRef
string (customerExternalRef) <= 255 characters

External reference identifier of the customer

customerSiteExternalRef
string (customerSiteExternalRef) <= 255 characters

External reference identifier of the customer site

vehicleExternalRef
required
string (vehicleExternalRef) <= 255 characters

External reference identifier of the vehicle

mileage
integer <int32> (Mileage)

Vehicle mileage

mileageUOM
string (MileageUOMEnum)
Enum: "km" "mi"

Vehicle mileage unit of measure

workingHours
integer <int32> (WorkingHours)

Working hours

Array of objects (InspectionExternalVehicleDefectDTO)
Array of objects (InspectionExternalAxleDTO)

Responses

Request samples

Content type
application/json
{
  • "externalRef": "INSP001",
  • "date": "2024-01-01",
  • "type": "COMPLETE",
  • "inspectorExternalRef": "APP001",
  • "contractorExternalRef": "CONTRACTOR001",
  • "serviceProviderExternalRef": "SP001",
  • "customerExternalRef": "CUST001",
  • "customerSiteExternalRef": "SITET001",
  • "vehicleExternalRef": "VEH001",
  • "mileage": 120000,
  • "mileageUOM": "km",
  • "workingHours": 0,
  • "containerId": "bfec86df-5e37-4844-8ba8-916dc956a5d2",
  • "defects": [
    ],
  • "axles": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "1000023"
}

Get an inspection

Retrieve an inspection by his code

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
inspectionCode
required
integer <int64> (InspectionCodeParam)
Example: 1000001

Targeted inspection code

Responses

Response samples

Content type
application/json
{
  • "code": 1000001,
  • "type": "COMPLETE",
  • "date": "2024-01-01",
  • "inspectorCode": 1000001,
  • "contractorCode": 1000001,
  • "serviceProviderCode": 1000001,
  • "subscriptionCode": 1000001,
  • "customerCode": 1000001,
  • "customerSiteCode": 1000001,
  • "vehicleCode": 1000001,
  • "mileage": 120000,
  • "mileageUOM": "km",
  • "workingHours": 300,
  • "lastModifiedDate": "2024-04-09T06:59:51",
  • "lastModifiedBy": "system",
  • "jobCode": 1000001,
  • "containerId": "bfec86df-5e37-4844-8ba8-916dc956a5d2",
  • "defects": [],
  • "axles": [
    ],
  • "spareWheels": [
    ],
  • "inspectionSiteCode": 1000001,
  • "serviceProviderSiteCode": 100008
}

Update an existing inspection

Update an inspection by its code

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
inspectionCode
required
integer <int64> (InspectionCodeParam)
Example: 1000001

Targeted inspection code

Request Body schema: application/json
type
string (InspectionTypeEnum)
Enum: "COMPLETE" "VISUAL" "PRE_JOB" "POST_JOB" "AUTOMATED" "EXTERNAL"

Type of the inspection

date
string <date> (Date)

Inspection date

inspectorCode
integer <int64> (InspectorCode)

Inspector code

mileage
integer <int32> (Mileage)

Vehicle mileage

mileageUOM
string (MileageUOMEnum)
Enum: "km" "mi"

Vehicle mileage unit of measure

workingHours
integer <int32> (WorkingHours)

Working hours

jobCode
integer <int64> (JobCode)

Job code

containerId
string (ContainerId) <= 255 characters

Unique identifier for the container

Array of objects (InspectionDefectQueryDTO)
Array of objects (InspectionAxleQueryDTO)
Array of objects (InspectionWheelQueryDTO)

Responses

Request samples

Content type
application/json
{
  • "type": "COMPLETE",
  • "date": "2024-03-01",
  • "inspectorCode": "100002",
  • "mileage": "120000",
  • "mileageUOM": "km",
  • "workingHours": 300,
  • "jobCode": "1000001",
  • "containerId": "CONT12345",
  • "defects": [],
  • "axles": [
    ],
  • "spareWheels": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 100001
}

DueDates

DueDates operation with all operation types

Get due dates referential

Get due dates referential

Authorizations:
(OAuth2ApiKeyAuth)
query Parameters
language
string (languageQueryParam) <= 255 characters
Example: language=fr-FR

Language using ISO 639 and ISO 3166

observationCode
integer <int64> (observationCodeQueryParam)
Example: observationCode=1000001

Unique identifier of the observation to get corresponding due date. If not provided, filter on observationCode is not applied.

withObservations
boolean (withObservationsQueryParam)
Default: false
Example: withObservations=true

Set to true to include associated observations in the results. If false (default), associated observations will not be returned.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Observations

Observations operation with all operation types

Get observations referential

Get observations referential

Authorizations:
(OAuth2ApiKeyAuth)
query Parameters
language
string (languageQueryParam) <= 255 characters
Example: language=fr-FR

Language for translation

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Actions

Actions operation with all operation types

Get actions referential

Get actions referential

Authorizations:
(OAuth2ApiKeyAuth)
query Parameters
language
string (languageQueryParam) <= 255 characters
Example: language=fr-FR

Language for translation

level
string (levelQueryParam) <= 255 characters
Example: level=VEHICLE

Level for the action

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

InspectionsReports

InspectionsReports operation with all operation types

Get inspections report as pdf

Get inspections report as pdf for a specific customer + site

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
customerCode
required
integer <int64> (customerCodeParam)
Example: 1000001

Customer code

query Parameters
customerSiteCode
required
integer <int64> (CustomerSiteCode)
Example: customerSiteCode=1000001

Customer site code

dateFrom
required
string <date> (dateFromParam)
Example: dateFrom=2024-01-01

Date from criteria, used to filter inspections by date

dateTo
required
string <date> (dateToParam)
Example: dateTo=2024-01-31

Date to criteria, used to filter inspections by date

language
string (languageQueryParam) <= 255 characters
Example: language=fr-FR

Language for the report (e.g. 'nl-NL', 'fr-FR')

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ]
}

Get inspections overdue report as pdf

Get inspections overdue report as pdf for a specific customer and site

Authorizations:
(OAuth2ApiKeyAuth)
query Parameters
customerCode
required
integer <int64> (customerCodeParam)
Example: customerCode=1000001

Customer code

customerSiteCode
required
integer <int64> (CustomerSiteCode)
Example: customerSiteCode=1000001

Customer site code

language
string (languageQueryParam) <= 255 characters
Example: language=fr-FR

Language for the report (e.g. 'nl-NL', 'fr-FR')

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ]
}

Attachments

Attachments operation with all operation types

Create a container.

This endpoint allows to create a container.

Authorizations:
(OAuth2ApiKeyAuth)

Responses

Response samples

Content type
application/json
{
  • "containerId": "bfec86df-5e37-4844-8ba8-916dc956a5d2",
  • "queryParameters": "?sp=r&st=2025-07-23T09:29:36Z&se=2025-07-23T17:44:36Z&spr=https&sv=2024-11-04&sr=c&sig=D3ngwRN996INkqajdoN2iHprEjKkvWsCT8fjl%2BJtMs0%3D"
}

Get an attachment from a storage.

This endpoint allows to get an attachment from a storage.

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
containerId
required
string (ContainerId) <= 255 characters
Example: bfec86df-5e37-4844-8ba8-916dc956a5d2

Targeted container ID

fileName
required
string (FileName) <= 255 characters
Example: image1.png

File name

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Put an attachment in a storage.

This endpoint allows to put an attachment in a storage.

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
containerId
required
string (ContainerId) <= 255 characters
Example: bfec86df-5e37-4844-8ba8-916dc956a5d2

Targeted container ID

fileName
required
string (FileName) <= 255 characters
Example: image1.png

File name

header Parameters
x-ms-blob-type
required
string (BlobType)
Value: "BlockBlob"

Specifies the type of blob to create

Request Body schema:

Binary file content

string <binary>

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ]
}

InspectionAnalytics

InspectionAnalytics operation with all operation types

Get an inspectionAnalytics

Get the calculated inspection analytics within a date range for a list of sites and a subscription

Authorizations:
(OAuth2ApiKeyAuth)
query Parameters
subscriptionCode
required
integer <int64> (SubscriptionCode)
Example: subscriptionCode=1000001

Code of the subscription related to the inspections to analyze (code of the subscription into the Subscription repository).

inspectionDateFrom
string <date> (dateFromParam)
Example: inspectionDateFrom=2024-01-01

Filters inspections for analytics on or after this date. Supports 'YYYY-MM-DD' format.

inspectionDateTo
string <date> (dateToParam)
Example: inspectionDateTo=2024-01-31

Filters inspections for analytics on or before this date. Supports 'YYYY-MM-DD' format.

siteCodes
Array of integers <int64> (listSiteCodesParam) non-empty [ items <int64 > ]
Example: siteCodes=1003856,1000042

List of site codes to filter the inspection analytics (code of the site into the Site repository).

Responses

Response samples

Content type
application/json
{
  • "quantityInspectedVehicles": 175,
  • "quantityMeasuredPressures": 150,
  • "inspectedRegroovingRate": 0.1,
  • "quantityUnderPressuredLowGap": 25,
  • "quantityUnderPressuredHighGap": 50,
  • "quantityARatedTyres": 100,
  • "quantityBRatedTyres": 200,
  • "quantityCRatedTyres": 150,
  • "quantityDRatedTyres": 175,
  • "quantityERatedTyres": 100
}

Vehicles

Vehicles operation with all operation types

Get the last known vehicle state.

Get the last known vehicle state. Returns the last inspection performed for the a vehicle no matter the inspection type (COMPLET, PRE_JOB, AUTOMATED, ...). Use the vehicle_code and the date of the inspection.

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
vehicleCode
required
integer <int64> (VehicleCodeParam)
Example: 1000001

Targeted vehicle code

Responses

Response samples

Content type
application/json
{
  • "code": 1000001,
  • "type": "COMPLETE",
  • "date": "2024-01-01",
  • "inspectorCode": 1000001,
  • "contractorCode": 1000001,
  • "serviceProviderCode": 1000001,
  • "subscriptionCode": 1000001,
  • "customerCode": 1000001,
  • "customerSiteCode": 1000001,
  • "vehicleCode": 1000001,
  • "mileage": 120000,
  • "mileageUOM": "km",
  • "workingHours": 300,
  • "lastModifiedDate": "2024-04-09T06:59:51",
  • "lastModifiedBy": "system",
  • "jobCode": 1000001,
  • "containerId": "bfec86df-5e37-4844-8ba8-916dc956a5d2",
  • "defects": [],
  • "axles": [
    ],
  • "spareWheels": [
    ],
  • "inspectionSiteCode": 1000001,
  • "serviceProviderSiteCode": 100008
}

Defects

Defects operation with all operation types

Get a defect by its code

Get a defect by its code

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
defectCode
required
integer <int64> (DefectCode)
Example: 1000001

Code of the defect

Responses

Response samples

Content type
application/json
{}

Patch the status of a defect using the defect code

Patch the status of a defect using the defect code. Do not allow rollbacks. The "CLOSED" and "CANCELLED" statuses are final statuses. Once set the value cannot be longer changed.

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
defectCode
required
integer <int64> (DefectCode)
Example: 1000001

Code of the defect

Request Body schema: application/json
status
required
string (DefectStatusEnum)
Enum: "OPEN" "CLOSED" "CANCELLED"

Status of the defect

reason
string (DefectReasonEnum)
Enum: "NO_MORE_RELEVANT" "CUSTOMER_REFUSAL" "JOB_EXECUTION"

Reason of the defect status

stage
string (DefectStageEnum)
Enum: "INSPECTION" "PRE_JOB" "POST_JOB" "JOB_REQUEST" "JOB_EXECUTION"

The specific business process stage where the 'status' of this defect was last updated or set.

Responses

Request samples

Content type
application/json
{
  • "status": "CLOSED",
  • "reason": "CUSTOMER_REFUSAL",
  • "stage": "JOB_REQUEST"
}

Response samples

Content type
application/json
{}