tread.io DriverDays API
The DriverDays API from tread.io — 19 operation(s) for driverdays.
The DriverDays API from tread.io — 19 operation(s) for driverdays.
openapi: 3.0.3
info:
title: Horizon API V1 AccountExternalTruckIdentifier DriverDays API
version: '1.0'
contact:
name: Tread
url: https://tread.io
email: developers@tread.io
description: 'This is the Version 1 implementation.
When in doubt we default to the practices outlined [here](https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#advanced-queries)'
license:
name: Private
url: https://tread.io
servers:
- description: production
url: https://api.tread-horizon.com
security:
- bearerAuth: []
tags:
- name: DriverDays
paths:
/v1/companies/{company-id}/driver_days:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve DriverDays that belong to a Company
tags:
- DriverDays
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
x-stoplight:
id: wek234kw9yb77
items:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: get-v1-companies-company-id-driver_days
x-stoplight:
id: 3sgcw6gi3ay0y
description: "Retrieve `DriverDays` that belong to a `Company` by `ID`\n\nDatagrid search (`search[datagrid]`) queries against the following properties:\n * `driver.first_name`\n * `driver.last_name`\n * `vendor_account.name`\n * `equipment_external_ids`"
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/filter-customer_account_ids'
- $ref: '#/components/parameters/filter-vendor_account_ids'
- $ref: '#/components/parameters/filter-driver_ids'
- $ref: '#/components/parameters/filter-start_date'
- $ref: '#/components/parameters/filter-end_date'
- $ref: '#/components/parameters/search-datagrid'
- $ref: '#/components/parameters/sort-driver_day_date'
- $ref: '#/components/parameters/sort-driver-first_name'
- $ref: '#/components/parameters/sort-driver-last_name'
- $ref: '#/components/parameters/sort-vendor_account-name'
/v1/companies/{company-id}/driver_days/typeahead:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Typeahead search on DriverDays by Company
tags:
- DriverDays
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/DriverDay-Read-Typeahead'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-driver_days-typeahead
x-stoplight:
id: ddtypahead01
description: Typeahead search against the `driver_day_id` property for `DriverDays` visible to the currently authenticated `Company`.
x-internal: true
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/search-query'
/v1/companies/{company-id}/driver_days/{driver-day-id}/invoices/payables:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
name: driver-day-id
in: path
required: true
description: DriverDay ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Payable Invoices for a DriverDay for a Company
tags:
- DriverDays
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
x-stoplight:
id: zuzbo9qmc4iki
items:
$ref: '#/components/schemas/Invoice-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-driver_days-driver-day-id-invoices-payables
x-stoplight:
id: 7lw1lr04rr2yz
x-internal: true
description: Retrieve `Payable Invoices` for a `DriverDay` for a `Company`
parameters: []
/v1/companies/{company-id}/driver_days/{driver-day-id}/invoices/receivables:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
name: driver-day-id
in: path
required: true
description: DriverDay ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Receivable Invoices for a DriverDay for a Company
tags:
- DriverDays
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
x-stoplight:
id: dikeyqo7ro6a9
items:
$ref: '#/components/schemas/Invoice-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-driver_days-driver-day-id-invoices-receivables
x-stoplight:
id: v2lgplnja4j55
x-internal: true
description: Retrieve `Receivable Invoices` for a `DriverDay` for a `Company`
parameters: []
/v1/companies/{company-id}/driver_days/{driver-day-id}/jobs:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
format: uuid
name: driver-day-id
in: path
required: true
description: DriverDay ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Jobs that belong to a DriverDay for a Company
tags:
- DriverDays
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
x-stoplight:
id: xyy8veijv11t2
items:
$ref: '#/components/schemas/Job-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-driver_days-driver-day-id-jobs
x-stoplight:
id: gyx48w4jql3e7
x-internal: true
description: Retrieve `Jobs` that belong to a `DriverDay` for a `Company`
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
/v1/companies/{company-id}/driver_days/{driver-day-id}/jobs/file_attachments:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
format: uuid
name: driver-day-id
in: path
required: true
description: DriverDay ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve FileAttachments for all Jobs in a DriverDay
tags:
- DriverDays
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/FileAttachment-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-driver_days-driver-day-id-jobs-file_attachments
description: Retrieve all `FileAttachments` for `Jobs` that belong to a `DriverDay`. This includes file attachments attached to the jobs themselves, as well as attachments on loads and tickets within those jobs.
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
/v1/companies/{company-id}/driver_days/{driver-day-id}/signatures:
parameters:
- schema:
type: string
format: uuid
name: driver-day-id
in: path
required: true
description: DriverDay ID
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve all Signatures for a DriverDay
tags:
- DriverDays
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
anyOf:
- $ref: '#/components/schemas/DriverSignature-Read'
- $ref: '#/components/schemas/DropoffSignature-Read'
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-driver_days-driver-day-id-signatures
x-stoplight:
id: ddsig1ndex001
description: Retrieve all `Signatures` for a `DriverDay`
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
/v1/companies/{company-id}/driver_days/{driver-day-id}/signatures/driver:
parameters:
- schema:
type: string
format: uuid
name: driver-day-id
in: path
required: true
description: DriverDay ID
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Create or update the DriverSignature on a DriverDay
tags:
- DriverDays
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverSignature-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'415':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: put-v1-companies-company-id-driver_days-driver-day-id-signatures-driver
x-stoplight:
id: ddsigdrv00001
description: Create or update the `DriverSignature` on a `DriverDay`.
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/DriverSignature-Create'
delete:
summary: Delete the DriverSignature from a DriverDay
tags:
- DriverDays
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: delete-v1-companies-company-id-driver_days-driver-day-id-signatures-driver
x-stoplight:
id: ddsigdrvdel01
description: Delete the `DriverSignature` from a `DriverDay`.
/v1/companies/{company-id}/driver_days/{driver-day-id}/signatures/dropoff:
parameters:
- schema:
type: string
format: uuid
name: driver-day-id
in: path
required: true
description: DriverDay ID
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Create or update the DropoffSignature on a DriverDay
tags:
- DriverDays
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DropoffSignature-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'415':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: put-v1-companies-company-id-driver_days-driver-day-id-signatures-dropoff
x-stoplight:
id: ddsigdrop0001
description: Create or update the `DropoffSignature` on a `DriverDay`.
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/DropoffSignature-Create'
delete:
summary: Delete the DropoffSignature from a DriverDay
tags:
- DriverDays
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: delete-v1-companies-company-id-driver_days-driver-day-id-signatures-dropoff
x-stoplight:
id: ddsigdropdel1
description: Delete the `DropoffSignature` from a `DriverDay`.
/v1/driver_days:
parameters:
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve DriverDays visible to the current Company
tags:
- DriverDays
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
x-stoplight:
id: gvub16iv90oha
type: array
items:
$ref: '#/components/schemas/DriverDay-Read'
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
'401':
$ref: '#/components/responses/UnauthenticatedError'
'406':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: get-v1-driver_days
x-stoplight:
id: wasghj2ffk5wh
x-internal: true
description: "Retrieve `DriverDays` visible to the current authenticated `Company`\n\nDatagrid search (`search[datagrid]`) queries against the following properties:\n * `driver.first_name`\n * `driver.last_name`\n * `vendor_account.name`\n * `equipment_external_ids`"
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/filter-customer_account_ids'
- $ref: '#/components/parameters/filter-vendor_account_ids'
- $ref: '#/components/parameters/filter-driver_ids'
- $ref: '#/components/parameters/filter-start_date'
- $ref: '#/components/parameters/filter-end_date'
- $ref: '#/components/parameters/search-datagrid'
- $ref: '#/components/parameters/sort-driver_day_date'
- $ref: '#/components/parameters/sort-driver-first_name'
- $ref: '#/components/parameters/sort-driver-last_name'
- $ref: '#/components/parameters/sort-vendor_account-name'
/v1/driver_days/{driver-day-id}/approve:
parameters:
- schema:
type: string
format: uuid
name: driver-day-id
in: path
required: true
description: DriverDay Id
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Approve a DriverDay
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'415':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: put-v1-driver-days-id-approve
description: 'Deprecated in favor of "Approve a `DriverDay` as a `Company`"
Approve a `DriverDay` by ID
This endpoint requires the `approve_driver_day` permission.'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Approval-Approve'
x-stoplight:
id: ugmeav46tzydy
security: []
tags:
- DriverDays
deprecated: true
/v1/driver_days/{driver-day-id}/jobs:
parameters:
- schema:
type: string
name: driver-day-id
in: path
required: true
description: DriverDay ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Jobs that belong to a DriverDay
tags:
- DriverDays
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
x-stoplight:
id: xyy8veijv11t2
items:
$ref: '#/components/schemas/Job-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-driver_days-driver-day-id-jobs
x-stoplight:
id: k91pou38hfwe4
x-internal: true
description: Retrieve `Jobs` that belong to a `DriverDay`
deprecated: true
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
/v1/driver_days/{driver-day-id}/unapprove:
parameters:
- schema:
type: string
format: uuid
name: driver-day-id
in: path
required: true
description: DriverDay Id
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Unapprove a DriverDay
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'415':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: put-v1-driver-days-id-unapprove
description: 'Deprecated in favor of "Unapprove a `DriverDay` as a `Company`"
Unapprove a `DriverDay` by ID
This endpoint requires the `approve_driver_day` permission.'
requestBody:
content:
application/json:
schema:
type: object
properties: {}
security: []
x-stoplight:
id: 8s60tcrkp5dpp
tags:
- DriverDays
deprecated: true
/v1/driver_days/{id}:
parameters:
- schema:
type: string
name: id
in: path
required: true
description: DriverDay ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve DriverDay
tags:
- DriverDays
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-driver_days-id
x-stoplight:
id: zth8xjubunp99
x-internal: true
description: Retrieve `DriverDay` by ID
patch:
summary: Update a DriverDay
tags:
- DriverDays
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'415':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: patch-v1-driver_days-id
x-stoplight:
id: i4u9rhhhslct5
x-internal: true
description: Update a `DriverDay` by ID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DriverDay-Update'
/v1/users/me/driver_day:
parameters:
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve current User's DriverDay
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverDay-Read'
'204':
description: No Content
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-users-me-driver_day
x-stoplight:
id: cgk9hj2rmkxw5
x-internal: true
description: Retrieve current `User`'s `DriverDay`
tags:
- DriverDays
/v1/users/me/driver_day/break:
parameters:
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Update Driver to Break State for Current Driver Day
tags:
- DriverDays
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'415':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: put-v1-users-me-driver_day-break
x-internal: true
description: 'Updates the current authenticated driver to break state for their active `DriverDay`.
This endpoint requires the `Driver` role'
requestBody:
content:
application/json:
schema:
type: object
properties: {}
/v1/users/me/driver_day/off_duty:
parameters:
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Mark the current DriverDay as off duty
tags:
- DriverDays
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'415':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: put-v1-users-me-driver_day-off_duty
x-internal: true
description: 'Mark the current `DriverDay` as off duty by calling the `DriverDayService.off_duty!` service method.
This endpoint requires the `Driver` role'
requestBody:
content:
application/json:
schema:
type: object
properties: {}
/v1/users/me/driver_day/on_duty:
parameters:
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Start or resume the current DriverDay
tags:
- DriverDays
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'415':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: put-v1-users-me-driver_day-on_duty
x-internal: true
description: 'Start or resume the current `DriverDay`.
This endpoint requires the `Driver` role'
x-stoplight:
id: wakspqgdghnwe
requestBody:
content:
application/json:
schema:
type: object
properties: {}
/v1/users/me/driver_days/previous:
parameters:
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve current User's Previous DriverDays
tags:
- DriverDays
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
description: Contains prev and next links for pagination
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
x-stoplight:
id: 7m8ls2c2p82sc
items:
$ref: '#/components/schemas/DriverDay-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-users-me-driver_days-previous
x-stoplight:
id: axjkg4x0xye3r
x-internal: true
description: Retrieve current `User`'s Previous `DriverDays`. It does not include the current `DriverDay` for the current `User`.
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/filter-start_date'
- $ref: '#/components/parameters/filter-end_date'
components:
schemas:
ServiceClass-Read-Nested:
title: ServiceClass-Read-Nested
x-stoplight:
id: ahk4knwjgo1di
allOf:
- $ref: '#/components/schemas/Identifier'
# --- truncated at 32 KB (124 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/treadio/refs/heads/main/openapi/treadio-driverdays-api-openapi.yml