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