Skip to content

Instantly share code, notes, and snippets.

@jordanstephens
Created November 7, 2022 19:44
Show Gist options
  • Select an option

  • Save jordanstephens/edea10a112922fdb93ddf18b7213952e to your computer and use it in GitHub Desktop.

Select an option

Save jordanstephens/edea10a112922fdb93ddf18b7213952e to your computer and use it in GitHub Desktop.
Fleetio OpenAPI Specification
openapi: 3.0.0
info:
title: Fleetio Developer API
version: '1.0'
contact:
name: Fleetio Support
email: [email protected]
url: https://www.fleetio.com/contact
description: |-
## Getting Started
Welcome to the Fleetio API docs. Our REST API allows programmatic access to Fleetio resources (e.g. vehicles, meter entries and fuel entries) so developers can build integrations with 3rd-party and/or internal software systems. Each API resource has available actions that can be performed on it. Supported resources and their endpoints are listed on the left.
### Step 1: Generating an API Key
Each user account can have multiple API keys. Here's to generate one.
1. [Log in](http://secure.fleetio.com/users/sign_in) to Fleetio and navigate
to your Account Menu, then User Settings:
<img src="https://files.readme.io/e9f1636-user-settings.png" alt="" width="200"/>
2. Click _Manage API Keys_.
![](https://files.readme.io/ed91978-manage-api-keys.png)
Next, click the + New API Key button:
![](https://files.readme.io/e60adda-new-api-key.png)
3. Add a label for your API key. A label is simply a way of allowing you to
organize your keys. An API key may be revoked, making it unusable and
non-recoverable.
> API Key Security
>
> API keys are secret. We strongly recommend against pasting it online or
committing it to a repository. Treat it as you would your password.
### Step 2: Set API Key HTTP Header
Each request to our API requires a valid API key to be passed as an HTTP header. There is no need to issue any login commands or to maintain a session. The API key must be passed as a basic `Authorization` token header.
### Step 3: Set Account Token HTTP Header
Each request to the Fleetio API requires the presence of an Account token HTTP header. This token must be a valid token belonging to one of your user's accounts, and it must be passed using the `Account-Token` header. You can find the account token for a particular account in the URL when you log into Fleetio:
![](https://files.readme.io/1a8b1d4-account-token.png)
### Step 4: Make your first API request using the API docs
You can test API calls in these online docs using the Try It Out forms. Simply navigate to an API endpoint you wish to test (for example, the [Parts Index](https://developer.fleetio.com/docs/parts)), and enter your `Authorization` and `Account-Token`. Be sure to put the word `Token` in front of the `Authorization` value.
![](https://files.readme.io/b9bc38b-fleetio-try-it-out.gif)
### Step 5: Make API requests using your app
Now you're ready to make requests to the Fleetio API using your programming tool of choice. Here's an example using cURL:
```
curl \
--header "Authorization: Token YOUR_API_KEY" \
--header "Account-Token: YOUR_ACCOUNT_TOKEN" \
"https://secure.fleetio.com/api/v1/vehicles"
```
## Schema
The Fleetio API uses standard conventions for its architecture:
- API Base URL: https://secure.fleetio.com/api/v1/
- All API access is over HTTPS
- All data is sent and received as JSON
### Endpoints and Actions
Most resources follow the same format, exposing 5 actions, `index`, `create`, `show`, `update`, and `delete`. Each action will require that the correct http verb be specified, as a single endpoint can perform different actions depending on the verb.
## Permissions
Each API key is associated to a single, full fledged Fleetio user. Each Fleetio user has a set of permissions that limit what actions he or she can take on which resources. The same rules that apply to a user via the standard Fleetio interface also apply when interacting with the Fleetio API.
[Read more about Fleetio permissions](https://help.fleetio.com/hc/en-us/articles/360019211872-User-Roles-Permissions)
If an attempt is made to read or modify a resource for which the API user does not have access to, then a `403 Forbidden` response code will be returned. If you receive this response code then make sure that the API user has the correct permissions for that action. Getting an Account Token via the API
### Getting an Account Token via the API
It's also possible to list all account tokens for a user through the API. Please see the [accounts api endpoint](http://developer.fleetio.com/v1/docs/accounts) for more information.
## Pagination
When requesting a large data set from the Fleetio API, the data set is returned in chunks, instead of all at once. This is a common pattern for API's that allow them to return query results rapidly and without putting unnecessary strain on the database. Each chunk of results is called a page.
In Fleetio, paging is used for all index actions. The current page size is set to 100, but it is subject to change at any moment, so don't code yourself into a wall by hardcoding 100 as the expected page size. Fleetio returns four response headers along with the result set to help you work with the paginated data.
license:
name: None
url: https://www.fleetio.com/terms
termsOfService: https://www.fleetio.com/terms
servers:
- url: https://secure.fleetio.com/api
description: Production
tags:
- name: Accounts
description: |
An Account represents your organization in Fleetio. All of your fleetio data
is associated with your Account.
- name: Acquisitions
description: |
Acquisitions allow you to track data regarding the acquisition and disposal
of your Vehicles. This may include Purchase, Loan or Lease details.
- name: Comments
description: |
A Comment is a note which can be attached to another resource in fleetio,
for example a Vehicle, or a Vendor. Watchers of the resource will receive a
Notification of the comment, as will users who are @mentioned.
- name: Contact Renewal Reminders
description: |
Contact Renewal Reminders help you keep track of contact-specific activities
like license renewals, industry certifications, or other events applicable
to individuals affiliated with your business.
- name: Contact Renewal Types
description: |
Contact Renewal Types allow you to customize the various renewal events and
activities that are required for your contacts. These types can be selected
when creating Contact Renewal Reminders in Fleetio, and then used for
sorting, filtering, and reporting.
- name: Contacts
description: |
A Contact is a person employed by your organization or a person with whom
your organization does business.
- name: Expense Entries
description: |
A ExpenseEntry is a record of a cost associated with a Vehicle. Expenses can
belong to different categories, such as service costs, fuel costs,
licensing, registration, or insurance costs, among others. Expenses recorded
over time are factored into the Vehicle's Total Cost of Ownership (TCO)
calculation—an essential metric for fleet managers in determining the useful
life of a Vehicle.
- name: Expense Entry Types
description: |
A ExpenseEntryType is a category of cost associated with Vehicles in your
fleet. Fleetio already includes many pre-defined types, but you may also
create your own. Pre-defined types include Annual Inspection Fees,
Depreciation, Equipment, Fines, Insurance, Legal/Court Costs, Lease Payment,
Loan Payment, Miscellaneous, Moving Violations, Safety Technology,
Telematics Device, Tolls, Vehicle Disposal Costs, and Vehicle Registration
and Taxes.
- name: Faults
description: |
Fleetio integrates with several GPS tracking & telematics providers to
import and manage Faults, such as Diagnostic Trouble Code (DTC) alerts.
These can also be reported via API.
- name: Fuel Entries
description: |
Fuel Entries represent a fuel transaction in Fleetio and are an important
feature to maximize your data. They contain all of the relevant information
for the fuel-up, such as vendor and odometer information
- name: Fuel Types
description: |
Fuel Types help you categorize Fuel Entries in Fleetio to help you group and
report fuel costs. Fleetio includes pre-defined Fuel Types Diesel, Gasoline,
and Propane. You may edit or delete these Types, and you may also add your
own custom types.
- name: Groups
description: |
Fleetio allows you to create a hierarchy of Groups and Subgroups. This
allows you to organize your Vehicles, Equipment and Contacts and manage
Permissions accordingly. Create groups however you want, such as groups for
different geographic areas, company departments, or cost centers.
Groups are especially useful if you only want users to access certain assets
or want to add users as watchers to an entire set of vehicles at once.
Find groups and subgroups in your account settings under the Administration
section.
- name: Issues
description: |
Issues in Fleetio allows users to log and track unexpected, unplanned, or
"one-time" problems and repairs. These services typically do not fit within
the routine Preventative Maintenance (PM) category. Examples of Issues
include leaks, breakdowns, and failed Inspection checklist items.
- name: Labels
description: |
Labels help users prioritize and categorize the work to be done on a Vehicle
in Fleetio. The most common use for Labels is to identify the area of the
Vehicle receiving the service and/or the priority of the service. Labels may
be added many resources in Fleetio, including Documents, Equipment, Issues,
Purchase Orders, Service Entries, Vendors, and Work Orders. They are also
available as a Filter option in Reports.
- name: Location Entries
description: |
A LocationEntry is a snapshot of an asset's location at a point in time.
Location Entries can be recorded with GPS Device Integrations or by enabling
location services on mobile devices running Fleetio Go.
- name: Meter Entries
description: |
A Meter Entry is a recording from a Meter at a point in time. A Meter could
be an odometer, an hour meter, or an auxiliary meter. Meter Entries are used
to track vehicle usage, monitor your costs, and trigger Service Reminders.
- name: Places
description: |
Places allow you to identify and save specific locations that are important
for your fleet. A Geofence defines the boundaries of a place. Geofences are
used to signal when a Location Entry falls within a certain radius of a
place, and allow you to set up Alerts to monitor activity.
- name: Vehicle Renewal Reminders
description: |
Vehicle Renewal Reminders are designed to help you keep your Vehicles
current on various non-maintenance activities such as emission tests,
registration, insurance, and more.
- name: Vehicles
description: |
Vehicles are the heart of Fleetio. A "vehicle" represents any asset or unit
of equipment—moving or otherwise—managed in Fleetio.
- name: Vendors
description: |
A Vendor is any entity that your organization does business with. This might
include vehicle or equipment service providers, purchasing and loans, retail
suppliers, fuel providers and much more. This entity can be a third-party
provider or an in-house group or cost center.
paths:
/v1/accounts:
get:
summary: List Accounts
tags:
- Accounts
operationId: V1::Accounts::Index
description: |
Allows you to see information about the corresponding account(s) related to a given API key, such as the company name and address.
NOTE: This endpoint does not require you to pass in the Account-Token header. It does still require the API key to be passed in via the Authorization header though, as this API key is what is used to lookup the associated accounts.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Account'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/acquisitions:
get:
summary: List
tags:
- Acquisitions
operationId: V1::Acquisitions::Index
description: |
Returns a list of your Acquisitions.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Acquisition'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Acquisitions
operationId: V1::Acquisitions::Create
description: |
Creates a new Acquisition
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Acquisition'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/acquisitions/{id}:
get:
summary: Retrieve
tags:
- Acquisitions
operationId: V1::Acquisitions::Show
description: |
Retrieve the details of an existing Acquisition.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Acquisition'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Acquisitions
operationId: V1::Acquisitions::Update
description: |
Update a Acquisition
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Acquisition'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/comments:
get:
summary: List
tags:
- Comments
operationId: V1::Comments::Index
description: |
Returns a list of your comments.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Comment'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Comments
operationId: V1::Comments::Create
description: |
Creates a new comment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CommentParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/comments/{id}:
get:
summary: Retrieve
tags:
- Comments
operationId: V1::Comments::Show
description: |
Retrieve the details of an existing Comment.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Comments
operationId: V1::Comments::Update
description: |
Update a Comment
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CommentParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/contacts:
get:
summary: List
tags:
- Contacts
operationId: V1::Contacts::Index
description: |
Returns a list of your contacts.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Contact'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Contacts
operationId: V1::Contacts::Create
description: |
Creates a new contact
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/contacts/{id}:
get:
summary: Retrieve
tags:
- Contacts
operationId: V1::Contacts::Show
description: |
Retrieve the details of an existing Contact.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Contacts
operationId: V1::Contacts::Update
description: |
Update a Contact
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/contact_renewal_reminders:
get:
summary: List
tags:
- ContactRenewalReminders
operationId: V1::ContactRenewalReminders::Index
description: |
Returns a list of your ContactRenewalReminders.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ContactRenewalReminder'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- ContactRenewalReminders
operationId: V1::ContactRenewalReminders::Create
description: |
Creates a new ContactRenewalReminder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalReminderParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalReminder'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/contact_renewal_reminders_{id}:
get:
summary: Retrieve
tags:
- ContactRenewalReminders
operationId: V1::ContactRenewalReminders::Show
description: |
Retrieve the details of an existing ContactRenewalReminder.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalReminder'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- ContactRenewalReminders
operationId: V1::ContactRenewalReminders::Update
description: |
Update a ContactRenewalReminder
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalReminderParameters'
responses:
'204':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalReminder'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/contact_renewal_types:
get:
summary: List
tags:
- ContactRenewalTypes
operationId: V1::ContactRenewalTypes::Index
description: |
Returns a list of your ContactRenewalTypes.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ContactRenewalType'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- ContactRenewalTypes
operationId: V1::ContactRenewalTypes::Create
description: |
Creates a new ContactRenewalType
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalTypeParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalType'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/contact_renewal_types_{id}:
get:
summary: Retrieve
tags:
- ContactRenewalTypes
operationId: V1::ContactRenewalTypes::Show
description: |
Retrieve the details of an existing ContactRenewalType.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalType'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- ContactRenewalTypes
operationId: V1::ContactRenewalTypes::Update
description: |
Update a ContactRenewalType
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalTypeParameters'
responses:
'204':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ContactRenewalType'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/expense_entries:
get:
summary: List
tags:
- Expense Entries
operationId: V1::ExpenseEntries::Index
description: |
List your Expense Entries
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExpenseEntry'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Expense Entries
operationId: V1::ExpenseEntries::Create
description: |
Creates a new Expense Entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntryParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntry'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/expense_entries/{id}:
get:
summary: Retrieve
tags:
- Expense Entries
operationId: V1::ExpenseEntries::Show
description: |
Retrieve the details of a Expense Entry.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntry'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Expense Entries
operationId: V1::ExpenseEntries::Update
description: |
Update a Expense Entry
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntryParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntry'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/expense_entry_types:
get:
summary: List
tags:
- Expense Entry Types
operationId: V1::ExpenseEntryTypes::Index
description: |
List your Expense Entries
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExpenseEntryType'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Expense Entry Types
operationId: V1::ExpenseEntryTypes::Create
description: |
Creates a new ExpenseEntryType
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntryTypeParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntryType'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/expense_entry_types/{id}:
get:
summary: Retrieve
tags:
- Expense Entry Types
operationId: V1::ExpenseEntryTypes::Show
description: |
Retrieve the details of a Expense Entry Type.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntryType'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Expense Entry Types
operationId: V1::ExpenseEntryTypes::Update
description: |
Update a Expense Entry Type
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntryTypeParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseEntryType'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/faults:
get:
summary: List
tags:
- Faults
operationId: V1::Faults::Index
description: |
Returns a list of the Faults recorded for all vehicles in your account.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Fault'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Faults
operationId: V1::Faults::Create
description: |
Creates a new Fault
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FaultParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Fault'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/faults/{id}:
get:
summary: Retrieve
tags:
- Faults
operationId: V1::Faults::Show
description: |
Retrieve the details of an existing Fault.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Fault'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Faults
operationId: V1::Faults::Update
description: |
Update a Fault
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FaultParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Fault'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/fault_rules:
get:
summary: List
tags:
- Faults
operationId: V1::FaultRules::Index
description: |
Returns a list of your FaultRules.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FaultRule'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Faults
operationId: V1::FaultRules::Create
description: |
Creates a new FaultRule
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FaultRuleParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FaultRule'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/fault_rules/{id}:
get:
summary: Retrieve
tags:
- Faults
operationId: V1::FaultRules::Show
description: |
Retrieve the details of an existing FaultRule.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FaultRule'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Faults
operationId: V1::FaultRules::Update
description: |
Update a FaultRule
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FaultRuleParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FaultRule'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/fuel_entries:
get:
summary: List
tags:
- Fuel Entries
operationId: V1::FuelEntries::Index
description: |
Returns a list of Fuel Entries belonging to your account.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FuelEntry'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Fuel Entries
operationId: V1::FuelEntries::Create
description: |
Creates a new Fuel Entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FuelEntryParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FuelEntry'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/fuel_entries/{id}:
get:
summary: Retrieve
tags:
- Fuel Entries
operationId: V1::FuelEntries::Show
description: |
Retrieve the details of an existing Fuel Entry.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FuelEntry'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Fuel Entries
operationId: V1::FuelEntries::Update
description: |
Update a Fuel Entry
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FuelEntryParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FuelEntry'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/fuel_types:
get:
summary: List
tags:
- Fuel Types
operationId: V1::FuelTypes::Index
description: |
Returns a list of Fuel Types belonging to your account.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FuelType'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Fuel Types
operationId: V1::FuelTypes::Create
description: |
Creates a new Fuel Type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FuelTypeParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FuelType'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/fuel_types/{id}:
get:
summary: Retrieve
tags:
- Fuel Types
operationId: V1::FuelTypes::Show
description: |
Retrieve the details of an existing Fuel Type.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FuelType'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Fuel Types
operationId: V1::FuelTypes::Update
description: |
Update a Fuel Type
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FuelTypeParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FuelType'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/groups:
get:
summary: List
tags:
- Groups
operationId: V1::Groups::Index
description: |
Returns a list of Groups belonging to your account.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Groups
operationId: V1::Groups::Create
description: |
Creates a new Group
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/groups/{id}:
get:
summary: Retrieve
tags:
- Groups
operationId: V1::Groups::Show
description: |
Retrieve the details of an existing Group.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Groups
operationId: V1::Groups::Update
description: |
Update a Group
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/issues:
get:
summary: List
tags:
- Issues
operationId: V1::Issues::Index
description: |
Returns a list of Issues belonging to your account.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Issue'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Issues
operationId: V1::Issues::Create
description: |
Creates a new Issue
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IssueParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Issue'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/issues/{id}:
get:
summary: Retrieve
tags:
- Issues
operationId: V1::Issues::Show
description: |
Retrieve the details of an existing Issue.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Issue'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Issues
operationId: V1::Issues::Update
description: |
Update a Issue
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IssueParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Issue'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/labels:
get:
summary: List
tags:
- Labels
operationId: V1::Labels::Index
description: |
Returns a list of Labels belonging to your account.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Label'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Labels
operationId: V1::Labels::Create
description: |
Creates a new Label
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LabelParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Label'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/labels/{id}:
get:
summary: Retrieve
tags:
- Labels
operationId: V1::Labels::Show
description: |
Retrieve the details of an existing Label.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Label'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Labels
operationId: V1::Labels::Update
description: |
Update a Label
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LabelParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Label'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/location_entries:
get:
summary: List
tags:
- Location Entries
operationId: V1::LocationEntries::Index
description: |
Returns a list of your Location Entries.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LocationEntry'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Location Entries
operationId: V1::LocationEntries::Create
description: |
Creates a new [LocationEntry](/#tag/Location-Entries) for a [Vehicle](/#tag/Vehicles) or for a [Contact](/#tag/Contacts)
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LocationEntryParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LocationEntry'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/location_entries/{id}:
get:
summary: Retrieve
tags:
- Location Entries
operationId: V1::LocationEntries::Show
description: |
Retrieve the details of a LocationEntry.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LocationEntry'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Location Entries
operationId: V1::LocationEntries::Update
description: |
Updates an existing LocationEntry
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LocationEntryParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LocationEntry'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/meter_entries:
get:
summary: List
tags:
- Meter Entries
operationId: V1::MeterEntries::Index
description: |
List your Meter Entries
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MeterEntry'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Meter Entries
operationId: V1::MeterEntries::Create
description: |
Creates a new Meter Entry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MeterEntryParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MeterEntry'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/meter_entries/{id}:
get:
summary: Retrieve
tags:
- Meter Entries
operationId: V1::MeterEntries::Show
description: |
Retrieve the details of a Meter Entry.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MeterEntry'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Meter Entries
operationId: V1::MeterEntries::Update
description: |
Update a Meter Entry
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MeterEntryParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MeterEntry'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/places:
get:
summary: List
tags:
- Places
operationId: V1::Places::Index
description: |
Returns a list of Places belonging to your account.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Place'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Places
operationId: V1::Places::Create
description: |
Creates a new Place
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlaceParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Place'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/places/{id}:
get:
summary: Retrieve
tags:
- Places
operationId: V1::Places::Show
description: |
Retrieve the details of an existing Place.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Place'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Places
operationId: V1::Places::Update
description: |
Update a Place
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlaceParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Place'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/vehicles:
get:
summary: List
tags:
- Vehicles
operationId: V1::Vehicles::Index
description: |
Returns a list of your vehicles. Defaults to only returning non-archived
vehicles, but you can include archived vehicles in the results as well.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Vehicle'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Vehicles
operationId: V1::Vehicles::Create
description: |
Creates a new vehicle
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Vehicle'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/vehicles/{id}:
get:
summary: Retrieve
tags:
- Vehicles
operationId: V1::Vehicles::Show
description: |
Retrieve the details of an existing Vehicle.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Vehicle'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Vehicles
operationId: V1::Vehicles::Update
description: |
Update a Vehicle
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Vehicle'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/vehicle_renewal_reminders:
get:
summary: List
deprecated: true
tags:
- Vehicle Renewal Reminders
operationId: V1::VehicleRenewalReminders::Index
description: |
Returns a list of your Vehicle Renewal Reminders
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/VehicleRenewalReminder'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
deprecated: true
tags:
- Vehicle Renewal Reminders
operationId: V1::VehicleRenewalReminders::Create
description: |
Creates a new Vehicle Renewal Reminder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleRenewalReminderParameters'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleRenewalReminder'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/vehicle_renewal_reminders_{id}:
get:
summary: Retrieve
deprecated: true
tags:
- Vehicle Renewal Reminders
operationId: V1::VehicleRenewalReminders::Show
description: |
Retrieve the details of a Vehicle Renewal Reminder.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleRenewalReminder'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
deprecated: true
tags:
- Vehicle Renewal Reminders
operationId: V1::VehicleRenewalReminders::Update
description: |
Update a Vehicle Renewal Reminder
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleRenewalReminderParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleRenewalReminder'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/vendors:
get:
summary: List
tags:
- Vendors
operationId: V1::Vendors::Index
description: |
Returns a list of Vendors belonging to your account.
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Vendor'
headers:
X-PaginationLimit:
$ref: '#/components/headers/PaginationLimit'
X-Pagination-Current-Page:
$ref: '#/components/headers/PaginationCurrentPage'
X-Pagination-Total-Pages:
$ref: '#/components/headers/PaginationTotalPages'
X-Pagination-Total-Count:
$ref: '#/components/headers/PaginationTotalCount'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create
tags:
- Vendors
operationId: V1::Vendors::Create
description: |
Creates a new Vendor
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VendorParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Vendor'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
/v1/vendors/{id}:
get:
summary: Retrieve
tags:
- Vendors
operationId: V1::Vendors::Show
description: |
Retrieve the details of an existing Vendor.
parameters:
- $ref: '#/components/parameters/RecordId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Vendor'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Update
tags:
- Vendors
operationId: V1::Vendors::Update
description: |
Update a Vendor
parameters:
- $ref: '#/components/parameters/RecordId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VendorParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Vendor'
headers: {}
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/UnexpectedError'
security:
- apiKey: []
components:
securitySchemes:
apiKey:
type: apiKey
in: header
name: Authorization
description: 'Prefix the value with \"Token\", for example: \"Token 76cbe06c49a64\"'
headers:
PaginationLimit:
schema:
type: string
description: The per page limit. Currently set to 100 but subject to change at any time.
PaginationCurrentPage:
schema:
type: string
description: The current page. Defaults to 1.
PaginationTotalPages:
schema:
type: string
description: The total number of pages in the result set. Use this along with Pagination-Current-Page to determine if there are any remaining pages/records to be retrieved.
PaginationTotalCount:
schema:
type: string
description: The total number of records in the result set (across all pages).
schemas:
Id:
title: Id
type: number
minimum: 1
Account:
title: Account
x-tags:
- Accounts
description: An Account
type: object
additionalProperties: false
required:
- id
- created_at
- updated_at
- name
- token
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_membership_id:
$ref: '#/components/schemas/Id'
name:
type: string
user_type:
type: string
token:
type: string
time_24_format:
type: boolean
currency_symbol:
type: string
city:
type: string
nullable: true
region:
type: string
nullable: true
postal_code:
type: string
nullable: true
street_address:
type: string
nullable: true
street_address_line_2:
type: string
nullable: true
country:
type: string
nullable: true
read_vehicles:
type: boolean
manage_vehicles:
type: boolean
create_vehicles:
type: boolean
read_fuel_entries:
type: boolean
manage_fuel_entries:
type: boolean
read_service_entries:
type: boolean
manage_service_entries:
type: boolean
read_issues:
type: boolean
manage_issues:
type: boolean
read_work_orders:
type: boolean
manage_work_orders:
type: boolean
read_service_reminders:
type: boolean
manage_service_reminders:
type: boolean
read_vehicle_renewal_reminders:
type: boolean
manage_vehicle_renewal_reminders:
type: boolean
read_comments:
type: boolean
manage_comments:
type: boolean
read_meter_entries:
type: boolean
manage_meter_entries:
type: boolean
read_groups:
type: boolean
read_contacts:
type: boolean
fleetio_manage:
type: boolean
inspections:
type: boolean
update_parts:
type: boolean
update_inventory:
type: boolean
allowed_part_location_ids:
type: array
items:
type: integer
new_inventory_permissions:
type: boolean
plan:
type: string
state:
type: string
default_meter_unit:
type: string
nullable: true
default_fuel_volume_unit:
type: string
nullable: true
default_system_of_measurement:
type: string
nullable: true
tax_settings:
type: object
properties:
tax_free_labor:
type: boolean
nullable: true
tax_2:
type: string
nullable: true
default_tax_1:
type: string
nullable: true
default_tax_2:
type: string
nullable: true
default_tax_type:
type: string
nullable: true
next_work_order_number:
type: integer
offline_inspections:
type: boolean
inspections_new_item_type_beta:
type: boolean
paying_customer:
type: boolean
is_demo:
type: boolean
require_group:
type: boolean
require_a_meter_entry_on_service_entry_or_completed_work_order:
type: boolean
has_ro_notification_subscription:
type: boolean
require_an_inventory_location_on_wo_part_line_items:
type: boolean
use_forecasted_dates_for_service_reminders:
type: boolean
require_a_rpc_on_service_entry_or_completed_work_order:
type: boolean
vmrs_system_enabled:
type: boolean
vmrs_assembly_enabled:
type: boolean
vmrs_component_enabled:
type: boolean
disable_reason_for_repair_editing:
type: boolean
disable_system_assembly_component_editing:
type: boolean
ProblemDetails:
title: ProblemDetails
type: object
description: The Problem Details JSON Object [[RFC7807](https://tools.ietf.org/html/rfc7807)].
properties:
status:
type: integer
minimum: 400
maximum: 599
title:
type: string
description: A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.
detail:
type: string
description: A human-readable explanation specific to this occurrence of the problem.
instance:
type: string
description: A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
required:
- status
- title
AcquisitionType:
title: AcquisitionType
type: string
enum:
- loan
- lease
NullableId:
title: NullableId
type: number
minimum: 1
nullable: true
Acquisition:
title: Acquisition
x-tags:
- Acquisitions
description: A Acquisition
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
vehicle_id:
$ref: '#/components/schemas/Id'
acquisition_type:
$ref: '#/components/schemas/AcquisitionType'
vendor_id:
$ref: '#/components/schemas/NullableId'
lender_id:
$ref: '#/components/schemas/NullableId'
first_payment_date:
type: string
format: date
nullable: true
number_of_payments:
type: number
format: int32
nullable: true
mileage_cap:
type: number
format: int32
nullable: true
annual_percentage_rate:
type: number
nullable: true
reference_number:
type: string
nullable: true
notes:
type: string
nullable: true
loan_amount:
type: number
format: int32
nullable: true
down_payment_amount:
type: number
format: int32
nullable: true
monthly_cost:
type: number
format: int32
nullable: true
capitalized_cost:
type: number
format: int32
nullable: true
residual_value:
type: number
format: int32
nullable: true
purchase_price:
type: number
format: int32
nullable: true
mileage_charge:
type: number
format: int32
nullable: true
vehicle:
type: object
nullable: true
lender:
type: object
nullable: true
vendor:
type: object
nullable: true
AcquisitionParameters:
title: AcquisitionParameters
x-tags:
- Acquisitions
description: Parameters used to create a new Acquisition
type: object
required:
- vehicle_id
- acquisition_type
properties:
acquisition_type:
$ref: '#/components/schemas/AcquisitionType'
vehicle_id:
$ref: '#/components/schemas/Id'
vendor_id:
$ref: '#/components/schemas/NullableId'
lender_id:
$ref: '#/components/schemas/NullableId'
monthly_cost:
type: number
format: int32
capitalized_cost:
type: number
format: int32
down_payment_amount:
type: number
format: int32
residual_value:
type: number
format: int32
purchase_price:
type: number
format: int32
acquisition_date:
type: string
format: date
first_payment_date:
type: string
format: date
number_of_payments:
type: number
format: int32
mileage_cap:
type: number
format: int32
loan_amount:
type: number
format: int32
mileage_charge:
type: number
format: int32
annual_percentage_rate:
type: number
reference_number:
type: string
notes:
type: string
ValidationError:
title: ValidationError
x-tags:
- Errors
description: A validation error
type: object
additionalProperties: true
minProperties: 1
properties: {}
CommentableType:
title: CommentableType
type: string
enum:
- Contact
- FleetcorCard
- FuelEntry
- InventoryJournalEntry
- Issue
- Part
- PurchaseOrder
- ServiceEntry
- ServiceReminder
- SubmittedInspectionItem
- Vehicle
- VehicleAssignment
- Vendor
- WexCard
- WorkOrder
Comment:
title: Comment
x-tags:
- Comments
description: A Comment
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
commentable_type:
$ref: '#/components/schemas/CommentableType'
commentable_id:
$ref: '#/components/schemas/Id'
user_id:
$ref: '#/components/schemas/Id'
title:
type: string
comment:
type: string
user_full_name:
type: string
user_image_url:
type: string
nullable: true
rich_content:
type: object
nullable: true
with_mentions:
type: boolean
CommentParameters:
title: CommentParameters
x-tags:
- Comments
description: Parameters used to create a new Comment
type: object
required:
- comment
- commentable_type
- commentable_id
properties:
title:
type: string
comment:
type: string
commentable_type:
$ref: '#/components/schemas/CommentableType'
commentable_id:
$ref: '#/components/schemas/Id'
AttachmentPermissions:
title: AttachmentPermissions
type: object
additionalProperties: false
nullable: true
properties:
read_photos:
type: boolean
manage_photos:
type: boolean
read_documents:
type: boolean
manage_documents:
type: boolean
Contact:
title: Contact
x-tags:
- Contacts
description: A Contact
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
archived_at:
type: string
format: date-time
nullable: true
email:
type: string
nullable: true
name:
type: string
nullable: true
first_name:
type: string
nullable: true
middle_name:
type: string
nullable: true
group_id:
$ref: '#/components/schemas/NullableId'
group_name:
type: string
nullable: true
group_hierarchy:
type: string
nullable: true
example: Group 1|Group 2|Group 3
description: |
A pipe delimited group hierarchy. Where each group in the list is the
parent of the groups which follow.
last_name:
type: string
nullable: true
images_count:
type: integer
minimum: 0
nullable: true
documents_count:
type: integer
minimum: 0
nullable: true
comments_count:
type: integer
minimum: 0
nullable: true
technician:
type: boolean
nullable: true
vehicle_operator:
type: boolean
nullable: true
employee:
type: boolean
nullable: true
birth_date:
type: string
format: date
nullable: true
city:
type: string
nullable: true
country:
type: string
nullable: true
employee_number:
type: string
nullable: true
home_phone_number:
type: string
nullable: true
job_title:
type: string
nullable: true
leave_date:
type: string
nullable: true
license_class:
type: string
nullable: true
license_number:
type: string
nullable: true
license_state:
type: string
nullable: true
mobile_phone_number:
type: string
nullable: true
other_phone_number:
type: string
nullable: true
postal_code:
type: string
nullable: true
region:
type: string
nullable: true
start_date:
type: string
nullable: true
street_address:
type: string
nullable: true
street_address_line_2:
type: string
nullable: true
work_phone_number:
type: string
nullable: true
hourly_labor_rate:
type: string
nullable: true
custom_fields:
type: object
nullable: true
attachment_permissions:
type: object
$ref: '#/components/schemas/AttachmentPermissions'
default_image_url:
type: string
nullable: true
user:
type: object
nullable: true
ContactParameters:
title: ContactParameters
x-tags:
- Contacts
description: Parameters used to create a new Contact
type: object
required: []
properties:
email:
type: string
ContactRenewalReminder:
title: ContactRenewalReminder
x-tags:
- ContactRenewalReminders
description: A ContactRenewalReminder
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
active:
type: boolean
nullable: true
contact_id:
$ref: '#/components/schemas/Id'
contact_renewal_type_id:
$ref: '#/components/schemas/Id'
contact_renewal_type_name:
type: string
next_due_at:
type: string
format: date-time
last_sent_at:
type: string
format: date-time
nullable: true
due_soon_at:
type: string
format: date-time
nullable: true
due_soon_time_threshold_interval:
type: number
format: int32
nullable: true
due_soon_time_threshold_frequency:
type: string
nullable: true
contact_archived_at:
type: string
format: date-time
nullable: true
overdue:
type: boolean
due_soon:
type: boolean
is_sample:
type: boolean
comments_count:
type: number
format: int32
nullable: true
watchers_count:
type: number
format: int32
watchable_options:
type: object
bulk_watch_record:
type: boolean
skip_automatic_watchers_callbacks:
type: boolean
ContactRenewalReminderParameters:
title: ContactRenewalReminderParameters
x-tags:
- ContactRenewalReminders
description: Parameters used to create a new ContactRenewalReminder
type: object
required:
- contact_id
- contact_renewal_type_id
- next_due_at
properties:
contact_id:
type: number
format: int32
contact_renewal_type_id:
type: number
format: int32
active:
type: boolean
next_due_at:
type: string
format: date
due_soon_at:
type: string
format: date
due_soon_time_threshold_interval:
type: number
format: int32
description: |
Used in conjunction with due_soon_time_threshold_frequency. Together they
form a full due soon parameter. Ex: "1 weeks", "5 months", "10 years"
due_soon_time_threshold_frequency:
type: string
enum:
- days
- weeks
- months
- years
ContactRenewalType:
title: ContactRenewalType
x-tags:
- ContactRenewalTypes
description: A ContactRenewalType
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
name:
type: string
ContactRenewalTypeParameters:
title: ContactRenewalTypeParameters
x-tags:
- ContactRenewalTypes
description: Parameters used to create a new ContactRenewalType
type: object
required:
- name
properties:
name:
type: string
ExpenseEntry:
title: ExpenseEntry
x-tags:
- Expense Entries
description: An Expense Entry
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
notes:
type: string
nullable: true
expense_entry_type_id:
$ref: '#/components/schemas/Id'
expense_entry_type_name:
type: string
occurred_at:
type: string
format: date-time
total_amount:
type: number
vehicle_id:
type: integer
vehicle_name:
type: string
vendor_id:
$ref: '#/components/schemas/NullableId'
vendor_name:
type: string
nullable: true
custom_fields:
type: object
total_amount_cents:
type: string
vehicle_archived_at:
type: string
format: date-time
nullable: true
billable_type:
type: string
nullable: true
billable_id:
$ref: '#/components/schemas/NullableId'
is_sample:
type: boolean
comments_count:
type: number
format: int32
documents_count:
type: number
format: int32
images_count:
type: number
format: int32
recurring_expense_entry_id:
$ref: '#/components/schemas/NullableId'
import_id:
$ref: '#/components/schemas/NullableId'
watchers_count:
type: number
format: int32
watchable_options:
type: object
bulk_watch_record:
type: boolean
skip_automatic_watchers_callbacks:
type: boolean
ExpenseEntryParameters:
title: ExpenseEntryParameters
x-tags:
- Expense Entries
description: Parameters used to create a new Expense Entry
type: object
required:
- vehicle_id
- expense_entry_type_id
- occurred_at
- total_amount_cents
properties:
vehicle_id:
$ref: '#/components/schemas/Id'
expense_entry_type_id:
$ref: '#/components/schemas/Id'
vendor_id:
$ref: '#/components/schemas/Id'
total_amount_cents:
type: number
format: int32
occurred_at:
type: string
format: date-time
notes:
type: string
custom_fields:
type: object
ExpenseEntryType:
title: ExpenseEntryType
x-tags:
- ExpenseEntryTypes
description: An ExpenseEntryType
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
name:
type: string
description:
type: string
nullable: true
ExpenseEntryTypeParameters:
title: ExpenseEntryTypeParameters
x-tags:
- ExpenseEntryTypes
description: Parameters used to create a new ExpenseEntryType
type: object
required:
- name
properties:
name:
type: string
Fault:
title: Fault
x-tags:
- Faults
description: A Fault
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
vehicle_id:
$ref: '#/components/schemas/NullableId'
code:
type: string
count:
type: number
format: int32
nullable: true
description:
type: string
nullable: true
external_id:
type: string
nullable: true
last_occurred_at:
type: string
format: date-time
nullable: true
name:
type: string
nullable: true
status:
type: string
default: open
enum:
- open
- resolved
- ignored
source:
type: string
nullable: true
vehicle_archived_at:
type: string
format: date-time
nullable: true
fault_rule_id:
$ref: '#/components/schemas/NullableId'
is_sample:
type: boolean
idempotency_key:
type: string
nullable: true
FaultParameters:
title: FaultParameters
x-tags:
- Faults
description: Parameters used to create a new Fault
type: object
required:
- code
- vehicle_id
properties:
vehicle_id:
$ref: '#/components/schemas/Id'
code:
type: string
count:
type: number
format: int32
description:
type: string
external_id:
type: string
last_occurred_at:
type: string
format: date-time
name:
type: string
status:
type: string
enum:
- open
- resolved
- ignored
source:
type: string
FaultRule:
title: Fault Rule
x-tags:
- Faults
description: A Fault Rule
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
code:
type: string
description:
type: string
nullable: true
priority_handling:
type: string
nullable: true
name:
type: string
nullable: true
FaultRuleParameters:
title: Fault Rule Parameters
x-tags:
- Faults
description: Parameters used to create a new Fault Rule
type: object
required:
- code
properties:
code:
type: string
description: The diagnostic trouble code
description:
type: string
description: A short description about the problem
name:
type: string
description: A short name for the alert
MeterEntry:
title: MeterEntry
x-tags:
- Meter Entries
description: A MeterEntry
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
account_id:
$ref: '#/components/schemas/Id'
auto_voided_at:
type: string
format: date-time
nullable: true
category:
type: string
enum:
- starting
- ending
- nightly
- manual
nullable: true
meter_type:
type: string
enum:
- secondary
nullable: true
meterable_id:
$ref: '#/components/schemas/NullableId'
meterable_type:
type: string
enum:
- FuelEntry
- Issue
- PurchaseDetail
- ServiceEntry
- SubmittedInspectionItem
- VehicleAssignment
- WorkOrder
nullable: true
value:
type: string
vehicle_id:
$ref: '#/components/schemas/NullableId'
vehicle_archived_at:
type: string
format: date-time
nullable: true
void:
type: boolean
default: false
auto_void_reason:
type: string
nullable: true
is_sample:
type: boolean
default: false
gps_device_id:
$ref: '#/components/schemas/NullableId'
source:
type: string
nullable: true
type:
type: string
enum:
- GpsMeterEntry
nullable: true
gps_provider:
type: object
nullable: true
date:
type: string
format: date
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Geolocation:
title: Geolocation
type: object
additionalProperties: false
properties:
gps_device:
type: string
nullable: true
original_vendor:
type: string
nullable: true
exception_distance_in_mi:
type: number
nullable: true
exception_distance_in_km:
type: number
nullable: true
MapPreviews:
title: MapPreviews
type: object
additionalProperties: false
properties:
small:
type: string
nullable: true
large:
type: string
nullable: true
small_short:
type: string
nullable: true
large_short:
type: string
nullable: true
FuelEntry:
title: Fuel Entry
x-tags:
- Fuel Entries
description: A Fuel Entry
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
cost_per_hr:
type: number
nullable: true
cost_per_km:
type: number
nullable: true
cost_per_mi:
type: number
nullable: true
date:
type: string
format: date
external_id:
$ref: '#/components/schemas/NullableId'
fuel_type_id:
$ref: '#/components/schemas/NullableId'
fuel_type_name:
type: string
nullable: true
kpl:
type: number
nullable: true
liters:
type: string
nullable: true
liters_per_hr:
type: number
nullable: true
lp100k:
type: number
nullable: true
mpg_uk:
type: number
nullable: true
mpg_us:
type: number
nullable: true
partial:
type: boolean
personal:
type: boolean
price_per_volume_unit:
type: number
nullable: true
raw_transaction_data:
type: object
nullable: true
reference:
type: string
nullable: true
region:
type: string
nullable: true
reset:
type: boolean
default: false
uk_gallons:
type: string
uk_gallons_per_hr:
type: number
nullable: true
us_gallons:
type: string
us_gallons_per_hr:
type: number
nullable: true
usage_in_hr:
type: number
nullable: true
usage_in_km:
type: number
nullable: true
usage_in_mi:
type: number
nullable: true
vehicle_id:
$ref: '#/components/schemas/Id'
vehicle_name:
type: string
vendor_id:
type: string
nullable: true
vendor_name:
type: string
nullable: true
images_count:
type: number
format: int32
documents_count:
type: number
format: int32
comments_count:
type: number
format: int32
is_sample:
type: boolean
custom_fields:
type: object
fuel_economy_for_current_user:
type: number
nullable: true
fuel_economy_units_for_current_user:
type: string
default: MPG
total_amount:
type: number
meter_entry:
$ref: '#/components/schemas/MeterEntry'
geolocation:
$ref: '#/components/schemas/Geolocation'
comments:
type: array
items:
$ref: '#/components/schemas/Comment'
map_previews:
$ref: '#/components/schemas/MapPreviews'
attachment_permissions:
$ref: '#/components/schemas/AttachmentPermissions'
documents:
type: array
images:
type: array
FuelEntryParameters:
title: Fuel EntryParameters
x-tags:
- Fuel Entries
description: Parameters used to create a new Fuel Entry
type: object
required:
- vehicle_id
- date
- us_gallons
properties:
vehicle_id:
$ref: '#/components/schemas/Id'
date:
type: string
format: date
us_gallons:
type: number
uk_gallons:
type: number
price_per_volume_unit:
type: number
meter_entry_attributes:
type: object
properties:
value:
type: number
void:
type: boolean
vendor_id:
$ref: '#/components/schemas/NullableId'
custom_fields:
type: object
FuelType:
title: Fuel Type
x-tags:
- Fuel Entires
description: A Fuel Type
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
name:
type: string
vehicles_count:
type: number
format: int32
fuel_entries_count:
type: number
format: int32
FuelTypeParameters:
title: Fuel TypeParameters
x-tags:
- Fuel Entries
description: Parameters used to create a new Fuel Type
type: object
required:
- name
properties:
name:
type: string
description: Must be unique
Group:
title: Group
x-tags:
- Groups
description: A Group
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
name:
type: string
default:
type: boolean
parent_id:
$ref: '#/components/schemas/NullableId'
ancestry:
type: string
nullable: true
ancestry_names:
type: string
nullable: true
watched_group_subscriptions_count:
type: number
format: int32
is_sample:
type: boolean
unarchived_vehicles_count:
type: number
format: int32
GroupParameters:
title: GroupParameters
x-tags:
- Groups
description: Parameters used to create a new Group
type: object
required:
- name
properties:
name:
type: string
default:
type: boolean
parent_id:
$ref: '#/components/schemas/NullableId'
hierarchy:
type: string
Issue:
title: Issue
x-tags:
- Issues
description: An Issue
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
number:
type: string
name:
type: string
summary:
type: string
description:
type: string
nullable: true
state:
type: string
enum:
- Open
- Closed
- Resolved
reported_at:
type: string
format: date-time
nullable: true
reported_by_id:
$ref: '#/components/schemas/NullableId'
reported_by_name:
type: string
nullable: true
fault_id:
$ref: '#/components/schemas/NullableId'
due_date:
type: string
format: date
nullable: true
due_meter_value:
format: number
nullable: true
due_secondary_meter_value:
format: number
nullable: true
vehicle_id:
$ref: '#/components/schemas/Id'
vehicle_name:
type: string
images_count:
type: number
format: int32
documents_count:
type: number
format: int32
comments_count:
type: number
format: int32
is_sample:
type: boolean
created_by_workflow:
type: boolean
submitted_inspection_form_id:
$ref: '#/components/schemas/NullableId'
custom_fields:
type: object
dtc_alert_id:
$ref: '#/components/schemas/NullableId'
assigned_contacts:
type: array
labels:
type: array
comments:
type: array
overdue:
type: boolean
attachment_permissions:
$ref: '#/components/schemas/AttachmentPermissions'
documents:
type: array
images:
type: array
is_watched:
type: boolean
vehicle_image_url:
type: string
nullable: true
vehicle_image_url_medium:
type: string
nullable: true
vehicle_image_url_small:
type: string
nullable: true
vehicle_image_url_large:
type: string
nullable: true
watchers_count:
type: number
format: int32
linked_work_orders:
type: array
nullable: true
items:
type: object
properties:
id:
$ref: '#/components/schemas/Id'
number:
type: string
issued_at:
type: string
format: date-time
source:
type: object
properties:
inspection_form:
type: object
properties:
id:
$ref: '#/components/schemas/NullableId'
color:
type: string
nullable: true
title:
type: string
nullable: true
inspection_submissions_count:
type: number
format: int32
nullable: true
last_inspection_submission_at:
type: string
format: date-time
nullable: true
failed_inspection_item_label:
type: string
nullable: true
MeterEntryParameters:
title: MeterEntryParameters
x-tags:
- Meter Entries
description: Parameters used to create a new Meter Entry
type: object
required:
- vehicle_id
- date
- value
properties:
vehicle_id:
$ref: '#/components/schemas/Id'
value:
type: number
date:
type: string
format: date-time
void:
type: boolean
default: false
meter_type:
type: string
enum:
- secondary
nullable: true
DocumentParameters:
title: DocumentParameters
type: object
additionalProperties: false
properties:
name:
type: string
file_url:
type: string
file_mime_type:
type: string
file_name:
type: string
file_size:
type: string
ImageParameters:
title: ImageParameters
type: object
additionalProperties: false
properties:
name:
type: string
file_url:
type: string
file_mime_type:
type: string
file_name:
type: string
file_size:
type: string
IssueParameters:
title: IssueParameters
x-tags:
- Issues
description: Parameters used to create a new Issue
type: object
required:
- vehicle_id
- summary
- reported_at
properties:
vehicle_id:
$ref: '#/components/schemas/Id'
custom_fields:
type: object
reported_at:
type: string
summary:
type: string
description:
type: string
reported_by_id:
type: string
number:
type: string
due_date:
type: string
due_meter_value:
type: number
due_secondary_meter_value:
type: number
fault_id:
$ref: '#/components/schemas/NullableId'
label_list:
type: string
meter_entry_attributes:
$ref: '#/components/schemas/MeterEntryParameters'
secondary_meter_entry_attributes:
$ref: '#/components/schemas/MeterEntryParameters'
comments_attributes:
$ref: '#/components/schemas/CommentParameters'
documents_attributes:
$ref: '#/components/schemas/DocumentParameters'
images_attributes:
$ref: '#/components/schemas/ImageParameters'
assigned_contact_ids:
type: array
items:
$ref: '#/components/schemas/Id'
Label:
title: Label
x-tags:
- Labels
description: A Label
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
name:
type: string
taggings_count:
type: number
format: int32
LabelParameters:
title: LabelParameters
x-tags:
- Labels
description: Parameters used to create a new Label
type: object
required: []
properties: {}
AddressComponents:
title: AddressComponents
type: object
additionalProperties: false
nullable: true
properties:
street_number:
type: string
street:
type: string
city:
type: string
region:
type: string
region_short:
type: string
country:
type: string
country_short:
type: string
postal_code:
type: string
Coordinate:
title: Coordinate
type: number
minimum: -90
maximum: 90
LocationEntry:
title: Location Entry
x-tags:
- Location Entries
description: A Location Entry
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
account_id:
$ref: '#/components/schemas/Id'
account_membership_id:
$ref: '#/components/schemas/NullableId'
vehicle_id:
$ref: '#/components/schemas/Id'
locatable_type:
type: string
enum:
- FuelEntry
- ServiceEntry
- SubmittedInspectionForm
nullable: true
locatable_id:
$ref: '#/components/schemas/NullableId'
date:
type: string
format: date-time
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
item_id:
$ref: '#/components/schemas/NullableId'
contact_id:
$ref: '#/components/schemas/NullableId'
address:
type: string
nullable: true
address_components:
$ref: '#/components/schemas/AddressComponents'
is_current:
type: boolean
vehicle_archived_at:
type: string
format: date-time
nullable: true
contact_archived_at:
type: string
format: date-time
nullable: true
item_type:
type: string
enum:
- Vehicle
- Contact
location:
type: string
example: POINT (33.515000,-86.807610)
geolocation:
type: object
example:
latitude: 33.515
longitude: -86.80761
properties:
latitude:
$ref: '#/components/schemas/Coordinate'
longitude:
$ref: '#/components/schemas/Coordinate'
LocationEntryParameters:
x-shared-properties:
date:
type: string
format: date-time
latitude:
$ref: '#/components/schemas/Coordinate'
longitude:
$ref: '#/components/schemas/Coordinate'
title: LocationEntryParameters
x-tags:
- Location Entries
oneOf:
- title: For Vehicle
type: object
required:
- vehicle_id
- date
- latitude
- longitude
properties:
vehicle_id:
$ref: '#/components/schemas/Id'
date:
type: string
format: date-time
latitude:
$ref: '#/components/schemas/Coordinate'
longitude:
$ref: '#/components/schemas/Coordinate'
- title: For Contact
type: object
required:
- contact_id
- date
- latitude
- longitude
properties:
contact_id:
$ref: '#/components/schemas/Id'
date:
type: string
format: date-time
latitude:
$ref: '#/components/schemas/Coordinate'
longitude:
$ref: '#/components/schemas/Coordinate'
Place:
title: Place
x-tags:
- Places
description: A Place
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
name:
type: string
address:
type: string
nullable: true
description:
type: string
nullable: true
place_visits_count:
type: number
format: int32
nullable: true
radius_in_meters:
type: number
format: int32
latitude:
type: number
example: 33.515
longitude:
type: number
example: -86.80761
address_components:
$ref: '#/components/schemas/AddressComponents'
is_sample:
type: boolean
location:
type: string
example: POINT (-86.80761 33.515)
PlaceParameters:
title: PlaceParameters
x-tags:
- Places
description: Parameters used to create a new Place
type: object
required:
- name
- latitude
- longitude
- radius_in_meters
properties:
name:
type: string
description:
type: string
latitude:
type: number
example: 33.515
longitude:
type: number
example: -86.80761
radius_in_meters:
type: number
format: int32
VolumeUnit:
title: VolumeUnit
type: string
default: us_gallons
enum:
- us_gallons
- uk_gallons
- liters
MeterUnit:
title: MeterUnit
x-tags:
- MeterUnits
description: The measurement unit used a Vehicle meter
type: string
enum:
- km
- hr
- mi
nullable: true
VehicleOwnership:
title: VehicleOwnership
type: string
default: owned
enum:
- Owned
- owned
- leased
- Leased
- rented
- Rented
- customer
- Customer
MeasurementSystem:
title: MeasurementSystem
type: string
default: imperial
enum:
- imperial
- metric
Vehicle:
title: Vehicle
x-tags:
- Vehicles
description: A Vehicle
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
archived_at:
type: string
format: date-time
nullable: true
fuel_type_id:
$ref: '#/components/schemas/NullableId'
fuel_type_name:
type: string
nullable: true
fuel_volume_units:
$ref: '#/components/schemas/VolumeUnit'
group_id:
$ref: '#/components/schemas/NullableId'
group_name:
type: string
nullable: true
meter_unit:
$ref: '#/components/schemas/MeterUnit'
name:
type: string
ownership:
$ref: '#/components/schemas/VehicleOwnership'
secondary_meter:
type: boolean
secondary_meter_unit:
$ref: '#/components/schemas/MeterUnit'
system_of_measurement:
$ref: '#/components/schemas/MeasurementSystem'
vehicle_status_id:
$ref: '#/components/schemas/Id'
vehicle_status_name:
type: string
vehicle_status_color:
type: string
nullable: true
vehicle_type_id:
$ref: '#/components/schemas/Id'
vehicle_type_name:
type: string
fuel_entries_count:
type: integer
minimum: 0
service_entries_count:
type: integer
minimum: 0
service_reminders_count:
type: integer
minimum: 0
vehicle_renewal_reminders_count:
type: integer
minimum: 0
comments_count:
type: integer
minimum: 0
documents_count:
type: integer
minimum: 0
images_count:
type: integer
minimum: 0
current_location_entry_id:
$ref: '#/components/schemas/NullableId'
is_sample:
type: boolean
in_service_date:
type: string
format: date-time
nullable: true
in_service_meter:
type: number
nullable: true
estimated_service_months:
type: integer
nullable: true
estimated_replacement_mileage:
type: integer
nullable: true
estimated_resale_price:
type: number
nullable: true
out_of_service_date:
type: string
format: date-time
nullable: true
out_of_service_meter:
type: number
nullable: true
meter_name:
type: string
secondary_meter_name:
type: string
primary_meter_usage_per_day:
type: number
nullable: true
secondary_meter_usage_per_day:
type: number
nullable: true
current_meter_value:
type: number
nullable: true
current_meter_date:
type: string
format: date-time
nullable: true
secondary_meter_value:
type: number
nullable: true
secondary_meter_date:
type: string
format: date-time
nullable: true
group_ancestry:
type: string
nullable: true
color:
type: string
nullable: true
license_plate:
type: string
nullable: true
make:
type: string
nullable: true
model:
type: string
nullable: true
registration_expiration_month:
type: integer
nullable: true
minimum: 0
maximum: 12
registration_state:
type: string
nullable: true
trim:
type: string
nullable: true
vin:
type: string
nullable: true
year:
type: string
nullable: true
loan_account_number:
type: string
nullable: true
loan_ended_at:
type: string
format: date-time
nullable: true
loan_interest_rate:
type: string
nullable: true
loan_notes:
type: string
nullable: true
loan_started_at:
type: string
format: date-time
nullable: true
loan_vendor_id:
$ref: '#/components/schemas/NullableId'
loan_vendor_name:
type: string
nullable: true
custom_fields:
type: object
inspection_schedules_count:
type: integer
minimum: 0
issues_count:
type: integer
minimum: 0
work_orders_count:
type: integer
minimum: 0
type_name:
type: string
nullable: true
default_image_url:
type: string
nullable: true
default_image_url_medium:
type: string
nullable: true
default_image_url_small:
type: string
nullable: true
default_image_url_large:
type: string
nullable: true
specs:
type: object
properties:
engine_bore_with_units:
type: string
nullable: true
wheelbase_with_units:
type: string
nullable: true
ai_enabled:
type: boolean
assetable_type:
type: string
driver:
type: object
properties: {}
current_location_entry:
type: object
properties: {}
documents_including_nested_resources_count:
type: integer
VehicleParameters:
title: VehicleParameters
x-tags:
- Vehicles
description: Parameters used to create a new Vehicle
type: object
required:
- vehicle_status_id
- vehicle_type_id
properties:
color:
type: string
fuel_type_id:
type: integer
fuel_volume_units:
$ref: '#/components/schemas/VolumeUnit'
group_id:
$ref: '#/components/schemas/Id'
group_hierarchy:
type: string
description: |
A pipe delimited group hierarchy. Ex: "Level 1|Level 2|Level 3". Where
Level 1 is the parent of Level 2, and 2 is the parent of 3. Any missing
nodes in the hierarchy will be created.
license_plate:
type: string
loan_account_number:
type: string
loan_ended_at:
type: string
format: datetime
loan_interest_rate:
type: string
loan_notes:
type: string
loan_started_at:
type: string
format: datetime
make:
type: string
meter_unit:
$ref: '#/components/schemas/MeterUnit'
model:
type: string
name:
type: string
description: '*Must be unique'
ownership:
$ref: '#/components/schemas/VehicleOwnership'
registration_expiration_month:
type: integer
minimum: 0
maximum: 12
registration_state:
type: string
secondary_meter:
type: boolean
secondary_meter_unit:
$ref: '#/components/schemas/MeterUnit'
system_of_measurement:
$ref: '#/components/schemas/MeasurementSystem'
trim:
type: string
vehicle_status_id:
$ref: '#/components/schemas/Id'
vehicle_type_id:
$ref: '#/components/schemas/Id'
vin:
type: string
description: '*Must be unique'
year:
type: string
residual_value:
type: number
linked_vehicle_ids:
type: array
items:
$ref: '#/components/schemas/Id'
loan_amount:
type: number
loan_payment:
type: number
loan_vendor_id:
$ref: '#/components/schemas/Id'
purchase_detail_attributes:
type: object
properties:
comment:
type: string
date:
type: string
price:
type: number
vendor_id:
$ref: '#/components/schemas/Id'
warranty_expiration_date:
type: string
format: datetime
warranty_expiration_meter_value:
type: number
meter_entry_attributes.value:
type: number
meter_entry_attributes.void:
type: boolean
external_ids:
type: object
vehicle_status_name:
type: string
vehicle_type_name:
type: string
in_service_date:
type: string
format: datetime
in_service_meter:
type: number
estimated_service_months:
type: integer
estimated_replacement_mileage:
type: number
estimated_resale_price:
type: number
out_of_service_date:
type: string
format: datetime
out_of_service_meter:
type: number
specs_attributes:
type: object
properties:
base_towing_capacity:
type: number
bed_length:
type: number
body_subtype:
type: string
body_type:
type: string
brake_system:
type: string
cargo_volume:
type: number
curb_weight:
type: number
drive_type:
type: string
engine_aspiration:
type: string
engine_block_type:
type: string
engine_bore:
type: number
engine_brand:
type: string
engine_cam_type:
type: string
engine_compression:
type: number
engine_cylinders:
type: integer
engine_description:
type: string
engine_displacement:
type: number
engine_stroke:
type: number
engine_valves:
type: integer
epa_city:
type: number
epa_combined:
type: number
epa_highway:
type: number
front_tire_psi:
type: number
front_tire_type:
type: string
front_track_width:
type: number
front_wheel_diameter:
type: string
fuel_induction:
type: string
fuel_quality:
type: string
fuel_tank_capacity:
type: number
fuel_tank_2_capacity:
type: number
gross_vehicle_weight_rating:
type: number
ground_clearance:
type: number
height:
type: number
interior_volume:
type: number
length:
type: number
max_hp:
type: integer
max_payload:
type: number
max_torque:
type: integer
msrp:
type: number
oil_capacity:
type: number
passenger_volume:
type: string
rear_axle_type:
type: string
rear_tire_psi:
type: number
rear_tire_type:
type: string
rear_track_width:
type: number
rear_wheel_diameter:
type: string
redline_rpm:
type: string
transmission_brand:
type: string
transmission_description:
type: string
transmission_gears:
type: integer
transmission_type:
type: string
wheelbase:
type: number
width:
type: number
custom_fields:
type: object
description: |
*Full details on working with custom fields [here](https://developer.fleetio.com/docs/custom-fields-overview)
VehicleRenewalReminder:
title: Vehicle Renewal Reminder
x-tags:
- Vehicle Renewal Reminders
description: A Vehicle Renewal Reminder
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
active:
type: boolean
vehicle_id:
$ref: '#/components/schemas/Id'
vehicle_renewal_type_id:
$ref: '#/components/schemas/Id'
vehicle_renewal_type_name:
type: string
next_due_at:
type: string
format: date-time
nullable: true
last_sent_at:
type: string
format: date-time
nullable: true
due_soon_at:
type: string
format: date-time
nullable: true
due_soon_time_threshold_interval:
type: integer
minimum: 1
default: 3
nullable: true
due_soon_time_threshold_frequency:
type: string
default: weeks
enum:
- days
- weeks
- months
- years
nullable: true
vehicle_archived_at:
type: string
format: date-time
nullable: true
comments_count:
type: integer
minimum: 0
nullable: true
custom_fields:
type: object
overdue:
type: boolean
due_soon:
type: boolean
users:
type: array
items:
type: object
properties:
id:
$ref: '#/components/schemas/Id'
name:
type: string
nullable: true
is_sample:
type: boolean
watchers_count:
type: integer
minimum: 0
watchable_options:
type: object
bulk_watch_record:
type: boolean
skip_automatic_watchers_callbacks:
type: boolean
VehicleRenewalReminderParameters:
title: VehicleRenewalReminderParameters
x-tags:
- Vehicles
description: Parameters used to create a new Vehicle Renewal Reminder
type: object
required:
- vehicle_id
- vehicle_renewal_type_id
- next_due_at
properties:
vehicle_id:
$ref: '#/components/schemas/Id'
vehicle_renewal_type_id:
$ref: '#/components/schemas/Id'
next_due_at:
type: string
format: date-time
due_soon_at:
type: string
format: date-time
due_soon_time_threshold_interval:
type: integer
minimum: 1
due_soon_time_threshold_frequency:
type: string
default: weeks
enum:
- days
- weeks
- months
- years
active:
type: boolean
custom_fields:
type: object
Vendor:
title: Vendor
x-tags:
- Vendors
description: A Vendor
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/Id'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
account_id:
$ref: '#/components/schemas/Id'
name:
type: string
phone:
type: string
nullable: true
street_address:
type: string
nullable: true
street_address_line_2:
type: string
nullable: true
city:
type: string
nullable: true
region:
type: string
nullable: true
postal_code:
type: string
nullable: true
country:
type: string
nullable: true
website:
type: string
nullable: true
fuel:
type: boolean
nullable: true
service:
type: boolean
nullable: true
parts:
type: boolean
nullable: true
contact_name:
type: string
nullable: true
contact_email:
type: string
nullable: true
contact_phone:
type: string
nullable: true
latitude:
type: number
nullable: true
longitude:
type: number
nullable: true
external_id:
type: string
nullable: true
archived_at:
type: string
nullable: true
labels:
type: array
items:
type: string
custom_fields:
type: object
description: '*Full details on working with custom fields here'
VendorParameters:
title: VendorParameters
x-tags:
- Vendors
description: Parameters used to create a new Vendor
type: object
required:
- name
properties:
name:
type: string
description: '*Must be unique'
city:
type: string
contact_email:
type: string
contact_name:
type: string
contact_phone:
type: string
country:
type: string
external_id:
type: string
description: '*Must be unique'
phone:
type: string
postal_code:
type: string
region:
type: string
street_address:
type: string
street_address_line_2:
type: string
website:
type: string
fuel:
type: boolean
description: This vendor can be listed on Fuel Entries
service:
type: boolean
description: This vendor can be listed on Service Entries and Work Orders
parts:
type: boolean
description: This vendor can be listed on Parts and Purchase Orders
custom_fields:
type: object
description: '*Full details on working with custom fields here'
responses:
Unauthorized:
description: Request could not be authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
UnexpectedError:
description: Something unexpected happened
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
Forbidden:
description: Insufficient permission to perform this operation
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
UnprocessableEntity:
description: Unexpected Request Body
content:
application/json:
schema:
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ValidationError'
required:
- errors
NotFound:
description: The requested resource could not be located
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
parameters:
RecordId:
name: id
in: path
required: true
schema:
type: string
pattern: ^[0-9]+$
description: The id of the relevant record
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment