Automile ResourceOwnerIntegration API
The ResourceOwnerIntegration API from Automile — 11 operation(s) for resourceownerintegration.
The ResourceOwnerIntegration API from Automile — 11 operation(s) for resourceownerintegration.
swagger: '2.0'
info:
title: Automile ClientApi ResourceOwnerIntegration API
version: v1
tags:
- name: ResourceOwnerIntegration
paths:
/v1/resourceowner/integration:
get:
tags:
- ResourceOwnerIntegration
summary: Integration Configuration
description: ''
operationId: ResourceOwnerIntegrationController_GetIntegrationConfiguration
produces:
- text/plain
- application/json
- text/json
responses:
'200':
description: Successful retrieval of integration settings
schema:
$ref: '#/definitions/IntegrationConfigurationModel'
'500':
description: Internal server error
security:
- oauth2: []
put:
tags:
- ResourceOwnerIntegration
summary: Update integration configuration
description: If you want to update one integration but not the rest you can exclude them from the model.
operationId: ResourceOwnerIntegrationController_UpdateIntegrationSettings
consumes:
- application/json
- text/json
- application/*+json
produces:
- text/plain
- application/json
- text/json
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/IntegrationConfigurationModel'
responses:
'200':
description: Integration configuration successfully retrieved
schema:
$ref: '#/definitions/HttpResponseMessage'
'403':
description: User have no organization or is not authorized to this organization
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/integration/alphabet:
get:
tags:
- ResourceOwnerIntegration
summary: Information
description: Run this once before running Alphabet login. The flag LoginRequired will say if login to Alphabet is required to run (e.g. user has changed password in Alphabet) then this method should be run again after login.
operationId: ResourceOwnerIntegrationController_GetAlphabetInformation
produces:
- text/plain
- application/json
- text/json
responses:
'200':
description: List with active vehicles and available month to send in mileagelog report for is returned
schema:
$ref: '#/definitions/AlphabetInformationModel'
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/integration/alphabet/login:
post:
tags:
- ResourceOwnerIntegration
summary: Alphabet login
description: This is only needed if Alphabet information returned the required login flag set to true. User credentials are stored for future requests.
operationId: ResourceOwnerIntegrationController_AlphabetLogin
produces:
- text/plain
- application/json
- text/json
parameters:
- in: query
name: username
type: string
- in: query
name: password
type: string
responses:
'200':
description: Login succeeded
schema:
$ref: '#/definitions/HttpResponseMessage'
'400':
description: Alphabet returned an error, this will usually be caused by entering wrong username or password
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/integration/alphabet/mileagelog/{vehicleId}/{year}/{month}:
get:
tags:
- ResourceOwnerIntegration
summary: Get Alphabet mileage log
description: Run this with vehicle id and period returned from Alphabet information. Data model contains odometer values and business km from the first day to the last day of sent in month.
operationId: ResourceOwnerIntegrationController_GetAlphabetMileageLog
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: vehicleId
description: The vehicle id
required: true
type: integer
format: int32
- in: path
name: year
description: Year of from date in period
required: true
type: integer
format: int32
- in: path
name: month
description: Month of from date in period
required: true
type: integer
format: int32
responses:
'200':
description: Mileage log data for previewing purpose is returned
schema:
$ref: '#/definitions/AlphabetMileageLogModel'
'400':
description: Invalid parameter values
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
security:
- oauth2: []
post:
tags:
- ResourceOwnerIntegration
summary: Send Alphabet mileage log
description: GET must be run before POST
operationId: ResourceOwnerIntegrationController_SendAlphabetMileageLog
consumes:
- application/json
- text/json
- application/*+json
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: vehicleId
description: The vehicle id
required: true
type: integer
format: int32
- in: path
name: year
description: Year of from date in period
required: true
type: integer
format: int32
- in: path
name: month
description: Month of from date in period
required: true
type: integer
format: int32
- in: body
name: body
description: Model received from GET
schema:
$ref: '#/definitions/AlphabetMileageLogModel'
responses:
'200':
description: Mileage log report was sent
schema:
$ref: '#/definitions/HttpResponseMessage'
'400':
description: Invalid parameter values
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/integration/autoplan:
get:
tags:
- ResourceOwnerIntegration
summary: "AutoPlan Information (Legacy)\r\nThis endpoint uses the old AutoPlan API which requires username/password authentication. Please migrate to the new /autoplan/v2/information endpoint which uses certificate-based authentication."
description: Run this once before running AutoPlan login. The flag LoginRequired will say if login to AutoPlan is required to run (e.g. user has changed password in AutoPlan) then this method should be run again after login.
operationId: ResourceOwnerIntegrationController_GetAutoplanInformation
produces:
- text/plain
- application/json
- text/json
responses:
'200':
description: List with active vehicles and available month to send in mileagelog report for is returned
schema:
$ref: '#/definitions/AutoplanInformationModel'
'500':
description: Internal server error
deprecated: true
security:
- oauth2: []
/v1/resourceowner/integration/autoplan/v2/information:
post:
tags:
- ResourceOwnerIntegration
summary: Get AutoPlan V2 Information
description: Personal identity number must be provided in the request body.
operationId: ResourceOwnerIntegrationController_GetAutoPlanV2Information
consumes:
- application/json
- text/json
- application/*+json
produces:
- text/plain
- application/json
- text/json
parameters:
- in: body
name: body
description: Request containing personal identity number (12 digits in format YYYYMMDDNNNN)
schema:
$ref: '#/definitions/AutoPlanV2InformationRequestModel'
responses:
'200':
description: List of vehicles with available periods for driving journal and odometer readings
schema:
$ref: '#/definitions/AutoPlanV2InformationModel'
'400':
description: Invalid personal identity number
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/integration/autoplan/login:
post:
tags:
- ResourceOwnerIntegration
summary: "AutoPlan login (Legacy)\r\nThis endpoint uses the old AutoPlan API which requires username/password authentication."
description: This is only needed if AutoPlan wizard returned the required login flag set to true. User credentials are stored for future requests.
operationId: ResourceOwnerIntegrationController_AutoplanLogin
produces:
- text/plain
- application/json
- text/json
parameters:
- in: query
name: username
type: string
- in: query
name: password
type: string
responses:
'200':
description: Login succeeded
schema:
$ref: '#/definitions/HttpResponseMessage'
'400':
description: Autoplan returned an error, this will usually be caused by entering wrong username or password
'500':
description: Internal server error
deprecated: true
security:
- oauth2: []
/v1/resourceowner/integration/autoplan/mileagelog/{vehicleId}/{year}/{month}:
get:
tags:
- ResourceOwnerIntegration
summary: Get AutoPlan mileage log (Legacy)
description: Run this with vehicle id and period returned from Autoplan wizard. Data model contains odometer values and business km from the first day to the last day of sent in month.
operationId: ResourceOwnerIntegrationController_GetAutoplanMileageLog
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: vehicleId
description: The vehicle id
required: true
type: integer
format: int32
- in: path
name: year
description: Year of from date in period
required: true
type: integer
format: int32
- in: path
name: month
description: Month of from date in period
required: true
type: integer
format: int32
responses:
'200':
description: Mileage log data for previewing purpose is returned
schema:
$ref: '#/definitions/AutoplanMileageLogModel'
'400':
description: Invalid parameter values
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
deprecated: true
security:
- oauth2: []
post:
tags:
- ResourceOwnerIntegration
summary: Send AutoPlan mileage log (Legacy)
description: GET must be run before POST
operationId: ResourceOwnerIntegrationController_SendAutoplanMileageLog
consumes:
- application/json
- text/json
- application/*+json
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: vehicleId
description: The vehicle id
required: true
type: integer
format: int32
- in: path
name: year
description: Year of from date in period
required: true
type: integer
format: int32
- in: path
name: month
description: Month of from date in period
required: true
type: integer
format: int32
- in: body
name: body
description: Model received from GET
schema:
$ref: '#/definitions/AutoplanMileageLogModel'
responses:
'200':
description: Mileage log report was sent
schema:
$ref: '#/definitions/HttpResponseMessage'
'400':
description: Invalid parameter values
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
deprecated: true
security:
- oauth2: []
/v1/resourceowner/integration/autoplan/v2/drivingjournal/{vehicleId}/{year}/{month}:
get:
tags:
- ResourceOwnerIntegration
summary: Get AutoPlan V2 Driving Journal Preview
description: Get driving journal data for preview before sending. Contains odometer values and business km for the specified period. This is the NEW API endpoint that replaces GET /autoplan/mileagelog (legacy).
operationId: ResourceOwnerIntegrationController_GetAutoPlanV2DrivingJournal
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: vehicleId
description: The vehicle id
required: true
type: integer
format: int32
- in: path
name: year
description: Year of the period
required: true
type: integer
format: int32
- in: path
name: month
description: Month of the period
required: true
type: integer
format: int32
responses:
'200':
description: Driving journal data for preview
schema:
$ref: '#/definitions/AutoPlanV2DrivingJournalModel'
'400':
description: Invalid parameters
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
security:
- oauth2: []
post:
tags:
- ResourceOwnerIntegration
summary: Send AutoPlan V2 Driving Journal
description: 'Send driving journal to AutoPlan V2 API. GET endpoint must be called first to retrieve the data to send. Note: Incoming odometer is automatically calculated from previous period''s outgoing value per API specification. This is the NEW API endpoint that replaces POST /autoplan/mileagelog (legacy).'
operationId: ResourceOwnerIntegrationController_SendAutoPlanV2DrivingJournal
consumes:
- application/json
- text/json
- application/*+json
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: vehicleId
description: The vehicle id
required: true
type: integer
format: int32
- in: path
name: year
description: Year of the period
required: true
type: integer
format: int32
- in: path
name: month
description: Month of the period
required: true
type: integer
format: int32
- in: body
name: body
description: Request containing Personal identity number (12 digits YYYYMMDDNNNN format) and Driving journal data from GET endpoint
schema:
$ref: '#/definitions/AutoPlanV2SendDrivingJournalRequestModel'
responses:
'200':
description: Driving journal successfully sent
schema:
$ref: '#/definitions/HttpResponseMessage'
'400':
description: Invalid parameters or data mismatch
'401':
description: Not all trips in period are approved
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/integration/bilreda:
get:
tags:
- ResourceOwnerIntegration
summary: Bilreda Information
description: Currently in the period list the month previous to today will always have the selected flag set to true.
operationId: ResourceOwnerIntegrationController_GetBilredaInformation
produces:
- text/plain
- application/json
- text/json
responses:
'200':
description: Active vehicle with a list of available months to send in mileagelog report for is returned
schema:
$ref: '#/definitions/BilredaInformationModel'
'400':
description: User may not have activated any Bilreda integration
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/integration/bilreda/mileagelog/{vehicleId}/{year}/{month}:
get:
tags:
- ResourceOwnerIntegration
summary: Get Bilreda mileage log
description: Run this with vehicle id and period returned from Bilreda wizard. Data model contains odometer values and business km from the first day to the last day of sent in month.
operationId: ResourceOwnerIntegrationController_GetBilredaMileageLog
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: vehicleId
description: The vehicle id
required: true
type: integer
format: int32
- in: path
name: year
description: Year of from date in period
required: true
type: integer
format: int32
- in: path
name: month
description: Month of from date in period
required: true
type: integer
format: int32
responses:
'200':
description: Mileage log data for previewing purpose is returned
schema:
$ref: '#/definitions/BilredaMileageLogModel'
'400':
description: Invalid parameter values
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
security:
- oauth2: []
post:
tags:
- ResourceOwnerIntegration
summary: Send Bilreda mileage log
description: GET must be run before POST
operationId: ResourceOwnerIntegrationController_SendBilredaMileageLog
consumes:
- application/json
- text/json
- application/*+json
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: vehicleId
description: The vehicle id
required: true
type: integer
format: int32
- in: path
name: year
description: Year of from date in period
required: true
type: integer
format: int32
- in: path
name: month
description: Month of from date in period
required: true
type: integer
format: int32
- in: body
name: body
description: Model received from GET
schema:
$ref: '#/definitions/BilredaMileageLogModel'
responses:
'200':
description: Mileage log report was sent
schema:
$ref: '#/definitions/HttpResponseMessage'
'400':
description: Invalid parameter values
'403':
description: You are not authorized to this vehicle
'500':
description: Internal server error
security:
- oauth2: []
definitions:
AutoPlanV2InformationRequestModel:
type: object
properties:
PersonalIdentityNumber:
type: string
additionalProperties: false
StringStringIEnumerableKeyValuePair:
type: object
properties:
Key:
type: string
Value:
type: array
items:
type: string
additionalProperties: false
BilredaInformationModel:
type: object
properties:
LoginIsRequired:
type: boolean
VehicleList:
type: array
items:
$ref: '#/definitions/IntegrationVehicleModel'
additionalProperties: false
HttpContent:
type: object
properties:
Headers:
type: array
items:
$ref: '#/definitions/StringStringIEnumerableKeyValuePair'
readOnly: true
additionalProperties: false
AutoPlanV2SendDrivingJournalRequestModel:
type: object
properties:
PersonalIdentityNumber:
type: string
JournalData:
$ref: '#/definitions/AutoPlanV2DrivingJournalModel'
additionalProperties: false
AutoPlanV2VehicleInfo:
type: object
properties:
VehicleId:
format: int32
type: integer
FriendlyName:
type: string
NumberPlate:
type: string
IsVehicleApproved:
type: boolean
PeriodList:
type: array
items:
$ref: '#/definitions/AutoPlanV2PeriodInfo'
additionalProperties: false
AutoPlanV2PeriodInfo:
type: object
properties:
Year:
format: int32
type: integer
Month:
format: int32
type: integer
IsSelected:
type: boolean
additionalProperties: false
AlphabetInformationModel:
type: object
properties:
LoginIsRequired:
type: boolean
VehicleList:
type: array
items:
$ref: '#/definitions/IntegrationVehicleModel'
additionalProperties: false
AutoplanInformationModel:
type: object
properties:
LoginIsRequired:
type: boolean
VehicleList:
type: array
items:
$ref: '#/definitions/IntegrationVehicleModel'
additionalProperties: false
IntegrationVehicleModel:
type: object
properties:
FriendlyName:
type: string
NumberPlate:
type: string
VehicleId:
format: int32
type: integer
IsVehicleApproved:
type: boolean
PeriodList:
type: array
items:
$ref: '#/definitions/IntegrationPeriodModel'
additionalProperties: false
BilredaMileageLogModel:
type: object
properties:
StartOdometerKm:
format: int32
type: integer
EndOdometerKm:
format: int32
type: integer
BusinessKm:
format: int32
type: integer
IsApproved:
type: boolean
TotalKm:
format: int32
type: integer
readOnly: true
OtherAndPrivateKm:
format: int32
type: integer
readOnly: true
TollFeeBusiness:
format: int32
type: integer
additionalProperties: false
AlphabetMileageLogModel:
type: object
properties:
StartOdometerKm:
format: int32
type: integer
EndOdometerKm:
format: int32
type: integer
BusinessKm:
format: int32
type: integer
IsApproved:
type: boolean
TotalKm:
format: int32
type: integer
readOnly: true
OtherAndPrivateKm:
format: int32
type: integer
readOnly: true
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
IntegrationPeriodModel:
type: object
properties:
Year:
format: int32
type: integer
Month:
format: int32
type: integer
IsSelected:
type: boolean
additionalProperties: false
IntegrationConfigurationModel:
type: object
properties:
AutoPlanActive:
type: boolean
AlphabetActive:
type: boolean
BilredaActive:
type: boolean
BilredaVehicleId:
format: int32
type: integer
additionalProperties: false
HttpMethod:
type: object
properties:
Method:
type: string
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
AutoPlanV2InformationModel:
type: object
properties:
VehicleList:
type: array
items:
$ref: '#/definitions/AutoPlanV2VehicleInfo'
additionalProperties: false
AutoplanMileageLogModel:
type: object
properties:
StartOdometerKm:
format: int32
type: integer
EndOdometerKm:
format: int32
type: integer
BusinessKm:
format: int32
type: integer
IsApproved:
type: boolean
TotalKm:
format: int32
type: integer
readOnly: true
OtherAndPrivateKm:
format: int32
type: integer
readOnly: true
additionalProperties: false
AutoPlanV2DrivingJournalModel:
type: object
properties:
StartOdometerKm:
format: int32
type: integer
EndOdometerKm:
format: int32
type: integer
BusinessKm:
format: int32
type: integer
IsApproved:
type: boolean
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