openapi: 3.2.0 info: title: Automile Resource Owner Trip V2 API version: v1 tags: - name: ResourceOwnerTripV2 paths: /v1/resourceowner/trips: get: tags: - ResourceOwnerTripV2 summary: Get all trips that the user has access to description: Only returns trips that the user have access to. If more then 60 days are requested it defaults to 30 days. operationId: GetResourceOwnerTrips parameters: - in: query name: lastNumberOfDays description: Optional enter last number of days to get trips for. Only supports up to 60 days back. If not speficied or more then 60 days are entered it searches 30 days back. schema: type: integer format: int32 - in: query name: vehicleId description: Optional vehicle id to get trips for schema: type: integer format: int32 - in: query name: synchronized description: Optional include synchronized trips (defaults to true) schema: type: boolean default: true - in: query name: fromUtc description: Retrieve trips from this date. (Can't be used if lastNumberOfDays is specified) schema: type: string format: date-time - in: query name: toUtc description: Retrieve trips to this date. (Can't be used if lastNumberOfDays is specified) schema: type: string format: date-time responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/TripModel' application/json: schema: type: array items: $ref: '#/components/schemas/TripModel' text/json: schema: type: array items: $ref: '#/components/schemas/TripModel' security: - oauth2: [] /v1/resourceowner/trips/{tripId}: get: tags: - ResourceOwnerTripV2 summary: Get the details about the trip description: Only trips that are associated with the vehicles that user has relationships with are allowed. operationId: GetResourceOwnerTrip parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: The trip details are returned content: text/plain: schema: $ref: '#/components/schemas/TripDetailModel' application/json: schema: $ref: '#/components/schemas/TripDetailModel' text/json: schema: $ref: '#/components/schemas/TripDetailModel' '403': description: Request is forbidden, meaning you don't have access to this trip '500': description: Internal server error security: - oauth2: [] put: tags: - ResourceOwnerTripV2 summary: Updates the given trip with a trip type (category) and trip tags description: This operation would only update the trip type and trip tags if authorized for this trip. operationId: EditResourceOwnerTrip parameters: - in: path name: tripId description: The trip id to update required: true schema: type: integer format: int32 responses: '200': description: The trip was saved '500': description: Internal server error security: - oauth2: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/TripEditModel' text/json: schema: $ref: '#/components/schemas/TripEditModel' application/*+json: schema: $ref: '#/components/schemas/TripEditModel' description: The triptype and triptags to update /v1/resourceowner/trips/{tripId}/geostartend: get: tags: - ResourceOwnerTripV2 summary: Get the trip start and stop geo locations description: Only trips that are associated with the vehicles that user has relationships with are allowed. operationId: GetResourceOwnerGeoStartStop parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: The Start and stop geo locations details are returned content: text/plain: schema: $ref: '#/components/schemas/TripStartEndGeoModel' application/json: schema: $ref: '#/components/schemas/TripStartEndGeoModel' text/json: schema: $ref: '#/components/schemas/TripStartEndGeoModel' '403': description: Request is forbidden, meaning you don't have access to this trip '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/speed: get: tags: - ResourceOwnerTripV2 summary: Get the vehicle speed if it's reported by the vehicle description: This is a quick method, instead of retrieving raw data with the pid operation. Is reported in km/h. operationId: GetResourceOwnerTripSpeed parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: The vehicle speeds are returned content: text/plain: schema: type: array items: $ref: '#/components/schemas/VehicleSpeedModel' application/json: schema: type: array items: $ref: '#/components/schemas/VehicleSpeedModel' text/json: schema: type: array items: $ref: '#/components/schemas/VehicleSpeedModel' '501': description: Not implemented, meaning the PID is not supported or is not recorded by the vehicle '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/rpm: get: tags: - ResourceOwnerTripV2 summary: Get the vehicle engine rpm if it's reported by the vehicle description: This is a quick method, instead of retrieving raw data with the pid operation. operationId: GetResourceOwnerTripRPM parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: The vehicle engine rpm are returned content: text/plain: schema: type: array items: $ref: '#/components/schemas/RPMModel' application/json: schema: type: array items: $ref: '#/components/schemas/RPMModel' text/json: schema: type: array items: $ref: '#/components/schemas/RPMModel' '501': description: Not implemented, meaning the PID is not supported or is not recorded by the vehicle '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/ambienttemperature: get: tags: - ResourceOwnerTripV2 summary: Get the vehicle ambient (outside) temperature if it's reported by the vehiclee description: This is a quick method, instead of retrieving raw data with the pid operation. The result is in celsius. operationId: GetResourceOwnerTripAmbientTemperature parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: Te list of all ambient temperatures are returned content: text/plain: schema: type: array items: $ref: '#/components/schemas/AmbientAirTemperatureModel' application/json: schema: type: array items: $ref: '#/components/schemas/AmbientAirTemperatureModel' text/json: schema: type: array items: $ref: '#/components/schemas/AmbientAirTemperatureModel' '501': description: Not implemented, meaning the PID is not supported or is not recorded by the vehicle '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/fuellevelinput: get: tags: - ResourceOwnerTripV2 summary: Get the vehicle current fuel level if it's reported by the vehicle description: This is a quick method, instead of retrieving raw data with the pid operation. The result is in percentage of total 100 operationId: GetResourceOwnerTripFuelLevelInput parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: The recorded fuel level details are returned content: text/plain: schema: type: array items: $ref: '#/components/schemas/FuelLevelInputModel' application/json: schema: type: array items: $ref: '#/components/schemas/FuelLevelInputModel' text/json: schema: type: array items: $ref: '#/components/schemas/FuelLevelInputModel' '501': description: Not implemented, meaning the PID is not supported or is not recorded by the vehicle '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/enginecoolanttemperature: get: tags: - ResourceOwnerTripV2 summary: Get the engine coolant temperature if it's reported by the vehicle description: This is a quick method, instead of retrieving raw data with the pid operation operationId: GetResourceOwnerTripEngineCoolantTemperature parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: The engine coolant temperature are returned content: text/plain: schema: type: array items: $ref: '#/components/schemas/EngineCoolantTemperatureModel' application/json: schema: type: array items: $ref: '#/components/schemas/EngineCoolantTemperatureModel' text/json: schema: type: array items: $ref: '#/components/schemas/EngineCoolantTemperatureModel' '501': description: Not implemented, meaning the PID is not supported or is not recorded by the vehicle '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/pid/{pidId}: get: tags: - ResourceOwnerTripV2 summary: This will get the raw PID data if the vehicle has reported that it is being… description: The data array will contain a sub-array of integers representing the raw data operationId: GetResourceOwnerTripPid parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 - in: path name: pidId description: The PID id required: true schema: type: integer format: int32 responses: '200': description: ThePID data are returned content: text/plain: schema: type: array items: $ref: '#/components/schemas/PIDModel' application/json: schema: type: array items: $ref: '#/components/schemas/PIDModel' text/json: schema: type: array items: $ref: '#/components/schemas/PIDModel' '501': description: Not implemented, meaning the PID is not supported or is not recorded by the vehicle '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/geo: get: tags: - ResourceOwnerTripV2 summary: Get the gps locations for the vehicle, includes position and heading description: This operation would require compression enabled by the client. operationId: GetResourceOwnerTripGeo parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 - in: query name: everyNthRecord description: Optional if you wish to limit to n:th number of records schema: type: integer format: int32 default: 1 - in: query name: snapToRoad description: '' schema: type: boolean default: true responses: '200': description: The Geo data are returned content: text/plain: schema: type: array items: $ref: '#/components/schemas/TripGeoModel' application/json: schema: type: array items: $ref: '#/components/schemas/TripGeoModel' text/json: schema: type: array items: $ref: '#/components/schemas/TripGeoModel' '501': description: Not implemented, meaning the PID is not supported or is not recorded by the vehicle '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/googleurltostaticmapencodedpolyline: get: tags: - ResourceOwnerTripV2 summary: Gets Google static map URL with the trip route as a polyline operationId: GetGoogleurlToStaticMapEncodedPolyline parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 - in: query name: height description: Height of the map schema: type: integer format: int32 - in: query name: width description: Width of the map schema: type: integer format: int32 responses: '200': description: The Google Map Url are returned content: text/plain: schema: type: string application/json: schema: type: string text/json: schema: type: string '400': description: Bad request, this operation explicitly require gzip compression by the client '501': description: Not implemented, meaning the PID is not supported or is not recorded by the vehicle '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/addnotestolasttrip: put: tags: - ResourceOwnerTripV2 summary: Updates the last trip with trip notes description: This operation would only update the trip tags if authorized for this trip. operationId: EditResourceOwnerTripAddNoteToLastTrip responses: '200': description: The trip was saved '500': description: Internal server error security: - oauth2: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/TripAddNoteModel' text/json: schema: $ref: '#/components/schemas/TripAddNoteModel' application/*+json: schema: $ref: '#/components/schemas/TripAddNoteModel' description: The triptags to update /v1/resourceowner/trips/batch/triptype: put: tags: - ResourceOwnerTripV2 summary: Updates a list of trip id's with the provided trip type description: This operation only updates the trip types if authorized to all trips in list. operationId: ResourceOwnerTripController_TripTypeBatchUpdate responses: '200': description: The trips was saved '500': description: Internal server error security: - oauth2: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/TripTypeBatchUpdateModel' text/json: schema: $ref: '#/components/schemas/TripTypeBatchUpdateModel' application/*+json: schema: $ref: '#/components/schemas/TripTypeBatchUpdateModel' description: The trip type and trips to update /v1/resourceowner/trips/setdriverontrip: put: tags: - ResourceOwnerTripV2 summary: Updates the given trip with given contactid description: This operation would only update the driver if authorized for this trip. operationId: SetDriverOnTrip parameters: - in: query name: tripId description: The trip to update schema: type: integer format: int32 - in: query name: contactId description: The contact id for the driver schema: type: integer format: int32 responses: '200': description: The trip was saved '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/synchronized: post: tags: - ResourceOwnerTripV2 summary: Mark trips as synchronized, synchronized trips will not be returned when… description: This operation only updates the synchronized state if authorized to all trips in list. operationId: Synchronized responses: '200': description: Success security: - oauth2: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/TripSynchronized' text/json: schema: $ref: '#/components/schemas/TripSynchronized' application/*+json: schema: $ref: '#/components/schemas/TripSynchronized' description: Trips to mark as synchronized /v1/resourceowner/trips/{tripId}/details: get: tags: - ResourceOwnerTripV2 summary: Get the details about the trip including driving events, speeding and idling description: Only trips that are associated with the vehicles that user has relationships with are allowed. operationId: GetResourceOwnerTrip2 parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: The trip details are returned '403': description: Request is forbidden, meaning you don't have access to this trip '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/trips/{tripId}/advanced: get: tags: - ResourceOwnerTripV2 summary: Get the advanced details about the trip including driving events, speeding… description: Only trips that are associated with the vehicles that user has relationships with are allowed. operationId: GetResourceOwnerTripAdvanced parameters: - in: path name: tripId description: The trip id required: true schema: type: integer format: int32 responses: '200': description: The trip advanced data are returned '403': description: Request is forbidden, meaning you don't have access to this trip '500': description: Internal server error security: - oauth2: [] components: schemas: TripTypeBatchUpdateModel: type: object properties: TripType: format: int32 enum: - 0 - 1 - 2 - 3 type: integer CustomCategory: type: string TripIdList: type: array items: format: int32 type: integer additionalProperties: false EngineCoolantTemperatureModel: description: PID05 type: object properties: TemperatureInCelsius: format: double type: number RecordTimeStamp: format: date-time type: string additionalProperties: false TripGeoModel: type: object properties: RecordTimeStamp: format: date-time type: string Latitude: format: double type: number Longitude: format: double type: number HeadingDegrees: format: int32 type: integer NumberOfSatellites: format: int32 type: integer HDOP: format: int32 type: integer additionalProperties: false VehicleSpeedModel: description: PID013 type: object properties: SpeedKmPerHour: format: double type: number RecordTimeStamp: format: date-time type: string additionalProperties: false TripAddNoteModel: type: object properties: TripTags: type: array items: type: string additionalProperties: false TripStartEndGeoModel: type: object properties: StartLatitude: format: double type: number StartLongitude: format: double type: number EndLatitude: format: double type: number EndLongitude: format: double type: number additionalProperties: false TripEditModel: type: object properties: CustomCategory: type: string TripType: format: int32 enum: - 0 - 1 - 2 - 3 type: integer TripTags: type: array items: type: string LastEditedByContactId: format: int32 type: integer BusinessContact: type: string BusinessContactCompany: type: string TripReason: type: string additionalProperties: false TripSynchronized: type: object properties: Trips: type: array items: format: int32 type: integer additionalProperties: false PIDModel: type: object properties: Data: format: byte type: string RecordTimeStamp: format: date-time type: string Value: format: double type: number additionalProperties: false TripDetailModel: type: object properties: TripId: format: int32 type: integer IMEI: type: string TripStartDateTime: format: date-time type: string TripStartTimeZone: format: int32 type: integer TripStartODOMeter: format: int32 type: integer TripNumber: format: int32 type: integer NumberOfSupportedPIDs: format: int32 type: integer VehicleIdentificationNumber: type: string VechicleProtocol: type: string TripEndDateTime: format: date-time type: string TripEndTimeZone: format: int32 type: integer TripEndODOMeter: format: int32 type: integer TripStartFormattedAddress: type: string TripEndFormattedAddress: type: string TripStartCustomAddress: type: string TripEndCustomAddress: type: string TripType: format: int32 enum: - 0 - 1 - 2 - 3 type: integer TripTags: type: string VehicleId: format: int32 type: integer FuelInLiters: format: double type: number TripLengthInKilometers: format: double type: number TripLengthInMinutes: format: int32 type: integer IdleTimeInSecondsAllTrip: format: int32 type: integer IdleTimeInSecondsFromStart: format: int32 type: integer IdleRPMMax: format: int32 type: integer MaxSpeed: format: int32 type: integer MaxRPM: format: int32 type: integer CO2EmissionInGrams: format: double type: number OdometerInKilometersAfterTripEnded: format: double type: number AverageSpeedInKilometersPerHour: format: double type: number TripStartOutsideTemperatureInCelsius: format: double type: number DriverContactId: format: int32 type: integer HasDrivingEvents: type: boolean CustomCategory: type: string HideStartRoute: type: boolean HideEndRoute: type: boolean VehicleType: format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 255 type: integer TripApprovalStatus: format: int32 enum: - 0 - 1 - 2 - 3 type: integer IsMerged: type: boolean HasGermanTaxRules: type: boolean BusinessContact: type: string BusinessContactCompany: type: string TripReason: type: string IsLocked: type: boolean readOnly: true LockReason: format: int32 enum: - 0 - 1 - 2 - 4 type: integer additionalProperties: false RPMModel: description: PID012 type: object properties: RPMValue: format: double type: number RecordTimeStamp: format: date-time type: string additionalProperties: false FuelLevelInputModel: description: PID012 type: object properties: FuelLevelInPercentage: format: double type: number RecordTimeStamp: format: date-time type: string additionalProperties: false AmbientAirTemperatureModel: description: PID70 type: object properties: TemperatureInCelsius: format: double type: number RecordTimeStamp: format: date-time type: string additionalProperties: false TripModel: type: object properties: TripId: format: int32 type: integer TripStartDateTime: format: date-time type: string TripEndDateTime: format: date-time type: string DistanceKilometers: format: double type: number FuelConsumptionInLiters: format: double type: number TripStartFormattedAddress: type: string TripEndFormattedAddress: type: string TripStartCustomAddress: type: string TripEndCustomAddress: type: string VehicleId: format: int32 type: integer TripType: format: int32 enum: - 0 - 1 - 2 - 3 type: integer DriverContactId: format: int32 type: integer HasSpeedingViolation: type: boolean HasIdlingEvent: type: boolean HasAccelerationEvent: type: boolean HasAccident: type: boolean HasTurningEvent: type: boolean HasBrakingEvent: type: boolean ParkedForMinutesUntilNextTrip: format: int32 type: integer HasDrivingEvents: type: boolean CustomCategory: type: string TripTags: type: string HideStartRoute: type: boolean HideEndRoute: type: boolean VehicleType: format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 255 type: integer TripApprovalStatus: format: int32 enum: - 0 - 1 - 2 - 3 type: integer IsMerged: type: boolean HasGermanTaxRules: type: boolean IsLocked: type: boolean LockReason: format: int32 enum: - 0 - 1 - 2 - 4 type: integer TripStartCountry: type: string TripStartPostalCode: type: string TripEndCountry: type: string TripEndPostalCode: type: string additionalProperties: false securitySchemes: oauth2: type: oauth2 flows: implicit: scopes: read: Read access to protected resources write: Write access to protected resources authorizationUrl: https://api.automile.com/login/ description: OAuth2 Implicit Grant x-provenance: method: harvested publisher: Automileab source: https://api.automile.com/swagger/v1/swagger.json note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json); stamped by stamp-openapi-provenance.py (roadmap#793)