Automile ResourceOwnerReports API

The ResourceOwnerReports API from Automile — 10 operation(s) for resourceownerreports.

OpenAPI Specification

automile-resourceownerreports-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Automile ClientApi ResourceOwnerReports API
  version: v1
tags:
- name: ResourceOwnerReports
paths:
  /v1/resourceowner/reports/trips-report:
    post:
      tags:
      - ResourceOwnerReports
      summary: Trips report
      description: Max date interval is 16 days
      operationId: GetTripReport
      consumes:
      - application/json
      - text/json
      - application/*+json
      produces:
      - text/plain
      - application/json
      - text/json
      parameters:
      - in: body
        name: body
        schema:
          $ref: '#/definitions/TripsReportRequestModel'
      responses:
        '200':
          description: The vehicle summary report is returned
          schema:
            $ref: '#/definitions/TripsReportResponse'
        '400':
          description: Exceeded date range allowed
        '401':
          description: Not authorized to all supplied vehicles
        '500':
          description: Internal server error
      security:
      - oauth2: []
  /v1/resourceowner/reports/vehicle-summary:
    get:
      tags:
      - ResourceOwnerReports
      summary: Vehicle summary report
      description: "Only vehicles that the user is associated with will be returned by this operation.\r\n            400 bad request is returned if the date period parameter is not in a correct format"
      operationId: GetVehicleSummary
      produces:
      - text/plain
      - application/json
      - text/json
      parameters:
      - in: query
        name: fromDate
        description: Period from date
        type: string
        format: date-time
      - in: query
        name: toDate
        description: Period to date
        type: string
        format: date-time
      - in: query
        name: page
        description: First page = 1, page size 20
        type: integer
        format: int32
        default: 1
      - in: query
        name: vehicleId
        description: Filter on vehicleId
        type: integer
        format: int32
      responses:
        '200':
          description: The vehicle summary report is returned
          schema:
            $ref: '#/definitions/VehiclesSummaryReportModel'
        '500':
          description: Internal server error
      security:
      - oauth2: []
  /v1/resourceowner/reports/tripsummary/{dateperiod}:
    get:
      tags:
      - ResourceOwnerReports
      summary: Get a trip summary report
      description: Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format
      operationId: GetTripSummaryReport
      produces:
      - text/plain
      - application/json
      - text/json
      parameters:
      - in: path
        name: dateperiod
        description: Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}
        required: true
        type: string
      responses:
        '200':
          description: The trip summary report are returned
          schema:
            type: array
            items:
              $ref: '#/definitions/TripSummaryReportModel'
        '500':
          description: Internal server error
        '400':
          description: Bad request, date period is not in a correct format
      security:
      - oauth2: []
  /v1/resourceowner/reports/tripsummary/{dateperiod}/{vehicleId}:
    get:
      tags:
      - ResourceOwnerReports
      summary: Get a trip summary report filtered by vehicle
      description: Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format
      operationId: GetTripSummaryReporByVehicleId
      produces:
      - text/plain
      - application/json
      - text/json
      parameters:
      - in: path
        name: dateperiod
        description: Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}
        required: true
        type: string
      - in: path
        name: vehicleId
        description: Report will be filtered on vehicle Id
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: The trip summary report are returned
          schema:
            type: array
            items:
              $ref: '#/definitions/TripSummaryReportModel'
        '500':
          description: Internal server error
        '400':
          description: Bad request, date period is not in a correct format
      security:
      - oauth2: []
  /v1/resourceowner/reports/vehiclesummary/{dateperiod}/{vehicleId}:
    get:
      tags:
      - ResourceOwnerReports
      summary: Get a vehicle summary report
      description: Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format
      operationId: GetVehicleSummaryReportByVehicleId
      produces:
      - text/plain
      - application/json
      - text/json
      parameters:
      - in: path
        name: dateperiod
        description: Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}
        required: true
        type: string
      - in: path
        name: vehicleId
        description: Report will be filtered on vehicle Id
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: The vehicle summary report returned
          schema:
            $ref: '#/definitions/VehicleSummaryModel'
        '500':
          description: Internal server error
        '400':
          description: Bad request, date period is not in a correct format
      security:
      - oauth2: []
  /v1/resourceowner/reports/vehiclessummary/{dateperiod}:
    get:
      tags:
      - ResourceOwnerReports
      summary: Get vehicles summary report
      description: Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format
      operationId: GetVehiclesSummaryReport
      produces:
      - text/plain
      - application/json
      - text/json
      parameters:
      - in: path
        name: dateperiod
        description: Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}
        required: true
        type: string
      responses:
        '200':
          description: The vehicles summary report is returned
          schema:
            $ref: '#/definitions/VehiclesSummaryModel'
        '500':
          description: Internal server error
        '400':
          description: Bad request, date period is not in a correct format
      security:
      - oauth2: []
  /v1/resourceowner/reports/emailtripreport:
    post:
      tags:
      - ResourceOwnerReports
      summary: Email a trip journal report to a desired email address
      description: Only vehicles that the user is associated will be allowed
      operationId: EmailTripReport
      consumes:
      - application/json
      - text/json
      - application/*+json
      parameters:
      - in: body
        name: body
        description: The company model
        schema:
          $ref: '#/definitions/EmailTripReportModel'
      responses:
        '200':
          description: Email with trip journal has been sent
        '500':
          description: Internal server error
        '404':
          description: ISO 639 language code does not exist
        '403':
          description: Not allowed to vehicle
      security:
      - oauth2: []
  /v1/resourceowner/reports/emailtripreport/periods:
    get:
      tags:
      - ResourceOwnerReports
      summary: Get available vehicles and periods for an email trip journal
      operationId: EmailTripReportPeriods
      produces:
      - text/plain
      - application/json
      - text/json
      responses:
        '200':
          description: List with active vehicles and available month to send in email trip journal for is returned
          schema:
            $ref: '#/definitions/EmailTripReportPeriodListModel'
        '500':
          description: Internal server error
      security:
      - oauth2: []
  /v1/resourceowner/reports/geofencelog:
    get:
      tags:
      - ResourceOwnerReports
      summary: ''
      operationId: GetGeofenceLog
      produces:
      - text/plain
      - application/json
      - text/json
      parameters:
      - in: query
        name: vehicleId
        description: ''
        type: integer
        format: int32
      - in: query
        name: geofenceId
        description: ''
        type: integer
        format: int32
      - in: query
        name: fromDate
        description: ''
        type: string
        format: date-time
      - in: query
        name: toDate
        description: ''
        type: string
        format: date-time
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/GeofenceReportModel'
      security:
      - oauth2: []
  /v1/resourceowner/reports/exporttrips:
    get:
      tags:
      - ResourceOwnerReports
      summary: Export trips to Excel or PDF
      description: Only trips that the user is associated with will be returned by this operation.
      operationId: ExportTrips
      produces:
      - text/plain
      - application/json
      - text/json
      parameters:
      - in: query
        name: fromDate
        description: From date
        type: string
        format: date-time
      - in: query
        name: toDate
        description: To date
        type: string
        format: date-time
      - in: query
        name: reportType
        description: Excel or PDF
        type: integer
        format: int32
        enum:
        - 0
        - 1
        - 2
      - in: query
        name: apiTripType
        description: Filter on trip type
        type: integer
        format: int32
        enum:
        - 0
        - 1
        - 2
        - 3
      - in: query
        name: vehicleId
        description: Filter on vehicle
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/HttpResponseMessage'
      security:
      - oauth2: []
definitions:
  TravelTimeReportModel:
    type: object
    properties:
      Period:
        format: int32
        type: integer
      BusinessTravelTimeInMinutes:
        format: int32
        type: integer
      PersonalTravelTimeInMinutes:
        format: int32
        type: integer
      OtherTravelTimeInMinutes:
        format: int32
        type: integer
    additionalProperties: false
  CO2ReportModel:
    type: object
    properties:
      Period:
        format: int32
        type: integer
      BusinessCO2InGrams:
        format: double
        type: number
      PersonalCO2InGrams:
        format: double
        type: number
      OtherCO2InGrams:
        format: double
        type: number
    additionalProperties: false
  EmailTripReportPeriodModel:
    type: object
    properties:
      VehicleId:
        format: int32
        type: integer
      FromDateMonth:
        format: int32
        type: integer
      FromDateYear:
        format: int32
        type: integer
    additionalProperties: false
  VehiclesSummaryReportModel:
    type: object
    properties:
      VehiclesSummary:
        type: array
        items:
          $ref: '#/definitions/VehicleSummaryReportModel'
      Page:
        format: int32
        type: integer
      Records:
        format: int32
        type: integer
      TotalRecords:
        format: int32
        type: integer
      PageSize:
        format: int32
        type: integer
    additionalProperties: false
  StringStringIEnumerableKeyValuePair:
    type: object
    properties:
      Key:
        type: string
      Value:
        type: array
        items:
          type: string
    additionalProperties: false
  VehiclesSummaryModel:
    type: object
    properties:
      DistanceReports:
        type: array
        items:
          $ref: '#/definitions/DistanceReportModel'
      FuelReports:
        type: array
        items:
          $ref: '#/definitions/FuelReportModel'
      TravelTimeReports:
        type: array
        items:
          $ref: '#/definitions/TravelTimeReportModel'
      CO2Reports:
        type: array
        items:
          $ref: '#/definitions/CO2ReportModel'
      IdleTimeReports:
        type: array
        items:
          $ref: '#/definitions/IdleTimeReportModel'
    additionalProperties: false
  VehicleSummaryReportModel:
    type: object
    properties:
      VehicleId:
        format: int32
        type: integer
      VehicleIdentificationNumber:
        type: string
      NumberPlate:
        type: string
      Make:
        type: string
      Model:
        type: string
      ModelYear:
        format: int32
        type: integer
      Business:
        format: double
        type: number
      Private:
        format: double
        type: number
      Other:
        format: double
        type: number
      Total:
        format: double
        type: number
      PeriodStartOdometer:
        format: double
        type: number
      PeriodEndOdometer:
        format: double
        type: number
      FuelConsumptionBusiness:
        format: double
        type: number
      FuelConsumptionPrivate:
        format: double
        type: number
      FuelConsumptionTotal:
        format: double
        type: number
      BusinessTolls:
        format: double
        type: number
      PrivateTolls:
        format: double
        type: number
      OtherTolls:
        format: double
        type: number
      NumberOfBusinessTolls:
        format: int32
        type: integer
      NumberOfPrivateTolls:
        format: int32
        type: integer
      NumberOfOtherTolls:
        format: int32
        type: integer
      NumberOfTolls:
        format: int32
        type: integer
    additionalProperties: false
  HttpContent:
    type: object
    properties:
      Headers:
        type: array
        items:
          $ref: '#/definitions/StringStringIEnumerableKeyValuePair'
        readOnly: true
    additionalProperties: false
  EmailTripReportPeriodListModel:
    type: object
    properties:
      PeriodList:
        type: array
        items:
          $ref: '#/definitions/EmailTripReportPeriodModel'
    additionalProperties: false
  TripsReportModel:
    type: object
    properties:
      VehicleId:
        format: int32
        type: integer
      StartDateTime:
        format: date-time
        description: UTC
        type: string
      StartTimezone:
        format: int32
        type: integer
      EndDateTime:
        format: date-time
        description: UTC
        type: string
      EndTimezone:
        format: int32
        type: integer
      StartOdometer:
        format: int32
        description: Kilometers
        type: integer
      EndOdometer:
        format: int32
        description: Kilometers
        type: integer
      StartAddressName:
        type: string
      EndAddressName:
        type: string
      Distance:
        format: double
        description: Kilometers
        type: number
      ParkedForMinUntilNextTrip:
        format: int32
        type: integer
      FuelConsumption:
        format: double
        description: Liters
        type: number
      Co2Emissions:
        format: double
        description: Grams
        type: number
      IdleTime:
        format: int32
        description: Seconds
        type: integer
      Notes:
        type: string
      TripType:
        format: int32
        type: integer
      TripId:
        format: int64
        type: integer
      Settings:
        format: int64
        type: integer
      DriverContactId:
        format: int32
        type: integer
      LicensePlate:
        type: string
      VehicleName:
        type: string
    additionalProperties: false
  EmailTripReportModel:
    type: object
    properties:
      VehicleId:
        format: int32
        type: integer
      Period:
        format: int32
        type: integer
      ToEmail:
        type: string
      ISO639LanguageCode:
        type: string
      ExcludeDetailsForPersonalTrips:
        type: boolean
      ExcludeEnvironmentalAndFuelData:
        type: boolean
    additionalProperties: false
  TripSummaryReportModel:
    type: object
    properties:
      ReportStartPeriod:
        format: int32
        type: integer
      ReportEndPeriod:
        format: int32
        type: integer
      VehicleId:
        format: int32
        type: integer
      TripType:
        format: int32
        enum:
        - 0
        - 1
        - 2
        type: integer
      DistanceInKilometers:
        format: double
        type: number
      TravelTimeInMinutes:
        format: int32
        type: integer
      FuelInLiters:
        format: double
        type: number
      NumberOfTrips:
        format: int32
        type: integer
    additionalProperties: false
  HttpResponseMessage:
    type: object
    properties:
      Version:
        $ref: '#/definitions/Version'
      Content:
        $ref: '#/definitions/HttpContent'
      StatusCode:
        format: int32
        enum:
        - 100
        - 101
        - 102
        - 103
        - 200
        - 201
        - 202
        - 203
        - 204
        - 205
        - 206
        - 207
        - 208
        - 226
        - 300
        - 301
        - 302
        - 303
        - 304
        - 305
        - 306
        - 307
        - 308
        - 400
        - 401
        - 402
        - 403
        - 404
        - 405
        - 406
        - 407
        - 408
        - 409
        - 410
        - 411
        - 412
        - 413
        - 414
        - 415
        - 416
        - 417
        - 421
        - 422
        - 423
        - 424
        - 426
        - 428
        - 429
        - 431
        - 451
        - 500
        - 501
        - 502
        - 503
        - 504
        - 505
        - 506
        - 507
        - 508
        - 510
        - 511
        type: integer
      ReasonPhrase:
        type: string
      Headers:
        type: array
        items:
          $ref: '#/definitions/StringStringIEnumerableKeyValuePair'
        readOnly: true
      TrailingHeaders:
        type: array
        items:
          $ref: '#/definitions/StringStringIEnumerableKeyValuePair'
        readOnly: true
      RequestMessage:
        $ref: '#/definitions/HttpRequestMessage'
      IsSuccessStatusCode:
        type: boolean
        readOnly: true
    additionalProperties: false
  GeofenceReportModel:
    type: object
    properties:
      FromDate:
        format: date-time
        type: string
      ToDate:
        format: date-time
        type: string
      VehicleId:
        format: int32
        type: integer
      GeofenceId:
        format: int32
        type: integer
      Result:
        type: array
        items:
          $ref: '#/definitions/GeofenceRecordReportModel'
    additionalProperties: false
  IdleTimeReportModel:
    type: object
    properties:
      Period:
        format: int32
        type: integer
      BusinessIdleTimeInMinutes:
        format: int32
        type: integer
      PersonalIdleTimeInMinutes:
        format: int32
        type: integer
      OtherIdleTimeInMinutes:
        format: int32
        type: integer
    additionalProperties: false
  TripsReportRequestModel:
    type: object
    properties:
      VehicleIds:
        description: Optional
        type: array
        items:
          format: int32
          type: integer
      FromDate:
        format: date-time
        description: UTC
        type: string
      ToDate:
        format: date-time
        description: UTC
        type: string
    additionalProperties: false
  VehicleTinyModel:
    type: object
    properties:
      VehicleId:
        format: int32
        type: integer
      NumberPlate:
        type: string
      Make:
        type: string
      Model:
        type: string
      FriendlyName:
        type: string
      FuelType:
        format: int32
        enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        type: integer
      ModelYear:
        format: int32
        type: integer
      ImageUrlMake:
        type: string
      UserFriendlyName:
        type: string
    additionalProperties: false
  HttpMethod:
    type: object
    properties:
      Method:
        type: string
    additionalProperties: false
  GeofenceRecordReportModel:
    type: object
    properties:
      TripId:
        format: int32
        type: integer
      GeofenceId:
        format: int32
        type: integer
      GeofenceName:
        type: string
      GeofenceType:
        format: int32
        enum:
        - 0
        - 1
        - 2
        type: integer
      IsInside:
        type: boolean
      EventDateTime:
        format: date-time
        type: string
      VehicleTinyModel:
        $ref: '#/definitions/VehicleTinyModel'
    additionalProperties: false
  HttpRequestMessage:
    type: object
    properties:
      Version:
        $ref: '#/definitions/Version'
      VersionPolicy:
        format: int32
        enum:
        - 0
        - 1
        - 2
        type: integer
      Content:
        $ref: '#/definitions/HttpContent'
      Method:
        $ref: '#/definitions/HttpMethod'
      RequestUri:
        format: uri
        type: string
      Headers:
        type: array
        items:
          $ref: '#/definitions/StringStringIEnumerableKeyValuePair'
        readOnly: true
      Properties:
        type: object
        additionalProperties: {}
        readOnly: true
      Options:
        type: object
        additionalProperties: {}
        readOnly: true
    additionalProperties: false
  TripsReportResponse:
    type: object
    properties:
      Request:
        $ref: '#/definitions/TripsReportRequestModel'
      TripsReport:
        type: array
        items:
          $ref: '#/definitions/TripsReportModel'
    additionalProperties: false
  DistanceReportModel:
    type: object
    properties:
      Period:
        format: int32
        type: integer
      BusinessDistanceInKilometers:
        format: double
        type: number
      PersonalDistanceInKilometers:
        format: double
        type: number
      OtherDistanceInKilometers:
        format: double
        type: number
    additionalProperties: false
  VehicleSummaryModel:
    type: object
    properties:
      DistanceReports:
        type: array
        items:
          $ref: '#/definitions/DistanceReportModel'
      FuelReports:
        type: array
        items:
          $ref: '#/definitions/FuelReportModel'
      TravelTimeReports:
        type: array
        items:
          $ref: '#/definitions/TravelTimeReportModel'
      CO2Reports:
        type: array
        items:
          $ref: '#/definitions/CO2ReportModel'
      IdleTimeReports:
        type: array
        items:
          $ref: '#/definitions/IdleTimeReportModel'
      VehicleId:
        format: int32
        type: integer
    additionalProperties: false
  FuelReportModel:
    type: object
    properties:
      Period:
        format: int32
        type: integer
      BusinessFuelInLiters:
        format: double
        type: number
      PersonalFuelInLiters:
        format: double
        type: number
      OtherFuelInLiters:
        format: double
        type: number
    additionalProperties: false
  Version:
    type: object
    properties:
      Major:
        format: int32
        type: integer
        readOnly: true
      Minor:
        format: int32
        type: integer
        readOnly: true
      Build:
        format: int32
        type: integer
        readOnly: true
      Revision:
        format: int32
        type: integer
        readOnly: true
      MajorRevision:
        format: int32
        type: integer
        readOnly: true
      MinorRevision:
        format: int32
        type: integer
        readOnly: true
    additionalProperties: false
securityDefinitions:
  oauth2:
    type: oauth2
    flow: implicit
    authorizationUrl: https://api.automile.com/login/
    scopes:
      read: Read access to protected resources
      write: Write access to protected resources
    description: OAuth2 Implicit Grant