tread.io Loads API
The Loads API from tread.io — 16 operation(s) for loads.
The Loads API from tread.io — 16 operation(s) for loads.
openapi: 3.0.3
info:
title: Horizon API V1 AccountExternalTruckIdentifier Loads 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: Loads
paths:
/v1/companies/{company-id}/jobs/{job-id}/loads:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
format: uuid
name: job-id
in: path
required: true
description: Job ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Loads of a Job for a Company
tags:
- Loads
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: ia1jmmi76vai2
items:
$ref: '#/components/schemas/Load-LoadSummary-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-jobs-job-id-loads
x-stoplight:
id: wz2pidf0emdrv
description: Retrieve `Loads` of a `Job` for a `Company`.
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/filter-ticket-flagged'
- $ref: '#/components/parameters/filter-states-'
- $ref: '#/components/parameters/filter-job-driver_ids'
- $ref: '#/components/parameters/filter-job-pickup_site_ids'
- $ref: '#/components/parameters/filter-job-dropoff_site_ids'
- $ref: '#/components/parameters/filter-job-states'
- $ref: '#/components/parameters/filter-job-vendor_account_ids'
- $ref: '#/components/parameters/filter-job-material_ids'
- $ref: '#/components/parameters/filter-material_ids'
/v1/companies/{company-id}/loads/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 Loads by Company
tags:
- Loads
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/Load-Read-Typeahead'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-loads-typeahead
x-stoplight:
id: loadtypahead01
description: Typeahead search against the `load_id` property for `Loads` 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}/loads/{load-id}/approve:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
format: uuid
name: load-id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Approve a Load as a Company
tags:
- Loads
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Load-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-companies-company-id-loads-load-id-approve
x-stoplight:
id: zmbfw03qqydlf
description: 'Approve a `Load` by ID as a `Company`
This endpoint requires the `approve_load` permission.'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Approval-Approve'
/v1/companies/{company-id}/loads/{load-id}/complete:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
format: uuid
name: load-id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Complete a Load as a Company
tags:
- Loads
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Load-Read'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'409':
$ref: '#/components/responses/StateError'
'415':
$ref: '#/components/responses/Error'
operationId: put-v1-companies-company-id-loads-load-id-complete
x-stoplight:
id: 6nbzko679905s
description: 'Complete a `Load` by ID as a `Company`
This endpoint requires the `edit_job` permission or if the current user is the assigned driver'
x-internal: true
/v1/companies/{company-id}/loads/{load-id}/unapprove:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
format: uuid
name: load-id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Unapprove a Load as a Company
tags:
- Loads
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Load-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-companies-company-id-loads-load-id-unapprove
description: 'Unapprove a `Load` by ID as a `Company`
This endpoint requires the `approve_load` permission.'
requestBody:
content:
application/json:
schema:
type: object
properties: {}
x-stoplight:
id: cl6r45gvy3xbm
/v1/companies/{company-id}/orders/{order-id}/loads:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
format: uuid
name: order-id
in: path
required: true
description: Order ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Loads of an Order for a Company
tags:
- Loads
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: k8m2nqp4r5s6t
items:
$ref: '#/components/schemas/Load-LoadSummary-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-orders-order-id-loads
x-stoplight:
id: h7j3k9l2m4n6p
description: Retrieve `Loads` of an `Order` for a `Company`.
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/filter-ticket-flagged'
- $ref: '#/components/parameters/filter-states-'
- $ref: '#/components/parameters/filter-job-driver_ids'
- $ref: '#/components/parameters/filter-job-pickup_site_ids'
- $ref: '#/components/parameters/filter-job-dropoff_site_ids'
- $ref: '#/components/parameters/filter-job-states'
- $ref: '#/components/parameters/filter-job-vendor_account_ids'
- $ref: '#/components/parameters/filter-job-material_ids'
- $ref: '#/components/parameters/filter-material_ids'
/v1/companies/{company-id}/settlements/{settlement-id}/loads:
parameters:
- schema:
type: string
format: uuid
name: company-id
in: path
required: true
description: Company ID
- schema:
type: string
format: uuid
name: settlement-id
in: path
required: true
description: Settlement ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Loads of a Settlement
tags:
- Loads
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/Load-LoadSummary-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-companies-company-id-settlements-settlement-id-loads
description: Retrieve `Loads` of all `Orders` belonging to a `Settlement`.
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/filter-ticket-flagged'
- $ref: '#/components/parameters/filter-states-'
- $ref: '#/components/parameters/filter-job-driver_ids'
- $ref: '#/components/parameters/filter-job-pickup_site_ids'
- $ref: '#/components/parameters/filter-job-dropoff_site_ids'
- $ref: '#/components/parameters/filter-job-states'
- $ref: '#/components/parameters/filter-job-vendor_account_ids'
- $ref: '#/components/parameters/filter-job-material_ids'
- $ref: '#/components/parameters/filter-material_ids'
/v1/jobs/{job-id}/loads:
parameters:
- schema:
type: string
name: job-id
in: path
required: true
description: Job ID
- $ref: '#/components/parameters/Accept-Language'
post:
summary: Add a new load to a Job
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Load-Read'
'400':
$ref: '#/components/responses/Error'
'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: post-v1-jobs-id-loads
x-stoplight:
id: lup09kisyoij9
tags:
- Loads
description: 'Create a `Load` by for a `Job`
This endpoint requires the `create_loads` permission'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Load-Create'
get:
summary: Retrieve Loads of a Job
tags:
- Loads
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: af2gavgs3876u
items:
$ref: '#/components/schemas/Load-LoadSummary-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-jobs-job-id-loads
x-stoplight:
id: nfnyrh6bqz3ek
description: Retrieve `Loads` of a `Job`.
deprecated: true
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/filter-ticket-flagged'
- $ref: '#/components/parameters/filter-states-'
/v1/loads/approval:
parameters:
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Loads for the current Company for approval
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/Load-Approval-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-loads-approval
description: Retrieve completed `Loads` for the current `Company` which are ready for the `Foreman` to approve.
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/search-job-datagrid'
- $ref: '#/components/parameters/filter-start_date'
- $ref: '#/components/parameters/filter-end_date'
x-stoplight:
id: z51hw09mt5tai
tags:
- Loads
/v1/loads/{id}:
parameters:
- schema:
type: string
name: id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve a single Load
tags:
- Loads
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Load-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-loads-id
x-stoplight:
id: jed5du7adixtr
description: Retrieve `Load` by ID
patch:
summary: Update a Load
tags:
- Loads
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Load-Read'
'400':
$ref: '#/components/responses/Error'
'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-loads-id
x-stoplight:
id: af3i9voxx310f
description: 'Update a `Load` by ID
This endpoint requires the `edit_load` permission'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Load-Update'
delete:
summary: Delete a Load
tags:
- Loads
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/ModelError'
operationId: delete-v1-loads-id
x-stoplight:
id: nsarg5khevzu9
description: 'Delete a `Load` by ID
This endpoint requires the `delete_load` permission'
/v1/loads/{load-id}/approve:
parameters:
- schema:
type: string
name: load-id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Approve a Load
tags:
- Loads
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Load-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-loads-id-approve
x-stoplight:
id: q1ixgaodcz6t3
description: 'Approve a `Load` by ID
This endpoint requires the `approve_load` permission.'
deprecated: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Approval-Approve'
/v1/loads/{load-id}/signatures:
parameters:
- schema:
type: string
format: uuid
name: load-id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve all Signatures for a Load
tags:
- Loads
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
x-stoplight:
id: 3ujvqjwsh3075
items:
x-stoplight:
id: 1bqu386h0nlnx
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-loads-load-id-signatures
x-stoplight:
id: 5gjvkfcb58ttk
description: Retrieve all `Signatures` for a `Load`
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
/v1/loads/{load-id}/signatures/driver:
parameters:
- schema:
type: string
format: uuid
name: load-id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Create or update the DriverSignature on a Load
tags:
- Loads
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-loads-load-id-signatures-driver
x-stoplight:
id: ib24ngk4ymny2
description: Create or update the `DriverSignature` on a `Load`.
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/DriverSignature-Create'
delete:
summary: Delete the DriverSignature from a Load
tags:
- Loads
responses:
'204':
description: No Content
content:
application/json:
schema:
type: object
properties: {}
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: delete-v1-loads-load-id-signatures-driver
x-stoplight:
id: giaqykshv9j4q
description: Delete the `DriverSignature` from a `Load`.
/v1/loads/{load-id}/signatures/dropoff:
parameters:
- schema:
type: string
format: uuid
name: load-id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Create or update the DropoffSignature on a Load
tags:
- Loads
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-loads-load-id-signatures-dropoff
x-stoplight:
id: rj36ccpsiro53
description: 'Create or update the `DropoffSignature` on a `Load`. '
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/DropoffSignature-Create'
delete:
summary: Delete the DropoffSignature from a Load
tags:
- Loads
responses:
'204':
description: No Content
content:
application/json:
schema:
type: object
properties: {}
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: delete-v1-loads-load-id-signatures-dropoff
x-stoplight:
id: mqn0ibintrro9
description: Delete the `DropoffSignature` from a `Load`
/v1/loads/{load-id}/unapprove:
parameters:
- schema:
type: string
format: uuid
name: load-id
in: path
required: true
description: Load ID
- $ref: '#/components/parameters/Accept-Language'
put:
summary: Unapprove a Load
tags:
- Loads
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Load-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-loads-id-unapprove
description: 'Unapprove a `Load` by ID
This endpoint requires the `approve_load` permission.'
deprecated: true
requestBody:
content:
application/json:
schema:
type: object
properties: {}
x-stoplight:
id: gw8j86fn75frt
/v1/orders/{order-id}/loads:
parameters:
- schema:
type: string
format: uuid
name: order-id
in: path
required: true
description: Order ID
- $ref: '#/components/parameters/Accept-Language'
get:
summary: Retrieve Loads of an Order
tags:
- Loads
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: m79zsypmd8iqi
items:
$ref: '#/components/schemas/Load-LoadSummary-Read'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'404':
$ref: '#/components/responses/Error'
'406':
$ref: '#/components/responses/Error'
operationId: get-v1-orders-order-id-loads
x-stoplight:
id: f71l0hplsp631
description: Retrieve `Loads` of an `Order`.
deprecated: true
parameters:
- $ref: '#/components/parameters/page-limit'
- $ref: '#/components/parameters/page-after'
- $ref: '#/components/parameters/page-before'
- $ref: '#/components/parameters/filter-ticket-flagged'
- $ref: '#/components/parameters/filter-states-'
components:
schemas:
StateError-Response:
title: StateError-Response
x-stoplight:
id: i0wsk2gmnaqup
type: object
required:
- error
properties:
error:
$ref: '#/components/schemas/StateError'
additionalProperties: false
DropoffSignature-Create:
title: DropoffSignature-Create
x-stoplight:
id: 4g1t03y1rapad
allOf:
- $ref: '#/components/schemas/Signature-Create'
- type: object
x-stoplight:
id: ghrw5egmdgym0
required:
- name
properties:
name:
type: string
x-stoplight:
id: yub424r3ytw4d
phone:
type: string
x-stoplight:
id: bnwpzbfo5qpt6
NextBillionGeofence-Read:
title: NextBillionGeofence-Read
x-stoplight:
id: 60y0z4bb3pu6m
allOf:
- $ref: '#/components/schemas/Identifier'
- $ref: '#/components/schemas/Geofence-Data'
Load-Approval-Read:
title: Load-Approval-Read
x-stoplight:
id: fe0o7xspns6wh
description: This model will be used by mobile client for approvals screen.
allOf:
- $ref: '#/components/schemas/Identifier'
- $ref: '#/components/schemas/Timestamps'
- type: object
required:
- load_id
- ordinality
- quantity
- state
- foremen
- unit_of_measure
properties:
load_id:
type: string
x-stoplight:
id: 335o6uguk5yqj
ordinality:
type: integer
x-stoplight:
id: 05rr0kjrl6bl5
quantity:
type: string
x-stoplight:
id: vcyllp9hxavpu
state:
$ref: '#/components/schemas/LoadState'
foremen:
type: array
x-stoplight:
id: f6cnly3433nk4
items:
$ref: '#/components/schemas/User-Read-Nested'
unit_of_measure:
$ref: '#/components/schemas/OrderUnitOfMeasure'
job:
$ref: '#/components/schemas/Job-Load-Approval-Read'
ticket:
$ref: '#/components/schemas/Ticket-Load-Approval-R
# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/treadio/refs/heads/main/openapi/treadio-loads-api-openapi.yml