openapi: 3.0.3 info: title: DAT Freight & Analytics API (Modeled) BookNow Freight Posting API description: 'A modeled OpenAPI description of the DAT Freight & Analytics RESTful API suite exposed through the DAT Developer Portal (developer.dat.com). DAT operates the DAT One load board and RateView freight-rate benchmark and offers RESTful integrations for load posting and search, RateView rate lookups, BookNow instant booking, and shipment tracking, primarily for Transportation Management Systems (TMS) and freight platforms. IMPORTANT - MODELED: The developer portal is gated behind an account login (Redocly OIDC), so the exact base URLs, endpoint paths, request parameters, and response schemas below could NOT be confirmed against the live reference in this build. They are honestly modeled from DAT''s publicly documented capabilities (LoadSearch for postings, RateView for analytics) and its documented two-tier organization/user token authentication. The host names (identity.api.dat.com, freight.api.dat.com, analytics.api.dat.com) represent the plausible service split and should be reconciled against the portal once access is granted. Access is subscription-gated. RESTful integration requires a DAT One load board subscription plus a service (organization) account; RateView access requires a Combo Pro or Combo Premium subscription. CarrierWatch and OnBoard do not currently support RESTful API integration. Contact developersupport@dat.com for portal access.' version: 1.0-modeled contact: name: DAT Developer Support url: https://developer.dat.com/ email: developersupport@dat.com x-modeled: true x-endpointsModeled: true servers: - url: https://identity.api.dat.com description: Identity / token service (modeled host) - url: https://freight.api.dat.com description: Freight - load board, posting, BookNow, tracking (modeled host) - url: https://analytics.api.dat.com description: Analytics - RateView rate lookups (modeled host) security: - userToken: [] tags: - name: Freight Posting description: Create and manage load and truck postings. paths: /loadboard/v2/assets: get: operationId: listAssets tags: - Freight Posting summary: List load and truck postings (modeled) description: List the organization's current load and truck postings (assets). MODELED path. responses: '200': description: A list of postings. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Asset' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createAsset tags: - Freight Posting summary: Create a posting (modeled) description: Post a load or truck to the DAT One load board. MODELED path. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AssetInput' responses: '201': description: The created posting. content: application/json: schema: $ref: '#/components/schemas/Asset' '401': $ref: '#/components/responses/Unauthorized' /loadboard/v2/assets/{assetId}: parameters: - name: assetId in: path required: true schema: type: string delete: operationId: deleteAsset tags: - Freight Posting summary: Remove a posting (modeled) description: Remove a load or truck posting. MODELED path. responses: '204': description: Posting removed. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: responses: Unauthorized: description: Missing or invalid token. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Location: type: object properties: city: type: string stateProvince: type: string postalCode: type: string country: type: string AssetInput: type: object required: - assetType - origin - equipmentType properties: assetType: type: string enum: - LOAD - TRUCK origin: $ref: '#/components/schemas/Location' destination: $ref: '#/components/schemas/Location' equipmentType: type: string rate: type: number Asset: type: object properties: id: type: string assetType: type: string enum: - LOAD - TRUCK origin: $ref: '#/components/schemas/Location' destination: $ref: '#/components/schemas/Location' equipmentType: type: string rate: type: number postedWhen: type: string format: date-time Error: type: object properties: code: type: string message: type: string securitySchemes: userToken: type: http scheme: bearer bearerFormat: JWT description: User access token obtained from POST /access/v1/token/user, which itself requires an organization token from POST /access/v1/token/organization.