openapi: 3.0.0
paths:
/:
get:
operationId: AppController_getBase
summary: Shows a greeting message.
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
type: string
tags:
- General
/version:
get:
operationId: AppController_getVersion
summary: Shows the current Nova version.
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/VersionDto'
tags:
- General
/app-environment:
get:
operationId: AppController_getAppEnvironment
summary: Gets public environment data for the app.
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AppEnvironmentDto'
tags:
- General
/warehouse/{id}:
get:
operationId: getOneBaseWarehouseControllerWarehouse
summary: Retrieve a single Warehouse
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Warehouse'
tags:
- Warehouses
security:
- bearer: []
patch:
operationId: updateOneBaseWarehouseControllerWarehouse
summary: Update a single Warehouse
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWarehouseDto'
responses:
'200':
description: Response
content:
application/json:
schema:
$ref: '#/components/schemas/Warehouse'
tags:
- Warehouses
security:
- bearer: []
delete:
operationId: deleteOneBaseWarehouseControllerWarehouse
summary: Delete a single Warehouse
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Warehouse'
tags:
- Warehouses
security:
- bearer: []
/warehouse:
get:
operationId: getManyBaseWarehouseControllerWarehouse
summary: Retrieve multiple Warehouses
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: Warehouse
data:
type: array
items:
$ref: '#/components/schemas/Warehouse'
tags:
- Warehouses
security:
- bearer: []
post:
operationId: createOneBaseWarehouseControllerWarehouse
summary: Create a single Warehouse
description: '**This is a billable event.** Creating a new warehouse implies additional subscription costs. Please reach
out to your CSA for more information.'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWarehouseDto'
responses:
'201':
description: Get create one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Warehouse'
tags:
- Warehouses
security:
- bearer: []
/warehouse/{id}/custom-forms:
patch:
operationId: WarehouseController_updateLoadTypesCustomForms
summary: Update custom forms for load types
description: "Updates existing custom forms' names and their associations with load types.\n\n This endpoint allows\
\ you to:\n - Modify the display name of custom forms\n - Change which load types trigger these forms\n -\
\ Update form visibility settings\n\n For Delete a loadtype custom form, please refer to custom-forms/flow endpoint\
\ sending the flowId to delete all related flows/forms.\n Note: To modify the fields within forms, use the '/custom-forms/form-field'\
\ endpoint."
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLoadTypesCustomFormsDto'
responses:
'200':
description: Custom forms successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/'
tags:
- Warehouses
- Custom Forms - Triggers
security:
- bearer: []
post:
operationId: WarehouseController_createLoadTypesCustomForms
summary: Create custom forms for load types
description: "This endpoint creates custom forms that are triggered when appointments are booked with specific load\
\ types.\n\n The system will generate three forms:\n - One for the Warehouse App\n - One for the Carrier\
\ App\n - One for all platforms, including API integrations\n\n Initially, forms are created without fields.\
\ After creation, you must configure the form fields using the '/custom-forms/form-field' endpoint.\n\n For complete\
\ form management, refer to the Custom Forms section, starting with the '/custom-forms/trigger' endpoint."
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLoadTypesCustomFormsDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/'
tags:
- Warehouses
- Custom Forms - Triggers
security:
- bearer: []
/warehouse/{id}/get-hours-of-operation:
post:
operationId: WarehouseController_getHOOPs
summary: Get open hours for set of docks in the warehouse
description: "This endpoint will return an array of docks and their computed open hours taking into consideration\n\
\ closed days and the warehouse hours.
\n If dockIds are supplied, then it will filter the returned\
\ array down to those docks.
\n This will always return a full weeks worth of hours around the start/end\
\ dates provided."
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetHoursOfOperationDto'
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DockHoursOfOperation'
tags:
- Warehouses
security:
- bearer: []
/user/invite:
post:
operationId: UserController_invite
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InviteDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- Users
security:
- bearer: []
/user/{id}:
get:
operationId: getOneBaseUserControllerUser
summary: Retrieve a single User
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- Users
security:
- bearer: []
delete:
operationId: deleteOneBaseUserControllerUser
summary: Delete a single User
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- Users
security:
- bearer: []
patch:
operationId: updateOneBaseUserControllerUser
summary: Update a single User
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- Users
security:
- bearer: []
/user:
get:
operationId: getManyBaseUserControllerUser
summary: Retrieve multiple Users
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: User
data:
type: array
items:
$ref: '#/components/schemas/User'
tags:
- Users
security:
- bearer: []
/user/email-available/{email}:
get:
operationId: UserController_isEmailAvailable
parameters:
- name: email
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: boolean
tags:
- Users
security:
- bearer: []
/user/change-password:
post:
operationId: UserController_changePassword
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- Users
security:
- bearer: []
/user/accept-tc:
post:
operationId: UserController_acceptTC
parameters: []
responses:
'200':
description: ''
tags:
- Users
security:
- bearer: []
/carrier:
get:
operationId: getManyBaseCarrierControllerUser
summary: Retrieve multiple Users
parameters:
- name: onlyIncludeFavorites
required: false
in: query
description: Filters returned carriers to only include "Favorite" carriers.
schema:
type: boolean
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: User
data:
type: array
items:
$ref: '#/components/schemas/User'
tags:
- Carrier Users
security:
- bearer: []
post:
operationId: createOneBaseCarrierControllerUser
summary: Create a single User
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCarrierDto'
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: User
data:
type: array
items:
$ref: '#/components/schemas/User'
'201':
description: Get create one base response
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- Carrier Users
security:
- bearer: []
/carrier/booked:
get:
operationId: CarrierController_getManyBooked
parameters: []
responses:
'200':
description: ''
tags:
- Carrier Users
security:
- bearer: []
/carrier/{id}/org-carrier-settings:
get:
operationId: CarrierController_getOrgCarrierSettingsOrg
summary: ''
deprecated: true
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrgCarrierSettingsDto'
tags:
- Carrier Users
security:
- bearer: []
patch:
operationId: CarrierController_updateOrgCarrierSettings
summary: ''
deprecated: true
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrgCarrierSettingsDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrgCarrierSettingsDto'
tags:
- Carrier Users
security:
- bearer: []
/carrier/org-carrier-settings/{id}:
get:
operationId: CarrierController_getOrgCarrierSettingsCarrier
summary: ''
deprecated: true
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrgCarrierSettingsDto'
tags:
- Carrier Users
security:
- bearer: []
/carrier/preview:
post:
operationId: CarrierController_getCarrierPreviewToken
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetPreviewAsCarrierResponseDto'
tags:
- Carrier Users
security:
- bearer: []
/carrier/settings:
get:
operationId: CarrierController_getCarrierSettings
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetPreviewAsCarrierResponseDto'
tags:
- Carrier Users
security:
- bearer: []
/carrier/settings/favorite-warehouses:
get:
operationId: CarrierController_getFavoriteWarehouses
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetPreviewAsCarrierResponseDto'
tags:
- Carrier Users
security:
- bearer: []
post:
operationId: CarrierController_addFavoriteWarehouse
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddCarrierFavoriteWarehouseDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetPreviewAsCarrierResponseDto'
tags:
- Carrier Users
security:
- bearer: []
delete:
operationId: CarrierController_removeFavoriteWarehouse
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveCarrierFavoriteWarehouseDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetPreviewAsCarrierResponseDto'
tags:
- Carrier Users
security:
- bearer: []
/carrier/{id}:
get:
operationId: getOneBaseCarrierControllerUser
summary: Retrieve a single User
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- Carrier Users
security:
- bearer: []
/org/{id}:
get:
operationId: getOneBaseOrgControllerOrg
summary: Retrieve a single Org
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Org'
tags:
- Orgs
security:
- bearer: []
patch:
operationId: updateOneBaseOrgControllerOrg
summary: Update a single Org
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrgDto'
responses:
'200':
description: Response
content:
application/json:
schema:
$ref: '#/components/schemas/Org'
tags:
- Orgs
security:
- bearer: []
/org/{orgId}/report-search:
post:
operationId: OrgController_createReportSearch
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateReportSearchDto'
responses:
'201':
description: ''
tags:
- Orgs
security:
- bearer: []
get:
operationId: OrgController_getAllReportSearches
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ReportSearchResponseDto'
tags:
- Orgs
security:
- bearer: []
/org/{orgId}/report-search/{reportSearchKey}:
patch:
operationId: OrgController_updateReportSearch
parameters:
- name: reportSearchKey
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateReportSearchDto'
responses:
'200':
description: ''
tags:
- Orgs
security:
- bearer: []
delete:
operationId: OrgController_deleteReportSearch
parameters:
- name: reportSearchKey
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
tags:
- Orgs
security:
- bearer: []
/org/{orgId}/favorite-carriers:
patch:
operationId: OrgController_updateFavoriteCarriers
parameters:
- name: orgId
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: string
responses:
'200':
description: ''
tags:
- Orgs
security:
- bearer: []
/org/{id}/custom-tags:
patch:
operationId: OrgController_updateCustomTags
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomTagsDto'
responses:
'200':
description: ''
tags:
- Orgs
security:
- bearer: []
/company:
get:
operationId: getManyBaseCompanyControllerCompany
summary: Retrieve multiple Companies
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: Company
data:
type: array
items:
$ref: '#/components/schemas/Company'
tags:
- Carrier Companies
security:
- bearer: []
post:
operationId: createOneBaseCompanyControllerCompany
summary: Create a single Company
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCompanyDto'
responses:
'201':
description: Get create one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
tags:
- Carrier Companies
security:
- bearer: []
/company/{id}:
get:
operationId: getOneBaseCompanyControllerCompany
summary: Retrieve a single Company
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
tags:
- Carrier Companies
security:
- bearer: []
/auth/login:
post:
operationId: AuthController_login
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LoginDto'
responses:
'200':
description: Successful login
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponseDto'
tags:
- Authentication
/auth/refresh:
get:
operationId: AuthController_refresh
parameters: []
responses:
'200':
description: Refreshed token
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponseDto'
tags:
- Authentication
security:
- bearer: []
/auth/profile:
get:
operationId: AuthController_getProfile
parameters: []
responses:
'200':
description: Current authenticated user profile
content:
application/json:
schema:
$ref: '#/components/schemas/AuthProfileResponseDto'
tags:
- Authentication
security:
- bearer: []
/auth/me:
get:
operationId: AuthController_getProfile
parameters: []
responses:
'200':
description: Current authenticated user profile
content:
application/json:
schema:
$ref: '#/components/schemas/AuthProfileResponseDto'
tags:
- Authentication
security:
- bearer: []
/dock:
post:
operationId: createOneBaseDockControllerDock
summary: Create a single Dock
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDockDto'
responses:
'201':
description: Get create one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Dock'
default:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Dock'
tags:
- Docks
security:
- bearer: []
get:
operationId: getManyBaseDockControllerDock
summary: Retrieve multiple Docks
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: Dock
data:
type: array
items:
$ref: '#/components/schemas/Dock'
tags:
- Docks
security:
- bearer: []
/dock/{id}:
patch:
operationId: updateOneBaseDockControllerDock
summary: Update a single Dock
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDockDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Dock'
tags:
- Docks
security:
- bearer: []
delete:
operationId: deleteOneBaseDockControllerDock
summary: Delete a single Dock
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteDockDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Dock'
tags:
- Docks
security:
- bearer: []
get:
operationId: getOneBaseDockControllerDock
summary: Retrieve a single Dock
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CrudOperationDto'
- properties:
entity:
type: string
example: Dock
data:
type: array
items:
$ref: '#/components/schemas/Dock'
tags:
- Docks
security:
- bearer: []
/dock/sort:
post:
operationId: DockController_updateSort
summary: Save the sort order of an array of docks
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DockSortDto'
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CrudOperationDto'
- properties:
entity:
type: string
example: Dock
data:
type: array
items:
$ref: '#/components/schemas/DockSortResponseDto'
tags:
- Docks
security:
- bearer: []
/dock/{id}/compute-availability:
post:
operationId: DockController_availability
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityResponseDto'
tags:
- Docks
security:
- bearer: []
/dock/{id}/get-availability:
post:
operationId: DockController_availability
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityResponseDto'
tags:
- Docks
security:
- bearer: []
/dock/compute-open-dates:
post:
operationId: DockController_openDates
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OpenDatesDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OpenDatesResponseDto'
tags:
- Docks
security:
- bearer: []
/dock/{id}/capacity:
post:
operationId: DockController_createCapacityChildDock
summary: Creates a child "Capacity Dock" linked to this Dock
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CrudOperationDto'
- properties:
entity:
type: string
example: Dock
data:
type: array
items:
$ref: '#/components/schemas/Dock'
tags:
- Docks
security:
- bearer: []
/dock/{id}/capacity/{childId}:
delete:
operationId: DockController_unlinkCapacityDock
summary: Unlinks a child "Capacity Dock" from its parent Dock
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: childId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: Dock
data:
type: array
items:
$ref: '#/components/schemas/Dock'
tags:
- Docks
security:
- bearer: []
/loadtype:
post:
operationId: createOneBaseLoadTypeControllerLoadType
summary: Create a single LoadType
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLoadTypeDto'
responses:
'201':
description: Get create one base response
content:
application/json:
schema:
$ref: '#/components/schemas/LoadType'
tags:
- Load Types
security:
- bearer: []
get:
operationId: getManyBaseLoadTypeControllerLoadType
summary: Retrieve multiple LoadTypes
parameters:
- name: warehouseId
required: false
in: query
description: When set, returns Loadtypes that can be used at this Warehouse.
schema:
type: string
- name: includeOrgLoadTypes
required: false
in: query
schema: {}
- name: showOnlyAssignedLoadTypes
required: false
in: query
schema: {}
- name: includeHierarchySettings
required: false
in: query
schema: {}
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: LoadType
data:
type: array
items:
$ref: '#/components/schemas/LoadType'
tags:
- Load Types
security:
- bearer: []
/loadtype/{id}:
delete:
operationId: deleteOneBaseLoadTypeControllerLoadType
summary: Delete a single LoadType
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/LoadType'
tags:
- Load Types
security:
- bearer: []
get:
operationId: getOneBaseLoadTypeControllerLoadType
summary: Retrieve a single LoadType
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LoadType'
tags:
- Load Types
security:
- bearer: []
patch:
operationId: updateOneBaseLoadTypeControllerLoadType
summary: Update a single LoadType
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLoadTypeDto'
responses:
'200':
description: Response
content:
application/json:
schema:
$ref: '#/components/schemas/LoadType'
tags:
- Load Types
security:
- bearer: []
/loadtype/{id}/get-availability:
post:
operationId: LoadTypeController_availability
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: forceAsCarrier
required: false
in: query
description: When passing this argument as true, the availability will consider the availability for a carrier user,
default = false
schema:
example: 'true'
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityFromLoadTypeDto'
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AvailabilityResponseDto'
tags:
- Load Types
security:
- bearer: []
/loadtype/{id}/appointment-count:
get:
operationId: LoadTypeController_getAppointmentCount
summary: Returns the appointment count grouped by warehouse
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AppointmentCountResponseDto'
tags:
- Load Types
security:
- bearer: []
/loadtype-group:
post:
operationId: LoadTypeGroupController_createLoadTypeGroup
summary: Create a new load type group
description: Creates a load type group, which is a collection of load types that can be managed together for unit limiting
purposes. Load type groups allow you to apply the same unit limits to multiple load types simultaneously, simplifying
capacity management.
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLoadTypeGroupDto'
responses:
'200':
description: Load type group successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseLoadTypeGroupDto'
tags:
- Load Type Groups
- Unit Limiter
security:
- bearer: []
get:
operationId: LoadTypeGroupController_getLoadTypeGroups
summary: Retrieve load type groups
description: Fetches all load type groups for a specific warehouse. Returns a list of groups with their associated load
types, useful for displaying configuration options or managing unit limits.
parameters: []
responses:
'200':
description: List of load type groups for the specified warehouse
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ResponseLoadTypeGroupDto'
tags:
- Load Type Groups
- Unit Limiter
security:
- bearer: []
/loadtype-group/{id}:
patch:
operationId: LoadTypeGroupController_updateLoadTypeGroup
summary: Update an existing load type group
description: Updates the name or load type membership of an existing load type group. This allows you to modify which
load types are included in the group without recreating it.
parameters:
- name: id
required: true
in: path
description: The unique identifier of the load type group to update
schema:
format: uuid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLoadTypeGroupDto'
responses:
'200':
description: Load type group successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseLoadTypeGroupDto'
tags:
- Load Type Groups
- Unit Limiter
security:
- bearer: []
delete:
operationId: LoadTypeGroupController_deleteLoadTypeGroup
summary: Delete a load type group
description: Deletes a load type group. This removes the group itself but does not affect the individual load types
that were part of the group. Any unit limits referencing this group will need to be reconfigured.
parameters:
- name: id
required: true
in: path
description: The unique identifier of the load type group to delete
schema:
format: uuid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteLoadTypeGroupDto'
responses:
'200':
description: Load type group successfully deleted
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
tags:
- Load Type Groups
- Unit Limiter
security:
- bearer: []
/unit-limit/configuration:
post:
operationId: UnitLimitController_setUpConfiguration
summary: Create or update unit limit configuration
description: Configures unit limits for a warehouse based on grouping criteria (warehouse, dock, load type, or load
type group). Unit limits control how many appointment or handling units (pallets, etc.) can be scheduled within specific
time periods. This helps manage warehouse capacity and prevent overbooking.
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UnitLimitConfigurationWriteDTO'
responses:
'200':
description: Unit limit configuration successfully created or updated
content:
application/json:
schema:
type: object
properties:
id:
type: string
format: uuid
example: 123e4567-e89b-12d3-a456-426614174000
tags:
- Unit Limiter
security:
- bearer: []
get:
operationId: UnitLimitController_getConfiguration
summary: Retrieve unit limit configurations
description: Fetches unit limit configurations based on specified filters such as warehouse, grouper type (dock, load
type, or load type group), and unit type. Returns all matching configurations for the authenticated user's organization.
parameters: []
responses:
'200':
description: List of unit limit configurations matching the query parameters
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UnitLimit'
tags:
- Unit Limiter
security:
- bearer: []
/unit-limit/count:
get:
operationId: UnitLimitController_getCount
summary: Get unit limit counts for specific configurations
description: Retrieves actual unit counts for specified unit limit configurations within a date range. This shows how
many units have been scheduled against each limit, helping track capacity utilization.
parameters: []
responses:
'200':
description: List of unit counts for the requested unit limits and date range
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UnitLimitCount'
tags:
- Unit Limiter
security:
- bearer: []
/unit-limit/validate:
post:
operationId: UnitLimitController_validateUnitLimit
summary: Validate if scheduling at a given time would breach unit limits
description: Checks whether creating an appointment with the specified warehouse, dock, load type, and time interval
would violate any configured unit limits. Returns an array of results for each day in the interval.
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UnitLimitValidateDTO'
responses:
'200':
description: Unit limits validation results for each day in the requested interval
content:
application/json:
schema:
type: array
items:
type: object
properties:
valid:
type: boolean
example: true
message:
type: string
example: Unit limits validation passed
date:
type: string
example: '2025-11-05'
tags:
- Unit Limiter
security:
- bearer: []
/custom-forms/flow:
post:
operationId: createOneBaseFlowControllerFlow
summary: Create a single Flow
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFlowDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Flow'
tags:
- Custom Forms - Flows
security:
- bearer: []
get:
operationId: getManyBaseFlowControllerFlow
summary: Retrieve multiple Flows
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get paginated response
content:
application/json:
schema:
$ref: '#/components/schemas/GetManyFlowResponseDto'
tags:
- Custom Forms - Flows
security:
- bearer: []
/custom-forms/flow/{id}:
patch:
operationId: updateOneBaseFlowControllerFlow
summary: Update a single Flow
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFlowDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Flow'
tags:
- Custom Forms - Flows
security:
- bearer: []
get:
operationId: getOneBaseFlowControllerFlow
summary: Retrieve a single Flow
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Flow'
tags:
- Custom Forms - Flows
security:
- bearer: []
delete:
operationId: deleteOneBaseFlowControllerFlow
summary: Delete a single Flow
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Flow'
tags:
- Custom Forms - Flows
security:
- bearer: []
/custom-forms/form:
post:
operationId: createOneBaseFormControllerForm
summary: Create a single Form
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFormDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
tags:
- Custom Forms - Forms
security:
- bearer: []
get:
operationId: getManyBaseFormControllerForm
summary: Retrieve multiple Forms
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get paginated response
content:
application/json:
schema:
$ref: '#/components/schemas/GetManyFormResponseDto'
tags:
- Custom Forms - Forms
security:
- bearer: []
/custom-forms/form/{id}:
patch:
operationId: updateOneBaseFormControllerForm
summary: Update a single Form
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFormDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
tags:
- Custom Forms - Forms
security:
- bearer: []
get:
operationId: getOneBaseFormControllerForm
summary: Retrieve a single Form
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
tags:
- Custom Forms - Forms
security:
- bearer: []
delete:
operationId: deleteOneBaseFormControllerForm
summary: Delete a single Form
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
tags:
- Custom Forms - Forms
security:
- bearer: []
/custom-forms/form/sort/{id}:
patch:
operationId: FormController_sortFormFields
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SortFormFieldDto'
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
tags:
- Custom Forms - Forms
security:
- bearer: []
/custom-forms/field:
post:
operationId: createOneBaseFieldControllerField
summary: Create a single Field
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFieldDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Field'
tags:
- Custom Forms - Fields
security:
- bearer: []
get:
operationId: getManyBaseFieldControllerField
summary: Retrieve multiple Fields
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get paginated response
content:
application/json:
schema:
$ref: '#/components/schemas/GetManyFieldResponseDto'
tags:
- Custom Forms - Fields
security:
- bearer: []
/custom-forms/field/{id}:
patch:
operationId: updateOneBaseFieldControllerField
summary: Update a single Field
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFieldDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Field'
tags:
- Custom Forms - Fields
security:
- bearer: []
get:
operationId: getOneBaseFieldControllerField
summary: Retrieve a single Field
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Field'
tags:
- Custom Forms - Fields
security:
- bearer: []
delete:
operationId: deleteOneBaseFieldControllerField
summary: Delete a single Field
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Field'
tags:
- Custom Forms - Fields
security:
- bearer: []
/custom-forms/form-field:
post:
operationId: createOneBaseFormFieldControllerFormField
summary: Create a single FormField
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFormFieldDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FormField'
tags:
- Custom Forms - Form Fields
security:
- bearer: []
get:
operationId: getManyBaseFormFieldControllerFormField
summary: Retrieve multiple FormFields
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get paginated response
content:
application/json:
schema:
$ref: '#/components/schemas/GetManyFormFieldResponseDto'
tags:
- Custom Forms - Form Fields
security:
- bearer: []
/custom-forms/form-field/{id}:
patch:
operationId: updateOneBaseFormFieldControllerFormField
summary: Update a single FormField
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFormFieldDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FormField'
tags:
- Custom Forms - Form Fields
security:
- bearer: []
get:
operationId: getOneBaseFormFieldControllerFormField
summary: Retrieve a single FormField
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/FormField'
tags:
- Custom Forms - Form Fields
security:
- bearer: []
delete:
operationId: deleteOneBaseFormFieldControllerFormField
summary: Delete a single FormField
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/FormField'
tags:
- Custom Forms - Form Fields
security:
- bearer: []
/custom-forms/trigger:
get:
operationId: getManyBaseTriggerControllerTrigger
summary: Retrieve multiple Triggers
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Trigger'
tags:
- Custom Forms - Triggers
security:
- bearer: []
post:
operationId: createOneBaseTriggerControllerTrigger
summary: Create a single Trigger
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTriggerDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Trigger'
tags:
- Custom Forms - Triggers
security:
- bearer: []
/custom-forms/trigger/{id}:
patch:
operationId: updateOneBaseTriggerControllerTrigger
summary: Update a single Trigger
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTriggerDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Trigger'
tags:
- Custom Forms - Triggers
security:
- bearer: []
delete:
operationId: deleteOneBaseTriggerControllerTrigger
summary: Delete a single Trigger
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Trigger'
tags:
- Custom Forms - Triggers
security:
- bearer: []
get:
operationId: getOneBaseTriggerControllerTrigger
summary: Retrieve a single Trigger
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Trigger'
tags:
- Custom Forms - Triggers
security:
- bearer: []
/custom-forms/form-data/{id}:
get:
operationId: getOneBaseCustomFormDataControllerCustomFormData
summary: Retrieve a single CustomFormData
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFormData'
tags:
- Custom Forms - Data
security:
- bearer: []
patch:
operationId: updateOneBaseCustomFormDataControllerCustomFormData
summary: Update a single CustomFormData
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomFormDataDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFormData'
tags:
- Custom Forms - Data
security:
- bearer: []
delete:
operationId: deleteOneBaseCustomFormDataControllerCustomFormData
summary: Delete a single CustomFormData
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFormData'
tags:
- Custom Forms - Data
security:
- bearer: []
/custom-forms/form-data:
get:
operationId: getManyBaseCustomFormDataControllerCustomFormData
summary: Retrieve multiple CustomFormData
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFormData'
tags:
- Custom Forms - Data
security:
- bearer: []
post:
operationId: createOneBaseCustomFormDataControllerCustomFormData
summary: Create a single CustomFormData
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSingleCustomFormDataDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFormData'
tags:
- Custom Forms - Data
security:
- bearer: []
/custom-forms/form-data/bulk:
post:
operationId: createManyBaseCustomFormDataControllerCustomFormData
summary: Create multiple CustomFormData
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateManyCustomFormDataDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFormData'
tags:
- Custom Forms - Data
security:
- bearer: []
/appointment:
get:
operationId: getManyBaseAppointmentControllerAppointment
summary: Retrieve multiple Appointments
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: AppointmentListItemDto
data:
type: array
items:
$ref: '#/components/schemas/AppointmentListItemDto'
tags:
- Appointments
security:
- bearer: []
post:
operationId: createOneBaseAppointmentControllerAppointment
summary: Create a single Appointment
parameters:
- name: bypassCustomFieldsValidation
required: true
in: query
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAppointmentDto'
responses:
'201':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: create
tags:
- Appointments
security:
- bearer: []
/appointment/requirements:
get:
operationId: AppointmentController_getAppointmentRequirements
parameters:
- name: loadTypeId
required: true
in: query
description: Identifies a LoadType.
schema:
type: string
- name: warehouseId
required: true
in: query
description: Identifies a Warehouse.
schema:
type: string
- name: start
required: true
in: query
description: The start date of appointment creations.
schema:
format: date-time
type: string
- name: end
required: true
in: query
description: The end date of appointment creations.
schema:
format: date-time
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentRequirementsSuccessResponseDto'
tags:
- Appointments
security:
- bearer: []
/appointment/{id}:
get:
operationId: getOneBaseAppointmentControllerAppointment
summary: Retrieve a single Appointment
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: read
tags:
- Appointments
security:
- bearer: []
delete:
operationId: deleteOneBaseAppointmentControllerAppointment
summary: Delete a single Appointment
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteAppointmentDto'
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: delete
tags:
- Appointments
security:
- bearer: []
patch:
operationId: updateOneBaseAppointmentControllerAppointment
summary: Update a single Appointment
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAppointmentDto'
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: update
tags:
- Appointments
security:
- bearer: []
/appointment/public/{id}:
get:
operationId: AppointmentController_getPublicAppointmentDetails
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentListItemDto'
tags:
- Appointments
/appointment/{id}/set-eta:
patch:
operationId: AppointmentController_setEta
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EtaDto'
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: update
tags:
- Appointments
security:
- bearer: []
/appointment/{id}/undo-latest-status:
patch:
operationId: AppointmentController_undoLatestStatus
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: update
tags:
- Appointments
security:
- bearer: []
/appointment/reserve:
post:
operationId: AppointmentController_createReserve
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateReserveDto'
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: create
tags:
- Appointments
security:
- bearer: []
/appointment/{id}/recurring:
post:
operationId: AppointmentController_createRecurringAppointments
summary: Creates a Recurring Appointment Series based on this appointment
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRecurringAppointmentsDto'
responses:
'201':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/RecurringAppointmentCreateResponse'
entity:
type: string
example: Appointment
action:
type: string
example: create
tags:
- Appointments
security:
- bearer: []
delete:
operationId: AppointmentController_deleteRecurringAppointments
summary: Deletes this appointment and all following appointments in the recurring series, except the original appointment
used to create this series.
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: delete
tags:
- Appointments
security:
- bearer: []
/appointment/email-notification-html/{emailKey}:
get:
operationId: AppointmentController_getAppointmentNotificationEmailHtml
parameters:
- name: emailKey
required: true
in: path
schema:
type: string
- name: warehouseId
required: true
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentNotificationEmailHtmlResponseDto'
tags:
- Appointments
security:
- bearer: []
/appointment/{id}/tag:
post:
operationId: AppointmentController_addAppointmentTag
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddAppointmentTagDto'
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: update
tags:
- Appointments
security:
- bearer: []
delete:
operationId: AppointmentController_removeAppointmentTag
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddAppointmentTagDto'
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/AppointmentListItemDto'
entity:
type: string
example: Appointment
action:
type: string
example: update
tags:
- Appointments
security:
- bearer: []
/asset-visit:
post:
operationId: createOneBaseAssetVisitControllerAssetVisit
summary: Create a single AssetVisit
parameters:
- name: assetContainerId
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAssetVisitDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisit'
'201':
description: Get create one base response
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisit'
tags:
- Asset Visit
security:
- bearer: []
get:
operationId: getManyBaseAssetVisitControllerAssetVisit
summary: Retrieve multiple AssetVisits
parameters:
- name: excludeStatuses
required: false
in: query
description: Event types to exclude. Asset visits with any event matching these types will be filtered out.
schema:
type: array
items:
type: string
enum:
- NotArrived
- Arrived
- Docked
- Departed
- Canceled
- Attached
- Detached
- Appointment Linked
- Appointment Unlinked
- RejectedByCheckin
- RejectedByWarehouse
- name: assetContainerId
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: AssetVisit
data:
type: array
items:
$ref: '#/components/schemas/AssetVisit'
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/{id}:
patch:
operationId: updateOneBaseAssetVisitControllerAssetVisit
summary: Update a single AssetVisit
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: assetContainerId
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAssetVisitDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisit'
tags:
- Asset Visit
security:
- bearer: []
get:
operationId: getOneBaseAssetVisitControllerAssetVisit
summary: Retrieve a single AssetVisit
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: assetContainerId
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisit'
tags:
- Asset Visit
security:
- bearer: []
delete:
operationId: deleteOneBaseAssetVisitControllerAssetVisit
summary: Delete a single AssetVisit
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: assetContainerId
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisit'
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/event:
post:
operationId: AssetVisitController_createAssetVisitEvent
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAssetVisitEventDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisit'
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/{id}/yard-events:
get:
operationId: AssetVisitController_getAssetVisitEvents
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/{id}/arrival-container:
get:
operationId: AssetVisitController_getArrivalAssetContainerForVisit
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AssetContainer'
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/{id}/check-in-acknowledgment:
patch:
operationId: AssetVisitController_updateCheckInAcknowledgment
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAssetVisitAcknowledgmentDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisit'
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/{id}/attach/{assetContainerId}:
post:
operationId: AssetVisitController_attachContainer
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: assetContainerId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/{id}/detach/{assetContainerId}:
post:
operationId: AssetVisitController_detachContainer
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: assetContainerId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/link-unplanned-checkin-to-appointment:
post:
operationId: AssetVisitController_linkUnplannedCheckinToAppointment
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LinkUnplannedCheckinToAppointmentDto'
responses:
'200':
description: ''
tags:
- Asset Visit
security:
- bearer: []
/asset-visit/unlink-checkin-from-appointment:
post:
operationId: AssetVisitController_unlinkCheckinFromAppointment
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UnlinkAssetFromAppointmentDto'
responses:
'200':
description: ''
tags:
- Asset Visit
security:
- bearer: []
/asset-container/{id}:
get:
operationId: getOneBaseAssetContainerControllerAssetContainer
summary: Retrieve a single AssetContainer
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetContainer'
tags:
- Asset Container
security:
- bearer: []
patch:
operationId: updateOneBaseAssetContainerControllerAssetContainer
summary: Update a single AssetContainer
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAssetContainerDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetContainer'
tags:
- Asset Container
security:
- bearer: []
delete:
operationId: deleteOneBaseAssetContainerControllerAssetContainer
summary: Delete a single AssetContainer
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/AssetContainer'
tags:
- Asset Container
security:
- bearer: []
/asset-container:
get:
operationId: getManyBaseAssetContainerControllerAssetContainer
summary: Retrieve multiple AssetContainers
parameters:
- name: excludeStatuses
required: false
in: query
description: Event types to exclude. Asset containers with any event matching these types will be filtered out.
schema:
type: array
items:
type: string
enum:
- Arrived
- Loading
- Loading Complete
- Unloading
- Unloading Complete
- Ready for Pickup
- Departed
- Inoperable
- Missing
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedDto'
- properties:
entity:
type: string
example: AssetContainer
data:
type: array
items:
$ref: '#/components/schemas/AssetContainer'
tags:
- Asset Container
security:
- bearer: []
post:
operationId: createOneBaseAssetContainerControllerAssetContainer
summary: Create a single AssetContainer
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAssetContainerDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetContainer'
'201':
description: Get create one base response
content:
application/json:
schema:
$ref: '#/components/schemas/AssetContainer'
tags:
- Asset Container
security:
- bearer: []
/asset-container/{id}/event:
get:
operationId: AssetContainerController_getEvents
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetContainerEvent'
tags:
- Asset Container
security:
- bearer: []
/asset-container/{id}/yard-events:
get:
operationId: AssetContainerController_getYardEvents
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetContainerEvent'
tags:
- Asset Container
security:
- bearer: []
/asset-container/event:
post:
operationId: AssetContainerController_createEvent
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAssetContainerEventDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AssetContainerEvent'
tags:
- Asset Container
security:
- bearer: []
/document:
get:
operationId: DocumentController_list
parameters:
- name: offset
required: false
in: query
schema:
minimum: 0
default: 0
type: number
- name: limit
required: false
in: query
schema:
minimum: 1
maximum: 500
default: 100
type: number
- name: relatedEntity
required: true
in: query
description: The type of the related entity
schema:
enum:
- Appointment
- AssetContainer
- AssetContainerEvent
- AssetVisit
- AssetVisitEvent
- Company
- Dock
- LoadType
- LoadTypeGroup
- OrgCarrierSettings
- Org
- User
- Warehouse
- WarehouseGroup
- WarehouseFeature
- NotificationConfig
- MessageThread
- MessageThreadMessage
- MessageThreadEvent
- Form
- Field
- Flow
- CustomFormData
- FormField
- Trigger
- Spot
- SpotArea
- SpotAssignment
- SpotReserve
- YardTask
- YardTaskCheck
- YardTaskCheckAssetContainer
- YardTaskMove
- YardTaskEvent
- Site
- Gate
- AssetObservation
- VehicleObservation
- UnitLimit
- UnitLimitCount
- Document
- Comment
- Bol
type: string
- name: relatedId
required: true
in: query
description: The UUID of the related entity
schema:
format: uuid
example: 7725172f-367d-4900-9931-5832cafdcfd1
type: string
- name: expirationInSeconds
required: false
in: query
schema:
minimum: 1
maximum: 172800
default: 3600
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentListDto'
tags:
- Documents
security:
- bearer: []
/document/{id}/download:
get:
operationId: DocumentController_download
summary: Download a file using its ID
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Binary file content
content:
application/octet-stream:
schema:
type: string
format: binary
tags:
- Documents
security:
- bearer: []
/storage:
post:
operationId: StorageController_saveFile
parameters: []
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/StorageDto'
tags:
- Storage
security:
- bearer: []
/storage/files:
post:
operationId: StorageController_saveFiles
parameters: []
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
files:
type: array
items:
type: string
format: binary
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StorageDto'
tags:
- Storage
security:
- bearer: []
/yard/spot:
get:
operationId: getManyBaseSpotControllerSpot
summary: Retrieve multiple Spots
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ListSpotDto'
tags:
- YMS - Spot
security:
- bearer: []
post:
operationId: createOneBaseSpotControllerSpot
summary: Create a single Spot
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSpotDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Spot'
tags:
- YMS - Spot
security:
- bearer: []
/yard/spot/generate:
post:
operationId: SpotController_generate
summary: Generate multiple spots
description: Generates multiple spots in the yard
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSpotManyDto'
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Spot'
tags:
- YMS - Spot
security:
- bearer: []
/yard/spot/{id}:
patch:
operationId: updateOneBaseSpotControllerSpot
summary: Update a single Spot
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpotDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Spot'
tags:
- YMS - Spot
security:
- bearer: []
delete:
operationId: deleteOneBaseSpotControllerSpot
summary: Delete a single Spot
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteResult'
tags:
- YMS - Spot
security:
- bearer: []
get:
operationId: getOneBaseSpotControllerSpot
summary: Retrieve a single Spot
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/Spot'
tags:
- YMS - Spot
security:
- bearer: []
/yard/spot/delete/bulk:
post:
operationId: SpotController_bulkDelete
summary: Bulk delete spots
description: Deletes multiple spots in the yard
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteSpotManyDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteResult'
tags:
- YMS - Spot
security:
- bearer: []
/yard/spot/{id}/close:
patch:
operationId: SpotController_closeSpot
summary: Close a spot
description: Closes a spot in the yard blocking spot assignments
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpotStatusDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Spot'
tags:
- YMS - Spot
security:
- bearer: []
/yard/spot/{id}/open:
patch:
operationId: SpotController_openSpot
summary: Open a spot
description: Opens a spot in the yard for spot assignment
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpotStatusDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Spot'
tags:
- YMS - Spot
security:
- bearer: []
/yard/spot/{id}/toggle-reserve:
patch:
operationId: SpotController_toggleReserveSpot
summary: Toggle spot reserve
description: Either create or remove a spotReserve entry for such spot
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ToggleSpotReserveDto'
responses:
'200':
description: ''
tags:
- YMS - Spot
security:
- bearer: []
/yard/spot/{id}/events:
get:
operationId: SpotController_getSpotEvents
summary: Get spot events
description: Retrieves all events associated with a specific spot in the yard
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SpotEvent'
tags:
- YMS - Spot
security:
- bearer: []
/yard/spot-area:
post:
operationId: createOneBaseSpotAreaControllerSpotArea
summary: Create a single SpotArea
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSpotAreaDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotArea'
tags:
- YMS - Spot Area
security:
- bearer: []
get:
operationId: getManyBaseSpotAreaControllerSpotArea
summary: Retrieve multiple SpotAreas
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get paginated response
content:
application/json:
schema:
$ref: '#/components/schemas/GetManySpotAreaResponseDto'
tags:
- YMS - Spot Area
security:
- bearer: []
/yard/spot-area/{id}:
patch:
operationId: updateOneBaseSpotAreaControllerSpotArea
summary: Update a single SpotArea
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpotAreaDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotArea'
tags:
- YMS - Spot Area
security:
- bearer: []
delete:
operationId: deleteOneBaseSpotAreaControllerSpotArea
summary: Delete a single SpotArea
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotArea'
tags:
- YMS - Spot Area
security:
- bearer: []
get:
operationId: getOneBaseSpotAreaControllerSpotArea
summary: Retrieve a single SpotArea
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/SpotArea'
tags:
- YMS - Spot Area
security:
- bearer: []
/yard/spot-assignment:
post:
operationId: createOneBaseSpotAssignmentControllerSpotAssignment
summary: Create a single SpotAssignment
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSpotAssignmentDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotAssignment'
tags:
- YMS - Spot Assignment
security:
- bearer: []
get:
operationId: getManyBaseSpotAssignmentControllerSpotAssignment
summary: Retrieve multiple SpotAssignments
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get paginated response
content:
application/json:
schema:
$ref: '#/components/schemas/GetManySpotAssignmentResponseDto'
tags:
- YMS - Spot Assignment
security:
- bearer: []
/yard/spot-assignment/{id}:
patch:
operationId: updateOneBaseSpotAssignmentControllerSpotAssignment
summary: Update a single SpotAssignment
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpotAssignmentDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotAssignment'
tags:
- YMS - Spot Assignment
security:
- bearer: []
delete:
operationId: deleteOneBaseSpotAssignmentControllerSpotAssignment
summary: Delete a single SpotAssignment
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotAssignment'
tags:
- YMS - Spot Assignment
security:
- bearer: []
get:
operationId: getOneBaseSpotAssignmentControllerSpotAssignment
summary: Retrieve a single SpotAssignment
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: Get one base response
content:
application/json:
schema:
$ref: '#/components/schemas/SpotAssignment'
tags:
- YMS - Spot Assignment
security:
- bearer: []
/yard/spot-assignment/{id}/depart:
patch:
operationId: SpotAssignmentController_depart
summary: Depart a spot assignment
description: Depart a the contents of a spot assignment from the waiting list, adding a event type DEPARTED to each
item inside the spot assignment
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DepartSpotAssignmentDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotAssignment'
tags:
- YMS - Spot Assignment
security:
- bearer: []
/yard/spot-assignment/{id}/reassign:
patch:
operationId: SpotAssignmentController_reassignSpot
summary: Reassign a spot assignment
description: Reassign a the contents of a spot assignment to a new spot dynamically
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReassignSpotDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotAssignment'
tags:
- YMS - Spot Assignment
security:
- bearer: []
/yard/view/spot-grid:
get:
operationId: YardViewController_getSpotGrid
summary: Get lean spot grid data optimized for grid view rendering
parameters:
- name: warehouseId
required: true
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotGridResponseDto'
tags:
- YMS - Yard View
security:
- bearer: []
/yard/view/waiting-assets:
get:
operationId: YardViewController_getWaitingAssets
summary: Get asset visits and containers waiting for spot assignment
parameters:
- name: warehouseId
required: true
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/YardViewWaitingQueueResponseDto'
tags:
- YMS - Yard View
security:
- bearer: []
/yard/view/list-rows:
get:
operationId: YardViewController_getListViewRows
summary: Get flattened list view rows (one row per container or truckless visit)
parameters:
- name: warehouseId
required: true
in: query
schema:
type: string
- name: includeWaiting
required: false
in: query
schema:
type: boolean
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ListViewResponseDto'
tags:
- YMS - Yard View
security:
- bearer: []
/yard/view/spot-detail:
get:
operationId: YardViewController_getSpotDetail
summary: 'Get full spot detail for drawer: spot, task, assignment, and when applicable arrival/same-appointment containers'
parameters:
- name: spotId
required: true
in: query
schema:
type: string
- name: warehouseId
required: true
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SpotDetailResponseDto'
tags:
- YMS - Yard View
security:
- bearer: []
/warehouse-group/{id}:
get:
operationId: getOneBaseWarehouseGroupControllerWarehouseGroup
summary: Retrieve a single WarehouseGroup
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WarehouseGroup'
tags:
- Warehouse Groups
security:
- bearer: []
delete:
operationId: deleteOneBaseWarehouseGroupControllerWarehouseGroup
summary: Delete a single WarehouseGroup
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Delete one base response
content:
application/json:
schema:
$ref: '#/components/schemas/WarehouseGroup'
tags:
- Warehouse Groups
security:
- bearer: []
patch:
operationId: updateOneBaseWarehouseGroupControllerWarehouseGroup
summary: Update a single WarehouseGroup
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWarehouseGroupDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WarehouseGroup'
tags:
- Warehouse Groups
security:
- bearer: []
/warehouse-group:
get:
operationId: getManyBaseWarehouseGroupControllerWarehouseGroup
summary: Retrieve multiple WarehouseGroups
parameters:
- name: fields
description: Selects resource fields. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: false
- name: s
description: Adds search condition. Docs
required: false
in: query
schema:
type: string
- name: filter
description: Adds filter condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: or
description: Adds OR condition. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: sort
description: Adds sort by field. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: join
description: Adds relational resources. Docs
required: false
in: query
schema:
type: array
items:
type: string
style: form
explode: true
- name: limit
description: Limit amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: offset
description: Offset amount of resources. Docs
required: false
in: query
schema:
type: integer
- name: page
description: Page portion of resources. Docs
required: false
in: query
schema:
type: integer
- name: cache
description: Reset cache (if was enabled). Docs
required: false
in: query
schema:
type: integer
minimum: 0
maximum: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WarehouseGroup'
tags:
- Warehouse Groups
security:
- bearer: []
post:
operationId: createOneBaseWarehouseGroupControllerWarehouseGroup
summary: Create a single WarehouseGroup
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWarehouseGroupDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WarehouseGroup'
'201':
description: Get create one base response
content:
application/json:
schema:
$ref: '#/components/schemas/WarehouseGroup'
tags:
- Warehouse Groups
security:
- bearer: []
/saml/config:
get:
operationId: SamlController_getConfig
parameters: []
responses:
'200':
description: ''
tags:
- SAML
security:
- bearer: []
patch:
operationId: SamlController_updateConfig
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSamlConfigDto'
responses:
'200':
description: ''
tags:
- SAML
security:
- bearer: []
delete:
operationId: SamlController_resetConfig
parameters: []
responses:
'200':
description: ''
tags:
- SAML
security:
- bearer: []
/saml/metadata-url:
get:
operationId: SamlController_getSpMetadataUrl
parameters: []
responses:
'200':
description: ''
tags:
- SAML
security:
- bearer: []
/saml/ac/{orgId}:
post:
operationId: SamlController_samlAssertionConsumer
parameters: []
responses:
'201':
description: ''
tags:
- SAML
/saml/login/{orgId}:
get:
operationId: SamlController_samlLogin
parameters: []
responses:
'200':
description: ''
tags:
- SAML
/saml/metadata/{orgId}:
get:
operationId: SamlController_getSpMetadata
parameters: []
responses:
'200':
description: ''
tags:
- SAML
/gates/{warehouseId}:
get:
operationId: GatesController_listGatesByWarehouse
parameters:
- name: warehouseId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GatesByWarehouseDto'
tags:
- Gates
security:
- bearer: []
/observations:
get:
operationId: ObservationController_getObservations
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/VehicleObservation'
tags:
- Observations
security:
- bearer: []
/observations/{id}:
get:
operationId: ObservationController_getObservation
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleObservation'
tags:
- Observations
security:
- bearer: []
/observations/{id}/asset-visit:
post:
operationId: ObservationController_createAssetVisit
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ObservationCreateAssetVisitDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ObservationCreateAssetVisitResponse'
tags:
- Observations
security:
- bearer: []
/audit-log/{objectId}:
get:
operationId: AuditLogController_search
parameters:
- name: objectId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AuditLog'
tags:
- Audit Log
security:
- bearer: []
/settings-metadata/{entityType}:
get:
operationId: SettingsMetadataController_getAll
parameters: []
responses:
'200':
description: ''
tags:
- Settings Metadata
security:
- bearer: []
/settings-metadata/{entityType}/{settingKey}:
get:
operationId: SettingsMetadataController_getOne
parameters:
- name: entityType
required: true
in: path
schema:
type: string
- name: settingKey
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
tags:
- Settings Metadata
security:
- bearer: []
/settings-metadata/validate/{entityType}:
post:
operationId: SettingsMetadataController_validateSetting
parameters:
- name: entityType
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
tags:
- Settings Metadata
security:
- bearer: []
/metrics/appointment-volume/load-type:
get:
operationId: MetricsController_getLoadTypeVolume
summary: Appointment volume by load type and week day
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAppointmentVolumeByLoadTypeResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointment-volume/time-of-day:
get:
operationId: MetricsController_getTimeOfDayVolume
summary: Appointment volume by time of day
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAppointmentVolumeByTimeOfDayResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointment-volume/date:
get:
operationId: MetricsController_getDateVolume
summary: Appointment volume by date
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAppointmentVolumeByDateResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointment-volume/carrier:
get:
operationId: MetricsController_getCarrierVolume
summary: Appointment volume by carrier
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAppointmentVolumeByCarrierResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointment-volume/average-duration-by-load-type:
get:
operationId: MetricsController_getAverageDurationByLoadType
summary: Appointment duration average by load type
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAverageDurationByLoadTypeResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointment-volume/day-of-week:
get:
operationId: MetricsController_getDayOfWeekVolume
summary: Appointment duration average by dock and day of week
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAppointmentVolumeByDayOfWeekResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointment-volume/status:
get:
operationId: MetricsController_getStatusVolume
summary: Appointment duration average by status
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAppointmentVolumeByStatusResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointment-volume/status-by-dock:
get:
operationId: MetricsController_getStatusByDockVolume
summary: Appointment duration average by dock and status
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAppointmentVolumeByStatusByDockResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointments/status-times:
post:
operationId: MetricsController_getStatusTimes
summary: The average time spent in each appointment status
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentMetricsDto'
responses:
'201':
description: ''
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/appointments/excel:
post:
operationId: MetricsController_getExcelReport
summary: 'Retrieve file link with the appointment list that matches the criteria described in the request body, '
description: The link will point to an XLSX file external to Nova
parameters:
- name: emailCCs
required: true
in: query
schema:
type: array
items:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentMetricsListDto'
responses:
'201':
description: ''
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/yard/excel:
post:
operationId: MetricsController_getYardExcelReport
summary: Retrieve file link with the yard data list that matches the criteria described in the request body
description: The link will point to an XLSX file external to Nova
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/YardExportDataDto'
responses:
'201':
description: ''
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/asset-visits/excel:
post:
operationId: MetricsController_getAssetVisitExcelReport
summary: Retrieve file link with the asset visits (check-ins) list that matches the criteria described in the request
body
description: The link will point to an XLSX file external to Nova
parameters:
- name: emailCCs
required: true
in: query
schema:
type: array
items:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisitExcelExportDto'
responses:
'201':
description: ''
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/warehouse/capacity-usage:
post:
operationId: MetricsController_getWarehouseCapacityUsage
summary: Retrieve warehouse dock capacity usage information per warehouse
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentMetricsCapacityDto'
responses:
'201':
description: ''
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/warehouse:
post:
operationId: MetricsController_getWarehouseMetrics
summary: Retrieve warehouse insights
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WarehouseMetricsDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsCarrierStatusPercentageResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/carrier/status-percentages:
get:
operationId: MetricsController_getCarrierStatusPercentages
summary: Retrieve carrier insights data with each status percentage
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsCarrierStatusPercentageResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/dock/dwell-time:
get:
operationId: MetricsController_getDockDwellTime
summary: Retrieve dock metrics of dwell time by day of week
parameters:
- name: fromDate
required: false
in: query
description: From date to filter
schema: {}
- name: toDate
required: false
in: query
description: To date to filter
schema: {}
- name: warehouseId
required: false
in: query
description: Warehouse ID to filter
schema: {}
- name: dockId
required: false
in: query
description: Dock ID to filter
schema: {}
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsDockDwellTimeResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/counts/appointment-count-for-docks:
get:
operationId: MetricsController_getAppointmentCountForDocks
summary: Appointment count per dock
parameters:
- name: dockIds
required: true
in: query
description: Dock IDs array
schema: {}
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsCountsAppointmentCountForDocksResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/counts/appointment-count-for-carrier:
get:
operationId: MetricsController_getAppointmentCountForCarrier
summary: Appointment count per carrier
parameters:
- name: carrierId
required: true
in: query
description: Carrier ID
schema: {}
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsCountsAppointmentCountForCarrierResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/counts/appointment-count-for-carrier/status:
get:
operationId: MetricsController_getAppointmentCountByStatusForCarrier
summary: Appointment count by status for current carrier
parameters: []
responses:
'200':
description: ''
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/counts/reserve-count-for-user:
get:
operationId: MetricsController_getReserveCountForUser
summary: Reserve count for user
parameters:
- name: userId
required: false
in: query
description: User ID
schema: {}
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsCountsReserveCountForUserResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics/loadtype/first-avail-appt:
post:
operationId: MetricsController_getFirstAvailAppts
summary: Finds the next available appointment time for each dock and loadtype, starting from the current date and time
onward
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LoadTypeMetricsDto'
responses:
'201':
description: ''
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics-v2/appointments:
post:
operationId: MetricsV2Controller_getAppointmentsList
summary: Retrieve an appointment list that matches the criteria described in the request body
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentMetricsListV2Dto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsAppointmentListResponse'
tags:
- Metrics
security:
- bearer: []
- bearer: []
/metrics-v2/asset-visits:
post:
operationId: MetricsV2Controller_getAssetVisitsList
summary: Retrieve an asset visit list that matches the criteria described in the request body
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVisitMetricsListDto'
responses:
'200':
description: ''
tags:
- Metrics
security:
- bearer: []
- bearer: []
/bol:
post:
operationId: BolController_create
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBolRequestDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBolResponseDto'
tags:
- BOL
security:
- bearer: []
/bol/appointment/{appointmentId}:
get:
operationId: BolController_getByAppointmentId
parameters:
- name: appointmentId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetBolResponseDto'
tags:
- BOL
security:
- bearer: []
/bol/{bolId}:
get:
operationId: BolController_get
parameters:
- name: bolId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetBolResponseDto'
tags:
- BOL
security:
- bearer: []
info:
title: Opendock Nova API Documentation
description: "## Welcome to Opendock Nova!\n\n#### What is Opendock Nova?\n\nOpendock is an online dock appointment scheduling\
\ tool. Facilities such as warehouses, distribution centers, and\nmanufacturing plants use it to organize their docks\
\ and schedule appointments for outbound pickups and inbound\ndeliveries.\nYou can read all our knowledge base\narticles\
\ [here.](https://community.loadsmart.com/hc/en-us/sections/24987828169619-Opendock-Nova-Warehouse-API)\n\nWe now provide\
\ an SSO option for User Authentication. Read\nthe [docs here.](https://community.loadsmart.com/hc/en-us/articles/14944624317075-Single-Sign-On-SSO-SAML-2-0)\n\
\n---\n\n## Our APIs\n\nWe have 3 main APIs:\n\n- REST API called _Neutron_ for performing standard HTTP operations.\n\
- Real-time API called _Subspace_ for receiving streaming events whenever objects are Created/Updated/Deleted.\n- A **\"\
Reference Number Validation\"** aka \"PO Validation\" _protocol_ for validating PO numbers (or similar) before an\n appointment\
\ is scheduled. Detailed documentation for it can be found\n here: [PO/Ref Number Validation Implementation](https://community.loadsmart.com/hc/en-us/articles/14946368437907-PO-Ref-Number-Validation-Implementation)\n\
\n---\n\n## Neutron - REST API\n\nAll endpoints are listed below. Depending on your User Role, some may be forbidden.\
\ Almost all endpoints expect a simple\nJWT token to be set in the `Authorization: Bearer` HTTP header. Read more about\
\ Bearer\ntokens [here](https://swagger.io/docs/specification/authentication/bearer-authentication/).\n\n### Base URL\n\
\nThe base URL is the same as it is for this document (look at the current URL in your browser's address bar). For\nexample,\
\ our production Neutron Base URL is [https://neutron.opendock.com](https://neutron.opendock.com).\n\n### Authentication\n\
\nTo start, call the `POST /auth/login` endpoint to exchange your user credentials (email + password) for a simple JWT\n\
token. If you don't have an account yet, reach out to your account admin or contact us for further help.\n\nIf login is\
\ successful, the response will be a JWT token to use as your `Bearer` header as described above.\n\nThe JWT expiration\
\ time depends on your User Role as well as other factors. You may base64-decode your JWT token to view\nmore technical\
\ details about it.\n\n#### Test it:\n\nTo test that your auth headers are set correctly, call the `GET /auth/me` endpoint.\
\ It will return a JSON payload with\nyour User information.\n\n---\n\n## Subspace - Real-time Streaming API\n\nSubspace\
\ is a _read-only_ API that allows your system to recieve streaming real-time information about changes to your\nAppointments,\
\ Warehouses, Docks, etc.\n\nUsing Subspace you can implement a \"push\"-based approach to your integration instead of\
\ relying only on \"poll\"-ing\nmethods (which can be inefficient).\n\nSubpsace is based on the famous [`socket.io`](https://socket.io/)\
\ library.\n\n### Choosing a socket.io Client\n\nThe socket.io project provides a JavaScript client library that works\
\ in the browser as well as NodeJS. However there\nare also client implementations in many other languages including C#,\
\ Java, Python, and Go, so you should select the\nappropriate client for your project. A good overview of socket.io and\
\ a list of client implementations can be found\nhere: [Socket.IO Introduction](https://socket.io/docs/v4/)\n\n**NOTE:**\
\ Currently Opendock uses socket.io server **v4.x** so please make sure to select an appropriate socket.io\nclient version\
\ that is protocol compatible.\n\n### Connecting and Authentication\n\nThe base connection URL is the same as the base\
\ URL for Neutron above, except with the word \"subspace\" instead of \"\nneutron\". For example, our production Subspace\
\ connection URL\nis [wss://subspace.opendock.com](wss://subspace.opendock.com).\n\nFor convenience, the same JWT token\
\ obtained from the Neutron `/auth/login` endpoint above is used for Subspace\nauthentication.\n\nConnecting and Authenticating\
\ are done in a single operation: simply connect to the following `wss` URL:\n\n```\n?token=\n\
```\n\nThat can be a little confusing to parse. Here's a real-life example connection string:\n\n```\nwss://subspace.opendock.com?token=eyJhbGciOiJIUzI1Ni...(full\
\ token continues)\n```\n\n**NOTE:** Currently Opendock only supports the `websocket` transport, so you must specify this\
\ in your connection\nsettings.\n\nHere's an example of connecting to Subspace using the JavaScript client:\n\n```JavaScript\n\
// NOTE: we assume \"accessToken\" was already obtained earlier via a call to '/auth/login'.\nconst baseSubspaceUrl =\
\ 'wss://subspace.opendock.com';\nconst url = `${baseSubspaceUrl}?token=${accessToken}`;\nconst socket = io(url, { transports:\
\ ['websocket'] }); // Enforce 'websocket' transport only.\n```\n\n### Listening to events\n\nSubspace emits Create/Update/Delete\
\ events for each entity in your Org (Appointment, Warehouse, Dock, etc). Your event\nhandler for these events will receive\
\ a JSON object containing the details about the given entity.\n\nOnce your socket.io client instance is connected, you\
\ can listen for any of these events by constructing the appropriate\nevent string:\n\nEvent strings follow this pattern:\n\
\n```\n\"{EventType}-{EntityName}\"\n```\n\n`EventType` can be one of: `create`, `update`, or `delete`.\n\n`EntityName`\
\ can be any entity in our REST API, such as: `Appointment`, `Warehouse`, `Dock`, etc.\n\nSo for example, to listen to\
\ `create` events for `Appointment` entities you would use:\n\n```\n\"create-Appointment\"\n```\n\nOr to listen to `update`\
\ events for `Warehouse` entities you would use:\n\n```\n\"update-Warehouse\"\n```\n\n**NOTE:** The event types are lowercase,\
\ but the entity names are capitalized (event strings are case-sensitive).\n\nThere is also a `\"heartbeat\"` event that\
\ you can listen to, which will emit every 5 seconds with a timestamp and the\nNeutron API version. This can be helpful\
\ for ensuring that your connection to Subspace is working correctly.\n\n### Caveats and Limitations\n\nSubspace does\
\ not do any sort of \"catch-up\" or \"replay\" of events, you will only get the events that occur after you\nconnect\
\ to the socket.io server.\n\nIf your client loses connection for some time, the event messages will not be queued and\
\ delivered when you next\nconnect, you will simply start receiving new messages after the point in time that you connected.\n\
\nFor this reason, even when using Subspace, you may need to occasionally supplement with calls to our REST API (ie.\n\
getAll) to fetch entities and keep in sync with the data in Opendock, depending on your needs.\n\n### Example: Listening\
\ for Heartbeat\n\nThis event handler will get called periodically with the \"heartbeat\" information:\n\n```JavaScript\n\
socket.on('heartbeat', (data) => {\n console.log(data);\n});\n```\n\nThis will output something like:\n\n```JSON\n{\n\
\ now: '2022-09-15T20:02:20.015Z',\n version: {\n major: '2',\n minor: '5',\n patch: '16',\n commit: '4a443fb\\\
n'\n }\n}\n```\n\n### Example: Listening for Appointment Creation and Update\n\nIn this example, your event handler will\
\ get called whenever an Appointment\nis created in your Org:\n\n```JavaScript\nsocket.on('create-Appointment', (data)\
\ => {\n console.log('appt create:', data);\n});\n```\n\nThe `data` your event handler recieves will be a JSON object\
\ containing\nthe Appointment details, like this:\n\n```JSON\n{\n \"id\": \"9cd63603-a7ff-43c7-8183-befc19a7a81b\",\n\
\ \"createDateTime\": \"2022-07-29T06:49:20Z\",\n \"lastChangedDateTime\": \"2022-07-29T06:49:20Z\",\n \"isActive\"\
: true,\n \"tags\": [],\n \"type\": \"Standard\",\n \"status\": \"Scheduled\",\n \"start\": \"2022-07-29T00:00:00+00:00\"\
,\n \"end\": \"2022-07-29T01:30:00+00:00\",\n ...\n ...\n ...\n}\n```\n\nIf you also wanted to listen for any changes\
\ to existing Appointments\nyou could add another listener:\n\n```JavaScript\nsocket.on('create-Appointment', (data) =>\
\ {\n console.log('appt create:', data);\n});\n\nsocket.on('update-Appointment', (data) => {\n console.log('appt update:',\
\ data);\n});\n```\n\nThe `update-Appointment` event handler will receive a similar JSON object\ncontaining the most up-to-date\
\ details of the Appointment that was\njust updated.\n\n---\n\n## Nestjsx/Crud\n\n[NestJSX/Crud](https://github.com/nestjsx/crud/wiki/Requests#search)\
\ is a robust library designed for creating\nhigh-performance and scalable APIs. With NestJSX/Crud, API\nconsumers can\
\ take advantage of a flexible and intuitive approach to querying data.\n\nThis library streamlines the process of searching,\
\ sorting, and paginating data to cater to the exact requirements of\nthe API consumer. This feature saves valuable time\
\ by allowing the API consumer to bypass irrelevant data, ensuring only\nthe necessary data is obtained.\n\nNote: We encourage\
\ use of the `search` parameter (`s=...`), and do not allow use of the deprecated `filter` parameter.\n\n#### Search Examples\n\
\nFind all active Appointments created or updated since March 15th, 2023 at 8am MST (since created appts also have updated\
\ lastChangeDateTime)\n\n```\ns={\"lastChangedDateTime\":{\"$gt\":\"2023-03-15T08:00:00.000-07:00\"}}\n```\n\nFind all\
\ soft-deleted (inActive) appointments updated since a date/time (isActive:false indicates soft-deleted)\n\n```\ns={\"\
$and\":[{\"lastChangedDateTime\": {\"$gt\":\"2023-07-7T00:00:00.000Z\"}},{\"isActive\":false}]}\n```\n\nFind all appointments\
\ changed since a date time (both active and inactive).\nThis is useful for integration partners with recurring series\
\ who need to know future appointments in the series have been removed\n\n```\ns={\"$and\":[{\"lastChangedDateTime\":\
\ {\"$gt\":\"2023-07-7T00:00:00.000Z\"}},{\"$or\":[{\"isActive\":true},{\"isActive\":false}]}]}\n```\n\nFind all Appointment\
\ where the `tags` are empty\n\n```\ns={\"tags\": {\"$or\": {\"$isnull\": true, \"$eq\": \"{}\"}}}\n```\n\nFind all Appointments\
\ where it includes a tag of `Late`\n\n```\ns={\"tags\":{\"$contL\":\"Late\"}}\n```\n\nFind all appointments in `Scheduled`\
\ status set to start after March 15th, 2023 at 8am MST\n\n```\ns={\"$and\":[{\"status\":\"Scheduled\"},{\"start\":{\"\
$gt\":\"2023-03-15T08:00:00.000-07:00\"}}]}\n```\n\n#### Join examples (with Fields)\n\nTo return data from other tables\
\ without the need to make a secondary query, the API consumer can join specific tables\ntogether and request only the\
\ fields necessary.\n\nGet the appointment with the carrier and company. This will return a nested `User` with a nested\
\ `Company` in the result for\neach appointment.\nOrder matters here. You must first include `user` to get to `user.company`.\n\
\n```\njoin=user&join=user.company\n```\n\nTo get just the user's email and company's name, you can use the `||` operator.\n\
Because `user.companyId = company.id` you must at least include `companyId` on `user`\n\n```\njoin=user||email,companyId&join=user.company||name\n\
```\n\n#### Other Examples\n\nTo get an appointment's refNumber (PO), start, lastChangedDateTime, and carrier company\
\ name\n\n```\ns={\"start\": {\"$gt\":\"2023-03-15T00:00:00.000Z\"}}&join=user||companyId&join=user.company||name&fields=refNumber,lastChangedDateTime,start\n\
```\n\n---\n"
version: v4.144.0 - 39b4253
contact: {}
tags:
- name: Custom Forms - Forms
description: Forms are collections of form fields that represent a complete data entry interface. Each Form belongs to a
Flow and captures related data points in a structured way. Forms provide the user interface for data collection.
- name: Custom Forms - Fields
description: Fields are global definitions that specify fundamental attributes like data type (text, number, dropdown, etc.),
validation rules, and base properties. Fields are organization-wide resources that can be instantiated as Form Fields
across multiple Forms.
- name: Custom Forms - Form Fields
description: Form Fields are instances of global Field definitions within a specific Form. While Fields define the data
type and general properties, Form Fields customize these instances with form-specific attributes like required status,
custom labels, and validation rules.
- name: Custom Forms - Flows
description: Flows define the sequence and logic of form presentation. Each Flow must have a primary "fromForm" and may
optionally include a secondary "formTo" that appears after the first form is completed. Flows connect Triggers to the
actual Forms that collect data.
- name: Custom Forms - Triggers
description: Triggers are event listeners that activate on specific API or UI events. Each Trigger is associated with exactly
one Flow. When a Trigger fires, it initiates its associated Flow, which in turn presents one or two Forms sequentially.
- name: Custom Forms - Data
description: Data entities store the actual values submitted through Forms. Each form submission creates multiple Data records
- one for each Form Field with a value. These records maintain the relationship between the entity (like an appointment),
the form field, and the submitted value.
servers:
- url: https://neutron.opendock.com
description: Production Server
- url: https://neutron.staging.opendock.com
description: Staging Server
components:
securitySchemes:
bearer:
scheme: bearer
bearerFormat: JWT
type: http
schemas:
VersionDto:
type: object
properties:
major:
type: number
example: 2
minor:
type: number
example: 2
patch:
type: number
example: 1
commit:
type: string
example: 77af713
required:
- major
- minor
- patch
- commit
AppEnvironmentDto:
type: object
properties:
S3_BUCKET:
type: string
example: bucket-name
S3_BASE:
type: string
example: s3base.name
S3_DOWNLOAD_URL:
type: string
example: files.opendock.com
required:
- S3_BUCKET
- S3_BASE
- S3_DOWNLOAD_URL
GetManyWarehouseResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Warehouse'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
ClockSpan:
type: object
properties:
end:
type: string
example: '18:00'
start:
type: string
example: 06:00
required:
- end
- start
TimeInterval:
type: object
properties:
end:
format: date-time
type: string
start:
format: date-time
type: string
required:
- end
- start
ScheduleDto:
type: object
properties:
sunday:
type: array
items:
$ref: '#/components/schemas/ClockSpan'
monday:
type: array
items:
$ref: '#/components/schemas/ClockSpan'
tuesday:
type: array
items:
$ref: '#/components/schemas/ClockSpan'
wednesday:
type: array
items:
$ref: '#/components/schemas/ClockSpan'
thursday:
type: array
items:
$ref: '#/components/schemas/ClockSpan'
friday:
type: array
items:
$ref: '#/components/schemas/ClockSpan'
saturday:
type: array
items:
$ref: '#/components/schemas/ClockSpan'
version:
type: number
example: 1
closedIntervals:
type: array
items:
$ref: '#/components/schemas/TimeInterval'
required:
- sunday
- monday
- tuesday
- wednesday
- thursday
- friday
- saturday
- version
- closedIntervals
CustomFieldTemplateDto:
type: object
properties:
semanticLabelId:
type: object
format: uuid
description: Semantic label id (FK to semanticlabel)
type:
type: string
enum:
- str
- bigstr
- date
- bool
- doc
- multidoc
- int
- email
- phone
- dropdown
- dropdownmultiselect
- combobox
- timestamp
- action
required:
- type
Warehouse:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
schedule:
$ref: '#/components/schemas/ScheduleDto'
country:
type: string
timezone:
type: string
docks:
type: Dock
loadTypes:
type: LoadType
org:
type: Warehouse
orgId:
type: string
contactName:
type: string
phone:
type: string
email:
type: string
notes:
type: string
instructions:
type: string
customApptFieldsTemplate:
type: array
items:
$ref: '#/components/schemas/CustomFieldTemplateDto'
refNumberValidationVersion:
type: string
enum:
- V1
- V2
refNumberValidationUrl:
type: string
refNumberValidationPasscode:
type: string
settings:
type: object
allowCarrierScheduling:
type: boolean
geolocation:
type: object
ccEmails:
type: array
items:
type: string
amenities:
type: array
example:
- Lumper services
- Drivers restroom
- Overnight parking
- Free Wi-Fi
items:
type: string
enum:
- Lumper services
- Drivers restroom
- Overnight parking
- Free Wi-Fi
ppeRequirements:
type: array
example:
- Face Mask
- Safety Glasses
- Hard Hat
- Safety Boots
- Gloves
- High Visibility Vest
- Long Pants
- Long Sleeves
- No Smoking
- Hair and Beard Net
items:
type: string
enum:
- Face Mask
- Safety Glasses
- Hard Hat
- Safety Boots
- Gloves
- High Visibility Vest
- Long Pants
- Long Sleeves
- No Smoking
- Hair and Beard Net
intervalTrimForCarriers:
type: number
customBookingUrl:
type: string
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- schedule
- amenities
- ppeRequirements
PaginatedDto:
type: object
properties:
count:
type: number
example: 2
total:
type: number
example: 2
page:
type: number
example: 1
pageCount:
type: number
example: 1
action:
type: string
example: read
entity:
type: string
example: Appointment
data:
type: array
items:
type: string
required:
- count
- total
- page
- pageCount
- action
- entity
- data
CreateWarehouseDto:
type: object
properties:
tags:
type: object
name:
type: string
facilityNumber:
type: string
country:
type: string
timezone:
type: string
schedule:
$ref: '#/components/schemas/ScheduleDto'
contactName:
type: object
phone:
type: string
email:
type: object
notes:
type: object
instructions:
type: object
customApptFieldsTemplate:
type: array
items:
$ref: '#/components/schemas/CustomFieldTemplateDto'
refNumberValidationVersion:
type: string
enum:
- V1
- V2
refNumberValidationUrl:
type: string
refNumberValidationPasscode:
type: string
settings:
type: object
allowCarrierScheduling:
type: boolean
ccEmails:
type: array
items:
type: string
amenities:
type: array
example:
- Lumper services
- Drivers restroom
- Overnight parking
- Free Wi-Fi
items:
type: string
enum:
- Lumper services
- Drivers restroom
- Overnight parking
- Free Wi-Fi
ppeRequirements:
type: array
example:
- Face Mask
- Safety Glasses
- Hard Hat
- Safety Boots
- Gloves
- High Visibility Vest
- Long Pants
- Long Sleeves
- No Smoking
- Hair and Beard Net
items:
type: string
enum:
- Face Mask
- Safety Glasses
- Hard Hat
- Safety Boots
- Gloves
- High Visibility Vest
- Long Pants
- Long Sleeves
- No Smoking
- Hair and Beard Net
intervalTrimForCarriers:
type: number
customBookingUrl:
type: string
required:
- name
UpdateWarehouseDto:
type: object
properties:
tags:
type: object
name:
type: string
facilityNumber:
type: string
country:
type: string
timezone:
type: string
schedule:
$ref: '#/components/schemas/ScheduleDto'
contactName:
type: object
phone:
type: string
email:
type: object
notes:
type: object
instructions:
type: object
customApptFieldsTemplate:
type: array
items:
$ref: '#/components/schemas/CustomFieldTemplateDto'
refNumberValidationVersion:
type: string
enum:
- V1
- V2
refNumberValidationUrl:
type: string
refNumberValidationPasscode:
type: string
settings:
type: object
allowCarrierScheduling:
type: boolean
ccEmails:
type: array
items:
type: string
amenities:
type: array
example:
- Lumper services
- Drivers restroom
- Overnight parking
- Free Wi-Fi
items:
type: string
enum:
- Lumper services
- Drivers restroom
- Overnight parking
- Free Wi-Fi
ppeRequirements:
type: array
example:
- Face Mask
- Safety Glasses
- Hard Hat
- Safety Boots
- Gloves
- High Visibility Vest
- Long Pants
- Long Sleeves
- No Smoking
- Hair and Beard Net
items:
type: string
enum:
- Face Mask
- Safety Glasses
- Hard Hat
- Safety Boots
- Gloves
- High Visibility Vest
- Long Pants
- Long Sleeves
- No Smoking
- Hair and Beard Net
intervalTrimForCarriers:
type: number
customBookingUrl:
type: string
street:
type: string
city:
type: string
state:
type: string
zip:
type: string
UpdateLoadTypesCustomFormsDto:
type: object
properties:
parentCode:
type: string
description: The parent code of the form, used to group forms together, generated by the API, cannot be changed!
example: acfb1234-5678-90ab-cdef-1234567890ab
readOnly: true
loadTypeIds:
description: The list of load type ids that this form will be used for
example:
- a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
type: array
items:
type: array
formName:
type: string
description: The name of the form
example: Load Type Form
required:
- parentCode
CreateLoadTypesCustomFormsDto:
type: object
properties:
loadTypeIds:
description: The list of load type ids that this form will be used for
example:
- a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
type: array
items:
type: array
formName:
type: string
description: The name of the form
example: Load Type Form
formDescription:
type: string
description: Extra description of the form
example: This form is used to collect information about the load type
required:
- loadTypeIds
- formName
GetHoursOfOperationDto:
type: object
properties:
start:
format: date-time
type: string
example: '2026-05-24T19:16:46.221Z'
end:
format: date-time
type: string
example: '2026-05-24T19:16:46.221Z'
required:
- start
- end
DockHoursOfOperation:
type: object
properties:
openIntervals:
type: array
items:
$ref: '#/components/schemas/TimeInterval'
required:
- openIntervals
InviteDto:
type: object
properties: {}
GetManyUserResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/User'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
GetManyAppointmentResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Appointment'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
Appointment:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
type:
type: string
enum:
- Standard
- Reserve
status:
type: string
enum:
- NoShow
- Cancelled
- Requested
- Scheduled
- Arrived
- InProgress
- Completed
user:
$ref: '#/components/schemas/User'
userId:
type: object
loadType:
type: LoadType
loadTypeId:
type: string
dock:
type: Dock
org:
type: Org
orgId:
type: string
end:
format: date-time
type: string
eta:
format: date-time
type: string
refNumber:
type: string
refNumbers:
type: array
items:
type: string
customFields:
type: array
items:
type: string
notes:
type: object
ccEmails:
type: array
items:
type: string
recurringParentId:
type: string
recurringParent:
$ref: '#/components/schemas/Appointment'
recurringChildren:
$ref: '#/components/schemas/Appointment'
recurringPattern:
type: object
reschedules:
type: array
items:
type: string
muteNotifications:
type: boolean
isCheckedInByCarrier:
type: boolean
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
User:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
role:
type: string
enum:
- role_owner
- role_admin
- role_operator
- role_attendant
- role_spectator
- role_yard_driver
- role_carrier_admin
- role_carrier
- role_base
appointments:
type: array
items:
$ref: '#/components/schemas/Appointment'
company:
type: Company
orgCarrierSettings:
type: array
items:
type: OrgCarrierSettings
org:
type: Org
warehouseAccessList:
type: UUID
tcConfirmedAt:
format: date-time
type: string
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
GetManyOrgCarrierSettingsResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/OrgCarrierSettings'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
GetManyOrgResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Org'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
Org:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
warehouses:
type: array
items:
$ref: '#/components/schemas/Warehouse'
reportSearches:
type: object
customTags:
type: array
items:
type: string
samlConfig:
type: object
orgType:
type: string
enum:
- Trial
- Test
- Client
expiresAt:
format: date-time
type: string
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
OrgCarrierSettings:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
org:
$ref: '#/components/schemas/Org'
orgId:
type: string
user:
$ref: '#/components/schemas/User'
userId:
type: string
favoriteWarehouseIds:
type: array
items:
type: string
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
UpdateUserDto:
type: object
properties:
tags:
type: object
email:
type: string
firstName:
type: string
lastName:
type: string
phone:
type: string
role:
type: string
enum:
- role_owner
- role_admin
- role_operator
- role_attendant
- role_spectator
- role_yard_driver
- role_carrier_admin
- role_carrier
- role_base
orgCarrierSettings:
type: array
items:
$ref: '#/components/schemas/OrgCarrierSettings'
orgId:
type: string
warehouseAccessList:
type: UUID
ChangePasswordDto:
type: object
properties: {}
OrgCarrierSettingsDto:
type: object
properties: {}
CreateCarrierDto:
type: object
properties:
phone:
type: string
orgCarrierSettings:
$ref: '#/components/schemas/OrgCarrierSettingsDto'
tags:
type: object
GetPreviewAsCarrierResponseDto:
type: object
properties: {}
AddCarrierFavoriteWarehouseDto:
type: object
properties: {}
RemoveCarrierFavoriteWarehouseDto:
type: object
properties: {}
UpdateOrgDto:
type: object
properties:
tags:
type: object
name:
type: string
settings:
type: object
favoriteCarrierIds:
type: array
items:
type: string
CreateReportSearchDto:
type: object
properties: {}
UpdateReportSearchDto:
type: object
properties: {}
ReportSearchResponseDto:
type: object
properties: {}
UpdateCustomTagsDto:
type: object
properties: {}
GetManyCompanyResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Company'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
Company:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
CreateCompanyDto:
type: object
properties:
tags:
type: object
scac:
type: string
mc:
type: string
usdot:
type: string
type:
type: string
enum:
- type_broker
- type_carrier
- type_carrier_broker
- type_forwarder
LoginDto:
type: object
properties:
email:
type: string
example: user@example.com
description: User email address
password:
type: string
example: P@ssw0rd!
description: User password
required:
- email
- password
LoginResponseDto:
type: object
properties:
access_token:
type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
description: JWT access token
expires_in:
type: number
example: 3600
description: Token expiration time in seconds
required:
- access_token
- expires_in
AuthProfileResponseDto:
type: object
properties:
id:
type: string
format: uuid
example: 867cef72-a49d-42f1-a605-f49c5fbc7ae4
createDateTime:
type: string
format: date-time
example: '2024-07-09T20:14:00.475Z'
createdBy:
type: string
format: uuid
example: 867cef72-a49d-42f1-a605-f49c5fbc7ae4
lastChangedDateTime:
type: string
format: date-time
example: '2026-02-27T14:33:00.461Z'
lastChangedBy:
type: string
format: uuid
example: 867cef72-a49d-42f1-a605-f49c5fbc7ae4
isActive:
type: boolean
example: true
tags:
nullable: true
example: null
type: array
items:
type: string
email:
type: string
example: user@example.com
firstName:
type: string
example: Cave
lastName:
type: string
example: Johnson
phone:
type: object
nullable: true
example: null
extension:
type: object
nullable: true
example: null
isEmailVerified:
type: boolean
example: true
role:
type: string
enum:
- role_owner
- role_admin
- role_operator
- role_attendant
- role_spectator
- role_yard_driver
- role_carrier_admin
- role_carrier
- role_base
example: role_owner
companyId:
type: object
format: uuid
nullable: true
example: null
orgId:
type: object
format: uuid
nullable: true
example: 7e77fbe1-9517-44ce-b08b-5a18b478b79f
warehouseAccessList:
nullable: true
example: null
type: array
items:
type: string
invalidLoginAttempts:
type: object
nullable: true
example: null
tcConfirmedAt:
type: object
format: date-time
nullable: true
example: '2024-07-09T20:14:20.814Z'
lastLoginAt:
type: object
format: date-time
nullable: true
example: '2026-02-27T14:33:00.459Z'
passwordResetRequired:
type: boolean
example: false
passwordResetEmailSentAt:
type: object
format: date-time
nullable: true
example: null
orgIsActive:
type: boolean
example: true
orgName:
type: string
example: My Organization
orgCreateDateTime:
type: string
format: date-time
example: '2024-07-09T20:14:43.349Z'
orgType:
type: string
example: Client
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- isActive
- email
- firstName
- lastName
- isEmailVerified
- role
CreateDockDto:
type: object
properties:
tags:
type: object
doorNumber:
type: string
instructions:
type: string
minCarrierLeadTime_hr:
type: number
minCarrierLeadTimeForUpdates_hr:
type: number
maxCarrierLeadTime_hr:
type: number
ccEmails:
type: array
items:
type: string
allowCarrierScheduling:
type: boolean
allowOverBooking:
type: boolean
sortOrder:
type: number
settings:
type: object
schedule:
$ref: '#/components/schemas/ScheduleDto'
GetManyDockResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Dock'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
Dock:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
schedule:
$ref: '#/components/schemas/ScheduleDto'
org:
$ref: '#/components/schemas/Org'
orgId:
type: string
loadTypeIds:
example:
- Inbound-Dry-FTL
- Outbound-Refridge-LTL
type: array
items:
type: string
instructions:
type: string
minCarrierLeadTime_hr:
type: number
minCarrierLeadTimeForUpdates_hr:
type: number
maxCarrierLeadTime_hr:
type: number
ccEmails:
type: array
items:
type: string
allowCarrierScheduling:
type: boolean
allowOverBooking:
type: boolean
capacityParent:
$ref: '#/components/schemas/Dock'
capacityChildren:
$ref: '#/components/schemas/Dock'
capacityParentId:
type: string
sortOrder:
type: number
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- schedule
- loadTypeIds
UpdateDockDto:
type: object
properties:
tags:
type: object
doorNumber:
type: string
instructions:
type: string
minCarrierLeadTime_hr:
type: number
minCarrierLeadTimeForUpdates_hr:
type: number
maxCarrierLeadTime_hr:
type: number
ccEmails:
type: array
items:
type: string
allowCarrierScheduling:
type: boolean
allowOverBooking:
type: boolean
sortOrder:
type: number
settings:
type: object
schedule:
$ref: '#/components/schemas/ScheduleDto'
name:
type: string
warehouseId:
type: string
loadTypeIds:
type: array
items:
type: string
CrudOperationDto:
type: object
properties:
action:
type: string
example: read
entity:
type: string
example: Appointment
data:
type: array
items:
type: string
required:
- action
- entity
- data
DockSortResponseDto:
type: object
properties:
generatedMaps:
type: array
items:
type: string
raw:
type: array
items:
type: string
affected:
type: number
example: 1
required:
- generatedMaps
- raw
- affected
DockSortDto:
type: object
properties:
id:
type: string
sortOrder:
type: number
required:
- id
- sortOrder
DeleteDockDto:
type: object
properties:
hardDelete:
type: boolean
AvailabilityDto:
type: object
properties:
start:
format: date-time
type: string
example: '2026-05-24T19:16:46.221Z'
end:
format: date-time
type: string
example: '2026-05-24T19:16:46.221Z'
required:
- start
- end
AvailabilityResponseDto:
type: object
properties: {}
OpenDatesDto:
type: object
properties:
start:
format: date-time
type: string
example: '2026-05-24T19:16:46.221Z'
end:
format: date-time
type: string
example: '2026-05-24T19:16:46.221Z'
required:
- start
- end
OpenDatesResponseDto:
type: object
properties:
openDates:
example:
- '2023-02-01'
- '2023-02-02'
- '2023-02-03'
type: array
items:
type: string
required:
- openDates
CreateLoadTypeDto:
type: object
properties:
tags:
type: object
orgId:
type: string
warehouseId:
type: string
direction:
type: string
enum:
- Inbound
- Outbound
- Inbound/Outbound
operation:
type: string
enum:
- Live
- Drop
- Other
equipmentType:
type: string
enum:
- Dry Van
- Flatbed
- Reefer
- Other
transportationMode:
type: string
enum:
- FTL
- PTL
- Other
allowCarrierScheduling:
type: boolean
description:
type: object
settings:
type: object
schedule:
$ref: '#/components/schemas/ScheduleDto'
required:
- direction
GetManyLoadTypeResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/LoadType'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
LoadType:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
org:
$ref: '#/components/schemas/LoadType'
orgId:
type: string
direction:
type: string
enum:
- Inbound
- Outbound
- Inbound/Outbound
operation:
type: string
enum:
- Live
- Drop
- Other
equipmentType:
type: string
enum:
- Dry Van
- Flatbed
- Reefer
- Other
transportationMode:
type: string
enum:
- FTL
- PTL
- Other
allowCarrierScheduling:
type: boolean
description:
type: string
settings:
type: object
schedule:
$ref: '#/components/schemas/ScheduleDto'
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
AvailabilityFromLoadTypeDto:
type: object
properties:
start:
format: date-time
type: string
example: '2026-05-24T19:16:46.221Z'
end:
format: date-time
type: string
example: '2026-05-24T19:16:46.221Z'
required:
- start
- end
UpdateLoadTypeDto:
type: object
properties:
tags:
type: object
orgId:
type: string
warehouseId:
type: string
direction:
type: string
enum:
- Inbound
- Outbound
- Inbound/Outbound
operation:
type: string
enum:
- Live
- Drop
- Other
equipmentType:
type: string
enum:
- Dry Van
- Flatbed
- Reefer
- Other
transportationMode:
type: string
enum:
- FTL
- PTL
- Other
allowCarrierScheduling:
type: boolean
description:
type: object
settings:
type: object
schedule:
$ref: '#/components/schemas/ScheduleDto'
name:
type: string
duration_min:
type: number
AppointmentCountResponseDto:
type: object
properties: {}
CreateLoadTypeGroupDto:
type: object
properties:
tags:
type: object
ResponseLoadTypeGroupDto:
type: object
properties: {}
UpdateLoadTypeGroupDto:
type: object
properties:
tags:
type: object
DeleteLoadTypeGroupDto:
type: object
properties:
tags:
type: object
UnitLimitConfigurationWriteDTO:
type: object
properties:
tags:
type: object
UnitLimit:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
UnitLimitCount:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
UnitLimitValidateDTO:
type: object
properties:
tags:
type: object
warehouseId:
type: string
description: The warehouse of the unit limit configuration
example: 550e8400-e29b-41d4-a716-446655440000
dockId:
type: string
description: The dock of the unit limit configuration
example: 550e8400-e29b-41d4-a716-446655440001
loadTypeId:
type: string
description: The load type of the unit limit configuration
example: 550e8400-e29b-41d4-a716-446655440002
start:
type: string
description: Start date of the unit limit validation period
example: '2025-11-01'
end:
type: string
description: End date of the unit limit validation period (must be within 5 days of start date)
example: '2025-11-04'
requestedUnits:
type: number
description: Number of units requested within the specified date range
example: 10
required:
- warehouseId
- dockId
- loadTypeId
- start
- end
CreateFlowDto:
type: object
properties:
tags:
type: object
name:
type: string
description:
type: string
formFromId:
type: string
warehouseId:
type: string
required:
- name
- description
- formFromId
- warehouseId
GetManyFlowResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Flow'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
TriggerOperatorsEnum:
type: string
description: The operator that will be used to compare the value of the field to determine whether to show the second
form "FormTo" or not
enum:
- '>'
- <
- '>='
- <=
- '='
- <>
Flow:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
parentCode:
type: string
description: The parent code of the flow, used to group flows together, generated by the API
example: acfb1234-5678-90ab-cdef-1234567890ab
entityTags:
description: The tags that will be applied to the corresponding entity that triggered this flow, added to the tags
field for the entity stated at dataEntityName field of the trigger table
example:
- tag1
- tag2
type: array
items:
type: string
tagFromFormFieldId:
type: string
description: When set, the value of the submitted form field will be added as a tag, same as the entityTags field,
but this will be the value of the field, not the tag itself
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
formFromId:
type: string
description: The ID of the first form of this flow, used to load the form
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
formToId:
type: string
description: The ID of the second form of this flow, used to load the form sequence, it is optional
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
conditionOperator:
$ref: '#/components/schemas/TriggerOperatorsEnum'
conditionValue:
type: string
description: The value that will be used to compare the value of the field to determine whether to show the second
form "FormTo" or not
example: value
conditionFormFieldId:
type: string
description: The field that will be used to compare the value of the field to determine whether to show the second
form "FormTo" or not
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- formFromId
UpdateFlowDto:
type: object
properties:
tags:
type: object
name:
type: string
description:
type: string
formFromId:
type: string
CreateFormDto:
type: object
properties:
tags:
type: object
name:
type: string
description:
type: string
warehouseId:
type: string
required:
- name
- description
- warehouseId
GetManyFormResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Form'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
Form:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
name:
type: string
description: The name of the form
example: Customer Feedback Form
description:
type: string
description: Extra description for the form
example: This form is used to collect customer feedback
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- name
UpdateFormDto:
type: object
properties:
tags:
type: object
name:
type: string
description:
type: string
SortFormFieldDto:
type: object
properties:
tags:
type: object
CustomFieldType:
type: string
description: The type of the field used at the moment of the data submission, used to render the field in the UI and
validate the data on the API level
enum:
- str
- bigstr
- date
- bool
- doc
- multidoc
- int
- email
- phone
- dropdown
- dropdownmultiselect
- combobox
- timestamp
- action
FieldExtraFields:
type: object
properties: {}
CreateFieldDto:
type: object
properties:
tags:
type: object
label:
type: string
type:
$ref: '#/components/schemas/CustomFieldType'
description:
type: string
placeholder:
type: string
extraFields:
example:
dropDownValues:
- Option 1
- Option 2
- Option 3
minLengthOrValue: 1
maxLengthOrValue: 10
allOf:
- $ref: '#/components/schemas/FieldExtraFields'
required:
- label
- type
- description
- placeholder
GetManyFieldResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Field'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
Field:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
label:
type: string
description: The label of the field, it can be overriden when instantiated by a FormField entity
example: First Name
description:
type: string
description: The helper text for the particular field
example: Enter your first name
placeholder:
type: string
description: The placeholder for the particular field
example: John Doe
type:
$ref: '#/components/schemas/CustomFieldType'
extraFields:
description: Extra fields for the field, used to render the field in the UI, such as Dropdown options and number
validation rules
example:
dropDownValues:
- Option 1
- Option 2
- Option 3
minLengthOrValue: 1
maxLengthOrValue: 10
allOf:
- $ref: '#/components/schemas/FieldExtraFields'
semanticLabel:
type: object
description: Optional semantic label grouping for this field
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- label
- type
UpdateFieldDto:
type: object
properties:
tags:
type: object
label:
type: string
type:
$ref: '#/components/schemas/CustomFieldType'
description:
type: string
placeholder:
type: string
extraFields:
example:
dropdownOptions:
- Option 1
- Option 2
maxLengthOrValue: 100
minLengthOrValue: 1
allOf:
- $ref: '#/components/schemas/FieldExtraFields'
formId:
type: string
CreateFormFieldDto:
type: object
properties:
tags:
type: object
order:
type: number
description: The order of the field in the form
example: 1
formId:
type: string
fieldId:
type: string
required:
type: boolean
overrideLabel:
type: string
description: The label of the field for this form instance, overrides the field label
example: Last Name
required:
- order
- formId
- fieldId
GetManyFormFieldResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/FormField'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
FormField:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
order:
type: number
description: The order of the field in the form, must be unique per form
example: 1
required:
type: boolean
description: Whether the field is required or not
example: true
overrideLabel:
type: string
description: The label of the field for this form instance, overrides the field label
example: Last Name
formId:
type: string
description: The ID of the form that this field belongs to
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
fieldId:
type: string
description: The ID of the field that this form field is based on
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- order
- formId
- fieldId
UpdateFormFieldDto:
type: object
properties:
tags:
type: object
order:
type: integer
fieldId:
type: string
overrideLabel:
type: string
required:
type: boolean
GetManyTriggerResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Trigger'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
AppsEnum:
type: string
description: The app that this trigger will be activated, based on the source of the request
enum:
- api
- warehouse
- carrier
- driver
- all
CustomFormFlowCategoryEnum:
type: string
description: The event category that this trigger will be activated on
enum:
- appointmentStatusCompleted
- appointmentStatusArrived
- appointmentCreated
- assetVisitCreated
- manualTrigger
CustomFormsFeatures:
type: string
description: The feature that this trigger is related, used to group triggers by feature
enum:
- check-out
- check-in
- check-in additional asset details
- asset container details
- Inbound Claim
- Outbound Claim
- Book Load Type
- appointment-completed
CustomFormFlowEntitiesEnum:
type: string
description: The entity name that qualifies the objectId this trigger will be activated
enum:
- loadtype
- dock
- warehouse
CustomFormDataEntitiesEnum:
type: string
description: The entity name of the object that this data belongs to
enum:
- appointment
- assetvisit
- assetcontainer
Trigger:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
app:
$ref: '#/components/schemas/AppsEnum'
category:
$ref: '#/components/schemas/CustomFormFlowCategoryEnum'
feature:
$ref: '#/components/schemas/CustomFormsFeatures'
flowId:
type: object
description: The ID of the flow that this trigger will load, Flow has one or two Forms
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
objectId:
type: string
description: The ID of the object that this trigger will be activated on events
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
entityName:
$ref: '#/components/schemas/CustomFormFlowEntitiesEnum'
dataEntityName:
$ref: '#/components/schemas/CustomFormDataEntitiesEnum'
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- app
- category
- objectId
- entityName
- dataEntityName
CreateTriggerDto:
type: object
properties:
tags:
type: object
app:
$ref: '#/components/schemas/AppsEnum'
category:
$ref: '#/components/schemas/CustomFormFlowCategoryEnum'
flowId:
type: object
description: The ID of the Flow that will be loaded when this trigger is executed
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
objectId:
type: string
description: The ID of the object that this trigger belongs to, the type is dependent on the entityName
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
feature:
$ref: '#/components/schemas/CustomFormsFeatures'
entityName:
$ref: '#/components/schemas/CustomFormFlowEntitiesEnum'
required:
- app
- category
- objectId
- entityName
UpdateTriggerDto:
type: object
properties:
tags:
type: object
app:
$ref: '#/components/schemas/AppsEnum'
category:
$ref: '#/components/schemas/CustomFormFlowCategoryEnum'
flowId:
type: object
objectId:
type: string
entityName:
$ref: '#/components/schemas/CustomFormFlowEntitiesEnum'
updateRelatedTriggers:
type: boolean
default: false
description: If true, it will update the related triggers of the flow, with the same flow.parentCode
GetManyCustomFormDataResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CustomFormData'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
CustomFormData:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
objectId:
type: string
description: The ID of the object that this data belongs to, the type is dependent on the entityName
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
entityName:
$ref: '#/components/schemas/CustomFormDataEntitiesEnum'
label:
type: string
description: The label of the field used at the moment of the data submission
example: First Name
value:
type: object
description: The value of this field, entered by the user, store as string, but validated as the Field type
example: John Doe
type:
$ref: '#/components/schemas/CustomFieldType'
formFieldId:
type: object
description: The ID of the FormField that this data refers to
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
triggerId:
type: object
description: The ID of the Trigger that this data refers to
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
warehouseId:
type: object
description: The ID of the Warehouse that this data refers to
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- objectId
- entityName
- label
- value
- type
- formFieldId
- triggerId
- warehouseId
CreateCustomFormDataDto:
type: object
properties:
tags:
type: object
objectId:
type: string
description: The ID of the object that this data belongs to, the type is dependent on the entityName
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
entityName:
$ref: '#/components/schemas/CustomFormDataEntitiesEnum'
value:
type: object
description: The value of the field, stored as string, but it gets validated as the field type by the API
example: John Doe
formFieldId:
type: string
description: The ID of the form field that this data refers to
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
triggerId:
type: string
description: The ID of the trigger that this data refers to
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
required:
- objectId
- entityName
- value
- formFieldId
- triggerId
CreateManyCustomFormDataDto:
type: object
properties:
bulk:
type: array
items:
$ref: '#/components/schemas/CustomFormData'
required:
- bulk
UpdateCustomFormDataDto:
type: object
properties:
tags:
type: object
value:
type: string
required:
- value
CreateSingleCustomFormDataDto:
type: object
properties:
tags:
type: object
objectId:
type: string
description: The ID of the object that this data belongs to, the type is dependent on the entityName
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
entityName:
$ref: '#/components/schemas/CustomFormDataEntitiesEnum'
value:
type: object
description: The value of the field, stored as string, but it gets validated as the field type by the API
example: John Doe
formFieldId:
type: string
description: The ID of the form field that this data refers to
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
triggerId:
type: string
description: The ID of the trigger that this data refers to
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
required:
- objectId
- entityName
- value
- formFieldId
- triggerId
StatusTimelineDto:
type: object
properties:
NoShow:
type: object
format: date-time
nullable: true
example: null
Arrived:
type: object
format: date-time
nullable: true
example: null
Cancelled:
type: object
format: date-time
nullable: true
example: null
Completed:
type: object
format: date-time
nullable: true
example: null
Requested:
type: object
format: date-time
nullable: true
example: '2026-03-18T18:14:00.000Z'
Scheduled:
type: object
format: date-time
nullable: true
example: null
InProgress:
type: object
format: date-time
nullable: true
example: null
CustomFieldDto:
type: object
properties:
name:
type: string
example: emailDispatcher
type:
type: string
example: email
label:
type: string
example: Dispatcher
description:
type: string
example: Dispatcher's email address
placeholder:
type: string
example: xpto@example.com
dropDownValues:
example: []
type: array
items:
type: string
hiddenFromCarrier:
type: boolean
example: false
requiredForCarrier:
type: boolean
example: false
requiredForWarehouse:
type: boolean
example: false
value:
type: object
description: Field value — type depends on the custom field type
required:
- name
- type
- label
AppointmentMetadataDto:
type: object
properties:
unitLimitBreached:
type: boolean
example: false
externalValidationFailed:
type: boolean
example: false
externalValidationErrorMessage:
type: object
nullable: true
example: null
unitLimitOverrideReason:
type: object
example: null
nullable: true
clonedFromId:
type: object
format: uuid
nullable: true
example: null
AppointmentListItemDto:
type: object
properties:
id:
type: string
format: uuid
example: 25523508-e358-4161-8907-5bfba673ce94
createDateTime:
type: string
format: date-time
example: '2026-03-18T18:14:51.766Z'
createdBy:
type: string
format: uuid
example: c798fcb0-e072-46af-92cf-dec899b68973
lastChangedDateTime:
type: string
format: date-time
example: '2026-03-18T18:14:59.545Z'
lastChangedBy:
type: string
format: uuid
example: c798fcb0-e072-46af-92cf-dec899b68973
isActive:
type: boolean
example: true
tags:
nullable: true
example: []
type: array
items:
type: string
type:
type: string
enum:
- Standard
- Reserve
example: Standard
status:
type: string
enum:
- NoShow
- Cancelled
- Requested
- Scheduled
- Arrived
- InProgress
- Completed
example: Requested
statusTimeline:
$ref: '#/components/schemas/StatusTimelineDto'
userId:
type: object
format: uuid
nullable: true
example: c798fcb0-e072-46af-92cf-dec899b68973
loadTypeId:
type: string
format: uuid
example: e4fbeabd-a501-4f3b-bc11-7f034110e925
dockId:
type: string
format: uuid
example: c9fbc7d2-f9c3-483c-84b4-1215682af6a3
orgId:
type: string
format: uuid
example: 7e77fbe1-9517-44ce-b08b-5a18b478b79f
start:
type: string
format: date-time
example: '2026-03-19T18:30:00.000Z'
end:
type: string
format: date-time
example: '2026-03-19T19:30:00.000Z'
eta:
type: object
format: date-time
nullable: true
example: null
refNumber:
type: string
example: APT-41313
refNumbers:
example:
- APT-41313
type: array
items:
type: string
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldDto'
notes:
type: object
nullable: true
example: ''
ccEmails:
example: []
type: array
items:
type: string
recurringParentId:
type: object
format: uuid
nullable: true
example: null
recurringPattern:
type: object
nullable: true
example: null
reschedules:
type: object
nullable: true
example: null
confirmationNumber:
type: string
example: '137510'
muteNotifications:
type: boolean
example: false
isCheckedInByCarrier:
type: boolean
example: false
metadata:
$ref: '#/components/schemas/AppointmentMetadataDto'
units:
type: object
nullable: true
example: 12
searchableCustomFields:
type: object
nullable: true
example: null
recurringParent:
type: object
nullable: true
example: null
recurringChildren:
nullable: true
description: Child appointments in a recurring series (only present when relation is loaded)
type: array
items:
type: object
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- isActive
- type
- status
- loadTypeId
- dockId
- orgId
- start
- end
- confirmationNumber
- muteNotifications
- isCheckedInByCarrier
AppointmentRequirementsFieldSchemaDto:
type: object
properties:
type:
type: string
description: Human-readable field type label (e.g. uuid, timestamp, string).
required:
type: boolean
description: Whether this field is required when creating an appointment.
example:
type: object
description: Example value for this field; shape depends on warehouse, load type, and field type.
acceptedValues:
type: object
description: Allowed or described values (e.g. UUID lists, maps of dock id to slot times, free-text rules).
description:
type: string
description: How to supply this field on appointment creation.
required:
- type
- required
- example
- description
AppointmentRequirementsCustomFormFieldFieldDto:
type: object
properties:
formFieldId:
type: string
triggerId:
type: string
value:
type: string
required:
- formFieldId
- triggerId
- value
AppointmentRequirementsSemanticLabelDto:
type: object
properties:
slug:
type: string
name:
type: string
description:
type: string
required:
- slug
- name
- description
AppointmentRequirementsCustomFormFieldRowDto:
type: object
properties:
field:
$ref: '#/components/schemas/AppointmentRequirementsCustomFormFieldFieldDto'
type:
type: string
enum:
- str
- bigstr
- date
- bool
- doc
- multidoc
- int
- email
- phone
- dropdown
- dropdownmultiselect
- combobox
- timestamp
- action
required:
type: boolean
description: Whether this field is required when scheduling.
minLengthOrValue:
type: number
description: Minimum length or value for field types `str`, `bigstr`, and `int`.
maxLengthOrValue:
type: number
description: Maximum length or value for field types `str`, `bigstr`, and `int`.
dropDownValues:
description: Discrete option strings when the field type is dropdown, dropdownmultiselect, or combobox and the warehouse
configured choices.
type: array
items:
type: string
formName:
type: string
label:
type: string
description:
type: object
nullable: true
description: Warehouse-defined form field description; always serialized. Use null or empty string as stored.
semanticLabel:
nullable: true
allOf:
- $ref: '#/components/schemas/AppointmentRequirementsSemanticLabelDto'
required:
- field
- type
- required
- formName
- label
- description
- semanticLabel
AppointmentRequirementsCustomFormsDataSchemaDto:
type: object
properties:
type:
type: string
required:
type: boolean
children:
description: Rows describing each custom form field for this load type (`field` holds formFieldId, triggerId, value
placeholder).
type: array
items:
$ref: '#/components/schemas/AppointmentRequirementsCustomFormFieldRowDto'
description:
type: string
required:
- type
- required
- children
- description
AppointmentRequirementsFieldsDto:
type: object
properties:
customFields:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
customFormsData:
$ref: '#/components/schemas/AppointmentRequirementsCustomFormsDataSchemaDto'
units:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
loadTypeId:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
dockId:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
start:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
notes:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
userId:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
refNumbers:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
ccEmails:
$ref: '#/components/schemas/AppointmentRequirementsFieldSchemaDto'
required:
- loadTypeId
- dockId
- start
- notes
- userId
- refNumbers
- ccEmails
AppointmentRequirementsExamplePayloadDto:
type: object
properties:
customFields:
type: array
items:
type: object
description: Present when the warehouse exposes custom appointment fields to carriers.
customFormsData:
type: array
items:
type: object
description: Present when custom form fields apply to this load type.
units:
type: number
description: Handling units count when that field is enabled.
loadTypeId:
type: string
dockId:
type: string
start:
type: object
nullable: true
description: First available slot as ISO string when slots exist; otherwise null.
notes:
type: string
userId:
type: string
refNumbers:
description: One or more reference numbers; elements are strings or integers depending on warehouse ref mode.
type: array
items:
type: array
ccEmails:
type: array
items:
type: string
required:
- loadTypeId
- dockId
- start
- notes
- userId
- refNumbers
- ccEmails
AppointmentRequirementsSuccessResponseDto:
type: object
properties:
notes:
type: string
description: Integrator-facing hints (e.g. external ref validation). Not the same as `fields.notes` on the appointment
create payload.
fields:
$ref: '#/components/schemas/AppointmentRequirementsFieldsDto'
example:
$ref: '#/components/schemas/AppointmentRequirementsExamplePayloadDto'
required:
- fields
- example
CreateAppointmentDto:
type: object
properties:
tags:
type: object
status:
type: string
enum:
- NoShow
- Cancelled
- Requested
- Scheduled
- Arrived
- InProgress
- Completed
userId:
type: object
loadTypeId:
type: string
dockId:
type: string
start:
format: date-time
type: string
end:
format: date-time
type: string
refNumbers:
type: array
items:
type: string
refNumber:
type: string
customFields:
type: array
items:
type: string
notes:
type: string
ccEmails:
type: array
items:
type: string
muteNotifications:
type: boolean
metadata:
type: object
units:
type: object
required:
- loadTypeId
- dockId
- start
DeleteAppointmentDto:
type: object
properties:
hardDelete:
type: boolean
UpdateAppointmentDto:
type: object
properties:
tags:
type: object
status:
type: string
enum:
- NoShow
- Cancelled
- Requested
- Scheduled
- Arrived
- InProgress
- Completed
userId:
type: object
loadTypeId:
type: string
dockId:
type: string
start:
format: date-time
type: string
end:
format: date-time
type: string
refNumbers:
type: array
items:
type: string
refNumber:
type: string
customFields:
type: array
items:
type: string
notes:
type: string
ccEmails:
type: array
items:
type: string
muteNotifications:
type: boolean
metadata:
type: object
units:
type: object
type:
type: string
enum:
- Standard
- Reserve
statusTimeline:
type: object
isCheckedInByCarrier:
type: boolean
EtaDto:
type: object
properties:
eta:
format: date-time
type: string
example: '2026-03-19T18:30:00.000Z'
description: Estimated time of arrival
reason:
type: string
example: on time
description: Reason for the ETA update (required for carriers)
required:
- eta
CreateReserveDto:
type: object
properties:
dockId:
type: string
format: uuid
example: c9fbc7d2-f9c3-483c-84b4-1215682af6a3
start:
format: date-time
type: string
example: '2026-03-23T05:00:00.000Z'
notes:
type: string
example: Reserved
duration_min:
type: number
example: 30
description: 'Duration in minutes (default: 30)'
required:
- dockId
- start
RecurringAppointmentCreateSuccess:
type: object
properties:
appointmentId:
type: string
format: uuid
example: 3ca0e68f-8fc4-4e5d-b08a-b5ffefe2ebce
start:
format: date-time
type: string
example: '2026-03-30T05:30:00.000Z'
required:
- appointmentId
- start
RecurringAppointmentCreateFailure:
type: object
properties:
start:
format: date-time
type: string
example: '2026-04-20T05:30:00.000Z'
reason:
type: string
example: Appointment does not fit into combined Dock and Warehouse availability
required:
- start
- reason
RecurringAppointmentCreateResponse:
type: object
properties:
successes:
type: array
items:
$ref: '#/components/schemas/RecurringAppointmentCreateSuccess'
failures:
type: array
items:
$ref: '#/components/schemas/RecurringAppointmentCreateFailure'
required:
- successes
- failures
RecurringCustomFormDataItemDto:
type: object
properties: {}
CreateRecurringAppointmentsDto:
type: object
properties:
numWeeks:
type: number
example: 3
description: Number of weeks to repeat pattern
weekDays:
type: array
example:
- Monday
items:
type: string
enum:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
copyFields:
type: array
example:
- customFields
description: Copy appointment fields to the series. Copying refNumber will not work if unique ref number setting
is on
items:
type: string
enum:
- refNumber
- customFields
- notes
- tags
customFormsDataToCopy:
description: Load-type custom form data rows from the parent appointment to copy into each child. Pass the full
row objects returned by the customformdata API (formFieldId, triggerId, label, type, value). Array-valued fields
(multidoc, dropdownmultiselect) are serialised correctly for each child.
type: array
items:
$ref: '#/components/schemas/RecurringCustomFormDataItemDto'
startingStatus:
type: string
enum:
- Scheduled
- Requested
example: Requested
default: Scheduled
description: Starting status for recurring children. Defaults to Scheduled
required:
- numWeeks
- weekDays
AppointmentNotificationEmailHtmlResponseDto:
type: object
properties:
bodyHtml:
type: string
example: Html Block Example
subject:
type: string
example: Appointment details have changed
required:
- bodyHtml
- subject
AddAppointmentTagDto:
type: object
properties:
tag:
type: string
example: Damaged
required:
- tag
AssetVisitType:
type: string
description: The type of the asset visit
enum:
- LiveUnload
- LiveLoad
- Live
- Drop
- PickUp
- DropHook
- Unknown
AssetContainerDetailsDto:
type: object
properties: {}
CreateAssetVisitDto:
type: object
properties:
tags:
type: object
warehouseId:
type: string
format: uuid
appointmentId:
type: string
format: uuid
licensePlate:
type: object
dotNumber:
type: object
companyId:
type: string
format: uuid
phone:
type: string
description: Driver Phone number in E.164 format
useWhatsApp:
type: boolean
description: Whether to communicate via WhatsApp
isPlanned:
type: boolean
companyHint:
type: string
description: Company name
visitType:
$ref: '#/components/schemas/AssetVisitType'
driverNotes:
type: string
description: Driver notes for check-in
driverAppointmentIdentifier:
type: string
description: Appointment identifier entered by the driver for check-in
hasArrived:
type: boolean
assetContainerDetails:
type: array
items:
$ref: '#/components/schemas/AssetContainerDetailsDto'
required:
- warehouseId
- phone
- useWhatsApp
GetManyAssetVisitResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/AssetVisit'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
AssetVisit:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
orgId:
type: string
format: uuid
warehouseId:
type: string
format: uuid
description: The id of the warehouse
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
appointmentId:
type: string
format: uuid
description: The id of the appointment
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
secondaryAppointmentId:
type: string
format: uuid
description: The id of the secondary appointment
example: b1e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4p
companyId:
type: string
format: uuid
description: The id of the company
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
phone:
type: string
description: The phone number of the driver
example: '+14155552671'
isPlanned:
type: boolean
description: Indicates if the visit has an appointment or not
example: false
companyHint:
type: string
description: A free-text to indicate the company name when there is no appointment
example: Super Company CO.
driverNotes:
type: string
description: Notes typed by the driver when checking in
example: My truck is broken, please help me
driverAppointmentIdentifier:
type: string
description: Appointment identification typed by the driver when checking in
example: PO48593
visitType:
example: Live
$ref: '#/components/schemas/AssetVisitType'
checkInAcknowledged:
type: boolean
description: Whether the check-in was acknowledged by the warehouse or not
example: false
rejectReason:
type: object
description: The reason the asset visit was rejected
example: Driver did not pass safety check
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- orgId
- warehouseId
- phone
- isPlanned
UpdateAssetVisitDto:
type: object
properties:
tags:
type: object
appointmentId:
type: string
format: uuid
companyId:
type: object
format: uuid
licensePlate:
type: string
dotNumber:
type: string
companyHint:
type: string
maxLength: 128
description: Free-text carrier name when no companyId is selected
visitType:
$ref: '#/components/schemas/AssetVisitType'
CreateAssetVisitEventDto:
type: object
properties:
tags:
type: object
GetManyAssetContainerResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/AssetContainer'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
AssetContainerType:
type: string
description: The type of the asset container
enum:
- Trailer
- Container
- Oversized
- Chassis
- Reefer
- Other
AssetContainerState:
type: string
description: The state of the asset container
enum:
- Full
- Empty
- Partially Loaded
AssetContainer:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
type:
$ref: '#/components/schemas/AssetContainerType'
state:
$ref: '#/components/schemas/AssetContainerState'
code:
type: string
description: The code of the asset container
example: AC001
notes:
type: string
description: Extra data about the asset container
example: Asset container for storing goods
lastLocationCheckConfirmedAt:
type: object
description: When a yard location check last confirmed the container present (server-set only; not generic “seen”).
format: date-time
assetVisitId:
type: string
format: uuid
description: The id of the asset visit
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
orgId:
type: string
format: uuid
warehouseId:
type: string
format: uuid
description: The id of the warehouse
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
pickupAppointmentId:
type: string
format: uuid
description: The id of the pickup appointment
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
dropAppointmentId:
type: string
format: uuid
description: The id of the drop appointment
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
companyId:
type: string
format: uuid
description: The id of the company that owns the asset container
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- type
- code
- orgId
- warehouseId
- pickupAppointmentId
UpdateAssetVisitAcknowledgmentDto:
type: object
properties:
tags:
type: object
LinkUnplannedCheckinToAppointmentDto:
type: object
properties:
tags:
type: object
appointmentId:
type: string
assetVisitId:
type: string
companyId:
type: string
deprecated: true
description: 'Deprecated: company is resolved from the appointment user on the server. Optional for legacy clients
only.'
required:
- appointmentId
- assetVisitId
UnlinkAssetFromAppointmentDto:
type: object
properties:
tags:
type: object
appointmentId:
type: string
assetVisitId:
type: string
required:
- appointmentId
- assetVisitId
CreateAssetContainerDto:
type: object
properties:
tags:
type: object
assetVisitId:
type: string
format: uuid
code:
type: string
notes:
type: string
type:
$ref: '#/components/schemas/AssetContainerType'
warehouseId:
type: string
format: uuid
dropAppointmentId:
type: string
format: uuid
pickupAppointmentId:
type: string
format: uuid
state:
$ref: '#/components/schemas/AssetContainerState'
companyId:
type: string
format: uuid
required:
- assetVisitId
- code
- type
- warehouseId
UpdateAssetContainerDto:
type: object
properties:
tags:
type: object
assetVisitId:
type: string
format: uuid
code:
type: string
notes:
type: string
type:
$ref: '#/components/schemas/AssetContainerType'
dropAppointmentId:
type: string
format: uuid
pickupAppointmentId:
type: string
format: uuid
state:
$ref: '#/components/schemas/AssetContainerState'
companyId:
type: string
format: uuid
AssetContainerEventType:
type: string
description: The type of the event
enum:
- Arrived
- Loading
- Loading Complete
- Unloading
- Unloading Complete
- Ready for Pickup
- Departed
- Inoperable
- Missing
AssetContainerEvent:
type: object
properties:
id:
type: string
format: uuid
orgId:
type: string
format: uuid
createDateTime:
type: string
description: The date and time when the event was created
format: date-time
createdBy:
type: object
format: uuid
description: The id of the user who created the event
assetContainerId:
type: string
format: uuid
description: The id of the asset container
assetVisitId:
type: object
format: uuid
description: The id of the asset visit attached (truck)
eventType:
$ref: '#/components/schemas/AssetContainerEventType'
required:
- id
- orgId
- createDateTime
- assetContainerId
- eventType
CreateAssetContainerEventDto:
type: object
properties:
tags:
type: object
eventType:
type: string
enum:
- Arrived
- Loading
- Loading Complete
- Unloading
- Unloading Complete
- Ready for Pickup
- Departed
- Inoperable
- Missing
assetContainerId:
type: string
format: uuid
description: The id of the asset container
assetVisitId:
type: string
format: uuid
description: The id of the asset visit which this entity is attached to
required:
- eventType
- assetContainerId
Sort:
type: object
properties:
field:
type: string
order:
type: string
enum:
- ASC
- DESC
default: ASC
required:
- field
- order
QueryResultMeta:
type: object
properties:
totalRecords:
type: number
totalPages:
type: number
limit:
type: number
offset:
type: number
sorts:
type: array
items:
$ref: '#/components/schemas/Sort'
page:
type: number
required:
- totalRecords
- totalPages
- limit
- offset
- sorts
- page
DocumentListDto:
type: object
properties:
items:
type: array
items:
type: string
meta:
$ref: '#/components/schemas/QueryResultMeta'
required:
- items
- meta
StorageDto:
type: object
properties:
url:
type: string
example: https://opendock-neutron-staging.s3.amazonaws.com/storage/328a170a-6dc6-4e79-afeb-c2b5e436eee4/d285b6b549/file.pdf
key:
type: string
example: storage/328a170a-6dc6-4e79-afeb-c2b5e436eee4/d285b6b549/file.pdf
required:
- url
- key
GetManySpotAssignmentResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SpotAssignment'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
SpotAssignment:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
spotId:
type: string
format: uuid
description: The id of the spot
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
assetVisitId:
type: object
format: uuid
description: The id of the asset visit
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
assetContainerId:
type: object
format: uuid
description: The id of the asset container
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
observation:
type: string
description: Extra data for the spot assignment
example: Spot assignment for truck 4
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- spotId
- assetVisitId
- assetContainerId
SpotItemDto:
type: object
properties:
id:
type: string
readOnly: true
format: uuid
createDateTime:
type: string
readOnly: true
format: date-time
createdBy:
type: string
readOnly: true
format: uuid
lastChangedDateTime:
type: string
readOnly: true
format: date-time
lastChangedBy:
type: string
readOnly: true
format: uuid
isActive:
type: boolean
readOnly: true
tags:
type: array
readOnly: true
example:
- external
- waiting
orgId:
type: string
readOnly: true
format: uuid
warehouseId:
type: string
readOnly: true
format: uuid
code:
type: string
readOnly: true
example: G300
type:
type: string
readOnly: true
enum:
- parking
- docking
example: parking
spotAreaId:
type: string
readOnly: true
format: uuid
observation:
type: string
readOnly: true
example: This is a spot observation.
spotAssignments:
readOnly: true
type: array
items:
$ref: '#/components/schemas/SpotAssignment'
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- lastChangedBy
- isActive
- tags
- orgId
- warehouseId
- code
- type
- spotAreaId
- observation
- spotAssignments
ListSpotDto:
type: object
properties:
entity:
type: string
readOnly: true
enum:
- Spot
action:
type: string
readOnly: true
enum:
- read
data:
readOnly: true
type: array
items:
$ref: '#/components/schemas/SpotItemDto'
required:
- entity
- action
- data
SpotType:
type: string
description: The type of the spot
enum:
- parking
- docking
CreateSpotDto:
type: object
properties:
tags:
type: object
code:
type: string
type:
$ref: '#/components/schemas/SpotType'
spotAreaId:
type: string
format: uuid
observation:
type: string
required:
- code
- type
- spotAreaId
GetManySpotResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Spot'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
Spot:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
code:
type: string
description: The code of the spot
example: SP001
type:
$ref: '#/components/schemas/SpotType'
spotAreaId:
type: string
format: uuid
description: The id of the spot area
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
observation:
type: string
description: The observation of the spot
example: Large spot for trucks
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- code
- type
- spotAreaId
CreateSpotManyDto:
type: object
properties:
tags:
type: object
numberOfSpots:
type: number
startFromNumber:
type: number
leadingChar:
type: string
type:
$ref: '#/components/schemas/SpotType'
spotAreaId:
type: string
format: uuid
required:
- numberOfSpots
- startFromNumber
- type
- spotAreaId
UpdateSpotDto:
type: object
properties:
tags:
type: object
code:
type: string
type:
$ref: '#/components/schemas/SpotType'
spotAreaId:
type: string
format: uuid
observation:
type: string
DeleteResult:
type: object
properties: {}
DeleteSpotManyDto:
type: object
properties:
tags:
type: object
spotIds:
type: array
items:
type: string
format: uuid
required:
- spotIds
UpdateSpotStatusDto:
type: object
properties:
tags:
type: object
reason:
type: string
observation:
type: string
required:
- reason
SpotReserveEntityEnum:
type: string
description: The entity type for the reserve action
enum:
- YardTask
ToggleSpotReserveDto:
type: object
properties:
tags:
type: object
objectId:
type: string
format: uuid
entityName:
$ref: '#/components/schemas/SpotReserveEntityEnum'
validUntil:
type: string
format: date-time
observation:
type: string
maxLength: 1024
description: Optional observation for the spot reserve action
SpotEventTypeEnum:
type: string
description: The type of the event
enum:
- assignment
- release
- reserve
- release_reserve
- close
- open
- other
SpotEvent:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
spotId:
type: string
format: uuid
description: The id of the spot
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
eventType:
$ref: '#/components/schemas/SpotEventTypeEnum'
reason:
type: string
description: The reason for the event
example: Spot is occupied
observation:
type: string
description: The observation of the event
example: Spot is occupied by a truck
assetContainerId:
type: string
description: The ID of the asset container associated with this event
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
assetVisitId:
type: string
description: The ID of the asset visit associated with this event
example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- spotId
- eventType
CreateSpotAreaDto:
type: object
properties:
tags:
type: object
name:
type: string
observation:
type: string
warehouseId:
type: string
format: uuid
required:
- name
- warehouseId
GetManySpotAreaResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SpotArea'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
SpotArea:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
name:
type: string
description: The name of the spot area
example: Spot Area 1
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
- name
UpdateSpotAreaDto:
type: object
properties:
tags:
type: object
name:
type: string
CreateSpotAssignmentDto:
type: object
properties:
tags:
type: object
assetVisitId:
type: string
format: uuid
assetContainerId:
type: string
format: uuid
spotId:
type: string
format: uuid
observation:
type: string
required:
- spotId
UpdateSpotAssignmentDto:
type: object
properties:
tags:
type: object
observation:
type: string
assetVisitId:
type: string
format: uuid
assetContainerId:
type: string
format: uuid
DepartTypeEnum:
type: string
enum:
- All
- AssetVisit
- AssetContainer
DepartSpotAssignmentDto:
type: object
properties:
tags:
type: object
departType:
$ref: '#/components/schemas/DepartTypeEnum'
required:
- departType
ReassignSpotDto:
type: object
properties:
tags:
type: object
spotId:
type: string
format: uuid
reason:
type: string
observation:
type: string
moveContainer:
type: boolean
description: When set to true, it moves only the asset container
required:
- spotId
YardViewSpotReserveRefDto:
type: object
properties:
id:
type: string
format: uuid
isActive:
type: boolean
entityName:
type: object
description: SpotReserveEntityEnum
nullable: true
objectId:
type: object
format: uuid
nullable: true
validUntil:
type: string
format: date-time
nullable: true
createDateTime:
type: string
format: date-time
lastChangedDateTime:
type: string
format: date-time
required:
- id
- isActive
- entityName
- objectId
- validUntil
- createDateTime
- lastChangedDateTime
YardViewCompanyRefDto:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
required:
- id
- name
YardViewDockRefDto:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
required:
- id
- name
YardViewLoadTypeRefDto:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
direction:
type: string
enum:
- Inbound
- Outbound
- Inbound/Outbound
required:
- id
- name
- direction
YardViewAppointmentRefDto:
type: object
properties:
id:
type: string
format: uuid
status:
type: object
description: Appointment status
start:
type: string
format: date-time
end:
type: string
format: date-time
refNumber:
type: object
refNumbers:
description: All reference numbers on the appointment
type: array
items:
type: string
confirmationNumber:
type: object
dock:
$ref: '#/components/schemas/YardViewDockRefDto'
loadType:
$ref: '#/components/schemas/YardViewLoadTypeRefDto'
required:
- id
- refNumbers
SpotGridContainerAppointmentUserDto:
type: object
properties:
company:
$ref: '#/components/schemas/YardViewCompanyRefDto'
SpotGridContainerAppointmentRefDto:
type: object
properties:
id:
type: string
format: uuid
user:
$ref: '#/components/schemas/SpotGridContainerAppointmentUserDto'
required:
- id
SpotGridAssetContainerEventDto:
type: object
properties:
id:
type: string
format: uuid
eventType:
type: string
enum:
- Arrived
- Loading
- Loading Complete
- Unloading
- Unloading Complete
- Ready for Pickup
- Departed
- Inoperable
- Missing
createDateTime:
type: string
format: date-time
createdBy:
type: object
format: uuid
nullable: true
assetVisitId:
type: object
format: uuid
nullable: true
assetContainerId:
type: string
format: uuid
required:
- id
- eventType
- createDateTime
- createdBy
- assetVisitId
- assetContainerId
SpotGridAssetContainerDto:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- Trailer
- Container
- Oversized
- Chassis
- Reefer
- Other
nullable: true
state:
type: string
enum:
- Full
- Empty
- Partially Loaded
nullable: true
code:
type: string
orgId:
type: string
format: uuid
warehouseId:
type: string
format: uuid
assetVisitId:
type: object
format: uuid
nullable: true
pickupAppointmentId:
type: object
format: uuid
nullable: true
dropAppointmentId:
type: object
format: uuid
nullable: true
company:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewCompanyRefDto'
pickupAppointment:
nullable: true
allOf:
- $ref: '#/components/schemas/SpotGridContainerAppointmentRefDto'
dropAppointment:
nullable: true
allOf:
- $ref: '#/components/schemas/SpotGridContainerAppointmentRefDto'
assetContainerEvents:
type: array
items:
$ref: '#/components/schemas/SpotGridAssetContainerEventDto'
createDateTime:
type: string
format: date-time
nullable: true
lastChangedDateTime:
type: string
format: date-time
nullable: true
tags:
nullable: true
type: array
items:
type: string
required:
- id
- type
- state
- code
- orgId
- warehouseId
- assetVisitId
- pickupAppointmentId
- dropAppointmentId
- company
- pickupAppointment
- dropAppointment
- assetContainerEvents
- createDateTime
- lastChangedDateTime
- tags
SpotGridAssetVisitEventDto:
type: object
properties:
id:
type: string
format: uuid
eventType:
type: string
enum:
- NotArrived
- Arrived
- Docked
- Departed
- Canceled
- Attached
- Detached
- Appointment Linked
- Appointment Unlinked
- RejectedByCheckin
- RejectedByWarehouse
createDateTime:
type: string
format: date-time
createdBy:
type: object
format: uuid
nullable: true
assetVisitId:
type: string
format: uuid
assetContainerId:
type: object
format: uuid
nullable: true
required:
- id
- eventType
- createDateTime
- createdBy
- assetVisitId
- assetContainerId
SpotGridAssetVisitDto:
type: object
properties:
id:
type: string
format: uuid
orgId:
type: string
format: uuid
warehouseId:
type: string
format: uuid
visitType:
type: string
enum:
- LiveUnload
- LiveLoad
- Live
- Drop
- PickUp
- DropHook
- Unknown
nullable: true
company:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewCompanyRefDto'
companyHint:
type: object
nullable: true
phone:
type: object
nullable: true
isPlanned:
type: boolean
licensePlate:
type: object
nullable: true
dotNumber:
type: object
nullable: true
companyId:
type: object
format: uuid
nullable: true
checkInAcknowledged:
type: object
nullable: true
createDateTime:
type: string
format: date-time
lastChangedDateTime:
type: string
format: date-time
appointment:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewAppointmentRefDto'
assetContainers:
type: array
items:
$ref: '#/components/schemas/SpotGridAssetContainerDto'
assetVisitEvents:
type: array
items:
$ref: '#/components/schemas/SpotGridAssetVisitEventDto'
required:
- id
- orgId
- warehouseId
- visitType
- company
- companyHint
- phone
- isPlanned
- licensePlate
- dotNumber
- companyId
- checkInAcknowledged
- createDateTime
- lastChangedDateTime
- appointment
- assetContainers
- assetVisitEvents
SpotGridAssignmentDto:
type: object
properties:
id:
type: string
format: uuid
spotId:
type: string
format: uuid
createDateTime:
type: string
format: date-time
lastChangedDateTime:
type: string
format: date-time
observation:
type: object
nullable: true
assetVisitId:
type: object
format: uuid
nullable: true
assetContainerId:
type: object
format: uuid
nullable: true
assetVisit:
description: Populated when the assignment targets an asset visit (truck / attached).
nullable: true
allOf:
- $ref: '#/components/schemas/SpotGridAssetVisitDto'
assetContainer:
description: Populated when the assignment targets a standalone container only.
nullable: true
allOf:
- $ref: '#/components/schemas/SpotGridAssetContainerDto'
required:
- id
- spotId
- createDateTime
- lastChangedDateTime
- observation
- assetVisitId
- assetContainerId
- assetVisit
- assetContainer
YardViewOpenMoveTaskChildEntityRefDto:
type: object
properties:
id:
type: string
format: uuid
required:
- id
YardViewOpenMoveTaskChildRefsDto:
type: object
properties:
originSpot:
$ref: '#/components/schemas/YardViewOpenMoveTaskChildEntityRefDto'
destinationSpot:
$ref: '#/components/schemas/YardViewOpenMoveTaskChildEntityRefDto'
assetContainer:
$ref: '#/components/schemas/YardViewOpenMoveTaskChildEntityRefDto'
YardViewOpenMoveTaskRefDto:
type: object
properties:
id:
type: string
format: uuid
refNum:
type: string
description: 'Display ref number (e.g. Tasks #123)'
role:
type: string
enum:
- origin
- destination
description: 'origin: move task tied to assigned container on this spot; destination: task tied via spot reserve
on this spot'
child:
description: Child move-task refs used by clients that resolve spot/container links through nested child ids.
allOf:
- $ref: '#/components/schemas/YardViewOpenMoveTaskChildRefsDto'
required:
- id
- refNum
- role
SpotGridItemDto:
type: object
properties:
id:
type: string
format: uuid
code:
type: string
type:
type: string
description: SpotType enum
isActive:
type: boolean
description: Spot open vs closed. With a container on `spotAssignments[0]`, UI can derive move-task lock (see @nova/core
isSpotLocked).
spotAreaId:
type: string
format: uuid
description: Parent spot area id
createDateTime:
type: string
format: date-time
lastChangedDateTime:
type: string
format: date-time
spotReserves:
description: 'Active reserves for this spot (BFF loads active only). UI: isSpotReserved = spotReserves.length >
0.'
type: array
items:
$ref: '#/components/schemas/YardViewSpotReserveRefDto'
spotAssignments:
description: At most one assignment for the grid cell; empty when unassigned.
type: array
items:
$ref: '#/components/schemas/SpotGridAssignmentDto'
openMoveTask:
description: Active move task when tied to this spot (reserve or assigned container).
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewOpenMoveTaskRefDto'
required:
- id
- code
- type
- isActive
- spotAreaId
- createDateTime
- lastChangedDateTime
- spotReserves
- spotAssignments
- openMoveTask
SpotGridAreaDto:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
warehouseId:
type: string
format: uuid
description: Warehouse this spot area belongs to (same for all areas in this response).
orgId:
type: string
format: uuid
description: Organization scope for this spot area.
spots:
type: array
items:
$ref: '#/components/schemas/SpotGridItemDto'
required:
- id
- name
- warehouseId
- orgId
- spots
SpotGridResponseDto:
type: object
properties:
areas:
type: array
items:
$ref: '#/components/schemas/SpotGridAreaDto'
required:
- areas
YardViewWaitingQueueResponseDto:
type: object
properties:
assets:
type: array
items:
oneOf:
- $ref: '#/components/schemas/YardViewWaitingVisitRowDto'
- $ref: '#/components/schemas/YardViewWaitingContainerRowDto'
discriminator:
propertyName: kind
required:
- assets
YardViewSpotRefDto:
type: object
properties:
id:
type: string
format: uuid
code:
type: string
description: Spot code (display / yard label)
spotAreaId:
type: string
format: uuid
description: Owning spot area id for presenter hydration
required:
- id
- code
YardViewSpotAreaRefDto:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
required:
- id
- name
ListViewAssetVisitCarrierRefDto:
type: object
properties:
id:
type: object
format: uuid
nullable: true
companyId:
type: object
format: uuid
nullable: true
company:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewCompanyRefDto'
required:
- id
- companyId
- company
ListViewAssetContainerEventDto:
type: object
properties:
createDateTime:
type: string
format: date-time
nullable: true
eventType:
type: string
enum:
- Arrived
- Loading
- Loading Complete
- Unloading
- Unloading Complete
- Ready for Pickup
- Departed
- Inoperable
- Missing
nullable: true
assetVisitId:
type: object
format: uuid
nullable: true
assetVisit:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewAssetVisitCarrierRefDto'
required:
- createDateTime
- eventType
- assetVisitId
- assetVisit
ListViewUserRefDto:
type: object
properties:
id:
type: object
format: uuid
nullable: true
companyId:
type: object
format: uuid
nullable: true
company:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewCompanyRefDto'
required:
- id
- companyId
- company
ListViewAppointmentPresenterDto:
type: object
properties:
id:
type: object
format: uuid
nullable: true
userId:
type: object
format: uuid
nullable: true
user:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewUserRefDto'
refNumber:
type: object
nullable: true
confirmationNumber:
type: object
nullable: true
required:
- id
- userId
- user
- refNumber
- confirmationNumber
ListViewAssetContainerDto:
type: object
properties:
id:
type: string
format: uuid
code:
type: object
description: Container code / trailer number
nullable: true
type:
type: string
enum:
- Trailer
- Container
- Oversized
- Chassis
- Reefer
- Other
nullable: true
state:
type: string
enum:
- Full
- Empty
- Partially Loaded
nullable: true
status:
type: string
enum:
- Arrived
- Loading
- Loading Complete
- Unloading
- Unloading Complete
- Ready for Pickup
- Departed
- Inoperable
- Missing
nullable: true
company:
description: Container owner
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewCompanyRefDto'
createDateTime:
type: string
format: date-time
nullable: true
assetContainerEvents:
type: array
items:
$ref: '#/components/schemas/ListViewAssetContainerEventDto'
dropAppointment:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewAppointmentPresenterDto'
pickupAppointment:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewAppointmentPresenterDto'
notes:
type: object
description: Free-form notes on the asset container
nullable: true
required:
- id
- code
- type
- state
- status
- company
- createDateTime
- assetContainerEvents
- dropAppointment
- pickupAppointment
- notes
ListViewAssetVisitDto:
type: object
properties:
id:
type: string
format: uuid
company:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewCompanyRefDto'
phone:
type: object
nullable: true
visitType:
type: string
enum:
- LiveUnload
- LiveLoad
- Live
- Drop
- PickUp
- DropHook
- Unknown
nullable: true
arrivedAt:
type: string
format: date-time
nullable: true
createDateTime:
type: string
format: date-time
nullable: true
isPlanned:
type: boolean
required:
- id
- company
- phone
- visitType
- arrivedAt
- createDateTime
- isPlanned
ListViewAppointmentDto:
type: object
properties:
id:
type: object
format: uuid
nullable: true
identifier:
type: object
nullable: true
refNumber:
type: object
nullable: true
confirmationNumber:
type: object
nullable: true
isPlanned:
type: boolean
required:
- id
- identifier
- refNumber
- confirmationNumber
- isPlanned
ListViewAppointmentRefDto:
type: object
properties:
id:
type: object
format: uuid
nullable: true
refNumber:
type: object
nullable: true
confirmationNumber:
type: object
nullable: true
required:
- id
- refNumber
- confirmationNumber
CustomFormDataItemDto:
type: object
properties:
objectId:
type: string
format: uuid
formFieldId:
type: object
format: uuid
label:
type: string
value:
type: object
type:
type: string
enum:
- str
- bigstr
- date
- bool
- doc
- multidoc
- int
- email
- phone
- dropdown
- dropdownmultiselect
- combobox
- timestamp
- action
required:
- objectId
- label
- type
ListViewRowDto:
type: object
properties:
id:
type: string
format: uuid
description: Container ID, or visit ID when visit has no containers
isWaiting:
type: boolean
description: Whether this asset is waiting for assignment vs parked on a spot
spot:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewSpotRefDto'
spotArea:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewSpotAreaRefDto'
spotReserves:
description: Active spot reserves when row is parked on a spot (empty when waiting). Same shape as spot-grid; derive
reserved as length > 0.
type: array
items:
$ref: '#/components/schemas/YardViewSpotReserveRefDto'
assetArrivedAt:
type: string
format: date-time
nullable: true
assetContainer:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewAssetContainerDto'
assetVisit:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewAssetVisitDto'
appointment:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewAppointmentDto'
dropAppointmentCompany:
description: Company that dropped this container
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewCompanyRefDto'
pickupAppointmentCompany:
description: Company scheduled to pick up this container
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewCompanyRefDto'
dropoffAppointment:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewAppointmentRefDto'
pickupAppointment:
nullable: true
allOf:
- $ref: '#/components/schemas/ListViewAppointmentRefDto'
openMoveTask:
nullable: true
allOf:
- $ref: '#/components/schemas/YardViewOpenMoveTaskRefDto'
customFormData:
description: Custom form data entries for this container
type: array
items:
$ref: '#/components/schemas/CustomFormDataItemDto'
required:
- id
- isWaiting
- spot
- spotArea
- spotReserves
- assetArrivedAt
- assetContainer
- assetVisit
- appointment
- dropAppointmentCompany
- pickupAppointmentCompany
- dropoffAppointment
- pickupAppointment
- openMoveTask
- customFormData
ListViewResponseDto:
type: object
properties:
rows:
type: array
items:
$ref: '#/components/schemas/ListViewRowDto'
required:
- rows
YardViewSpotDetailAssetContainerItemDto:
type: object
properties:
id:
type: string
format: uuid
code:
type: object
type:
type: string
enum:
- Trailer
- Container
- Oversized
- Chassis
- Reefer
- Other
pickupAppointmentId:
type: object
format: uuid
dropAppointmentId:
type: object
format: uuid
required:
- id
SpotDetailResponseDto:
type: object
properties:
spot:
type: object
description: 'Full spot for drawer: core fields, spotReserves, spotAssignments[0] with visit/container'
openMoveTask:
description: Active move task for this spot when present (same shape as spot-grid / list-rows)
allOf:
- $ref: '#/components/schemas/YardViewOpenMoveTaskRefDto'
arrivalContainers:
description: When assignment has assetVisit without appointment (unplanned)
type: array
items:
$ref: '#/components/schemas/YardViewSpotDetailAssetContainerItemDto'
containersWithSamePickupAppointment:
description: Containers with same pickup appointment as the visit
type: array
items:
$ref: '#/components/schemas/YardViewSpotDetailAssetContainerItemDto'
containersWithSameDropAppointment:
description: Containers with same drop appointment as the visit
type: array
items:
$ref: '#/components/schemas/YardViewSpotDetailAssetContainerItemDto'
required:
- spot
GetManyWarehouseGroupResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/WarehouseGroup'
count:
type: number
total:
type: number
page:
type: number
pageCount:
type: number
required:
- data
- count
- total
- page
- pageCount
WarehouseGroup:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
CreateWarehouseGroupDto:
type: object
properties:
tags:
type: object
name:
type: string
warehouseIds:
type: array
items:
type: string
required:
- name
- warehouseIds
UpdateWarehouseGroupDto:
type: object
properties:
tags:
type: object
name:
type: string
warehouseIds:
type: array
items:
type: string
required:
- name
- warehouseIds
UpdateSamlConfigDto:
type: object
properties: {}
GatesByWarehouseDto:
type: object
properties:
data:
type: array
items:
type: string
required:
- data
VehicleObservation:
type: object
properties:
id:
type: string
description: The unique identifier of the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
createDateTime:
format: date-time
type: string
description: The date and time when the record was created
example: '2023-10-01T12:00:00Z'
readOnly: true
createdBy:
type: object
description: The ID of the user who created the record
example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
readOnly: true
lastChangedDateTime:
format: date-time
type: string
description: The date and time when the record was last changed
example: '2023-10-01T12:00:00Z'
readOnly: true
required:
- id
- createDateTime
- createdBy
- lastChangedDateTime
ObservationCreateAssetVisitDto:
type: object
properties:
tags:
type: object
ObservationCreateAssetVisitResponse:
type: object
properties: {}
AuditLog:
type: object
properties: {}
MetricsAppointmentVolumeByLoadTypeResponse:
type: object
properties:
data:
type: object
example:
MyLoadType:
sunday: 0
monday: 3
tuesday: 2
wednesday: 5
thursday: 7
friday: 5
saturday: 0
AnotherLoadType:
sunday: 0
monday: 2
tuesday: 3
wednesday: 2
thursday: 5
friday: 4
saturday: 0
required:
- data
MetricsAppointmentVolumeByTimeOfDayResponse:
type: object
properties:
data:
type: object
example:
'8': '1'
'9': '1'
'10': '2'
'11': '2'
'13': '4'
'14': '4'
'15': '3'
'16': '3'
required:
- data
MetricsAppointmentVolumeByDateResponse:
type: object
properties:
data:
type: object
example:
05/16/2023: '1'
05/30/2023: '1'
06/02/2023: '1'
06/09/2023: '2'
required:
- data
MetricsAppointmentVolumeByCarrierResponse:
type: object
properties:
data:
type: object
example:
Raphael: '5'
Josh: '7'
Mike: '3'
required:
- data
MetricsAverageDurationByLoadTypeResponse:
type: object
properties:
data:
type: object
example:
MyLoadType: 36
AnotherLoadType: 20
required:
- data
MetricsAppointmentVolumeByDayOfWeekResponse:
type: object
properties:
data:
type: object
example:
MyDock:
sunday: 0
monday: 6
tuesday: 2
wednesday: 3
thursday: 7
friday: 3
saturday: 0
AlternativeDock:
sunday: 0
monday: 2
tuesday: 2
wednesday: 1
thursday: 3
friday: 2
saturday: 0
required:
- data
MetricsAppointmentVolumeByStatusResponse:
type: object
properties:
data:
type: object
example:
Scheduled: '6'
Arrived: '2'
Completed: '5'
NoShow: '1'
Cancelled: '0'
required:
- data
MetricsAppointmentVolumeByStatusByDockResponse:
type: object
properties:
data:
type: object
example:
MyDock:
Scheduled: '6'
Arrived: '2'
Completed: '5'
NoShow: '1'
Cancelled: '0'
AlternativeDock:
Scheduled: '1'
Arrived: '2'
Completed: '2'
NoShow: '1'
Cancelled: '0'
required:
- data
AppointmentMetricsDto:
type: object
properties: {}
AppointmentMetricsListDto:
type: object
properties:
limit:
type: number
dockIds:
type: array
items:
type: string
loadTypeIds:
type: array
items:
type: string
carrierIds:
type: array
items:
type: string
tags:
type: array
items:
type: string
dateField:
type: object
appointmentTypes:
type: array
items:
type: string
allCarriers:
type: boolean
exportFields:
type: array
items:
type: string
skipCustomFields:
type: boolean
YardExportDataDto:
type: object
properties: {}
AssetVisitExcelExportDto:
type: object
properties:
warehouseIds:
type: array
items:
type: string
carrierIds:
type: array
items:
type: string
statuses:
type: array
items:
type: string
enum:
- Arrived
- Docked
- Departed
- Canceled
fromDate:
type: string
toDate:
type: string
dateField:
type: string
enum:
- checkInDate
- checkOutDate
exportFields:
type: array
items:
type: string
AppointmentMetricsCapacityDto:
type: object
properties:
dockIds:
type: array
items:
type: string
WarehouseMetricsDto:
type: object
properties: {}
MetricsCarrierStatusPercentageResponse:
type: object
properties:
data:
type: object
example:
list:
- id: 2968b3b1-ffe0-4005-8114-7c584e0893f6
name: Carrier 1
scac: 99M
appointmentIds:
- 6eae2369-9c29-4f23-b091-24d831112b9f
- c66fef39-66ea-4249-8c67-23ecf6710ba3
totalAppointments: '2'
totalLateAppointments: '0'
totalOnTimeAppointments: '1'
totalNoShowAppointments: '0'
totalRescheduledAppointments: '0'
totalCancelledAppointments: '1'
onTimePct: '50.0'
latePct: '0.0'
noShowPct: '0.0'
rescheduledPct: '0.0'
cancelPct: '50.0'
avgCancelLeadTimeInMinutes: '-149.2320333333333333'
- id: 3c36909b-1a09-462f-99e1-a9152b3306d0
name: Carrier2
scac: 98M
appointmentIds:
- 0a5cc02a-fdda-4645-8b7c-3097ec6b5a16
- 27de0365-b6fc-4cdc-a586-a2a3a1b3036b
- 29b270d5-4148-4a0b-9439-30fd9a7329ac
- 315e19d0-574d-4f55-8728-c4c3fba71c1c
- 89c390b7-9e78-4852-b67d-db4250a27256
- a8fa27d4-f441-4f5c-8dc5-9c1e1dd213f1
totalAppointments: '11'
totalLateAppointments: '5'
totalOnTimeAppointments: '0'
totalNoShowAppointments: '2'
totalRescheduledAppointments: '1'
totalCancelledAppointments: '0'
onTimePct: '0.0'
latePct: '45.5'
noShowPct: '18.2'
rescheduledPct: '9.1'
cancelPct: '0.0'
avgCancelLeadTimeInMinutes: null
total:
totalCarriers: 2
totalAppointments: 13
avgAppointmentsPerCarrier: 6
totalOnTimeAppointments: 1
totalLateAppointments: 5
totalNoShowAppointments: 2
totalRescheduledAppointments: 1
totalCancelledAppointments: 1
onTimePct: '7.7'
latePct: '38.5'
cancelPct: '7.7'
noShowPct: '15.4'
rescheduledPct: '7.7'
avgCancelLeadTimeInMinutes: -75
required:
- data
MetricsDockDwellTimeResponse:
type: object
properties:
data:
type: object
example:
day:
Dock2:
Tuesday: 45
Friday: 30
MyDock:
Monday: 30
Tuesday: 45
all:
Dock2: 45
MyDock: 45
required:
- data
MetricsCountsAppointmentCountForDocksResponse:
type: object
properties:
data:
type: object
example:
- dock_id: c09e393a-0916-444a-a1a8-4e605a07618e
count: 72
required:
- data
MetricsCountsAppointmentCountForCarrierResponse:
type: object
properties:
data:
type: object
example:
- org_name: My carrier org name
appointmentCount: 45
required:
- data
MetricsCountsReserveCountForUserResponse:
type: object
properties:
data:
type: object
example:
reserveCount: 3
required:
- data
LoadTypeMetricsDto:
type: object
properties: {}
AppointmentMetricsListV2Dto:
type: object
properties:
dockIds:
type: array
items:
type: string
loadTypeIds:
type: array
items:
type: string
carrierIds:
type: array
items:
type: string
tags:
type: array
items:
type: string
dateField:
type: object
appointmentTypes:
type: array
items:
type: string
allCarriers:
type: boolean
exportFields:
type: array
items:
type: string
skipCustomFields:
type: boolean
MetricsAppointmentListResponse:
type: object
properties: {}
AssetVisitMetricsListDto:
type: object
properties:
warehouseIds:
type: array
items:
type: string
carrierIds:
type: array
items:
type: string
statuses:
type: array
items:
type: string
enum:
- Arrived
- Docked
- Departed
- Canceled
fromDate:
type: string
toDate:
type: string
dateField:
type: string
enum:
- checkInDate
- checkOutDate
page:
type: number
pageSize:
type: number
exportFields:
type: array
items:
type: string
required:
- page
- pageSize
CreateBolRequestDto:
type: object
properties:
appointmentId:
type: string
format: uuid
documentUrl:
type: string
required:
- appointmentId
- documentUrl
CreateBolResponseDto:
type: object
properties:
id:
type: string
format: uuid
required:
- id
GetBolResponseDto:
type: object
properties:
id:
type: string
format: uuid
originalDoc:
type: object
properties:
originalDocId:
type: string
format: uuid
externalKey:
type: string
signedDoc:
type: object
properties:
id:
type: string
format: uuid
externalKey:
type: string
signedAt:
type: string
format: date-time
nullable: true
description: Date when the BOL was signed
required:
- id
- originalDoc
- signedDoc
- signedAt