# harvested: 2026-09-12 # method: searched # source: https://connect.greenscreens.ai/prediction/v2/openapi.yaml # note: >- # Verbatim first-party OpenAPI served from the provider's own documentation host connect.greenscreens.ai. Ownership confirmed: info.contact.email support@greenscreens.ai, x-logo static.greenscreens.ai, servers[] api.greenscreens.ai; termsOfService points at triumph.io because Triumph Financial acquired Greenscreens.ai (closed 2025) and the product now ships as Triumph Intelligence. openapi: 3.0.2 info: title: Prediction version: 2.5.3 description: >- Prediction service v2 #### This is an old api and it will be deprecated soon. View latest version - v3, here x-logo: url: https://static.greenscreens.ai/main-logo.svg backgroundColor: "#fafafa" altText: Triumph Intelligence termsOfService: https://triumph.io/terms-of-service/ contact: name: API Support email: support@greenscreens.ai url: https://connect.intelligence.triumph.io tags: - name: Prediction description: Prediction endpoints paths: /prediction/rates: post: tags: - Prediction summary: Lane rate prediction description: > The method provides target Buy and Sell rate for particular lane with supported information security: - bearerAuth: [] operationId: predictionRates parameters: - $ref: "#/components/parameters/UserHeader" requestBody: content: application/json: schema: $ref: "#/components/schemas/PredictionRatesRequest" required: true responses: "200": description: Rate with supported numbers content: application/json: schema: $ref: "#/components/schemas/PredictionRatesResponse" "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/Error" examples: error400Example: value: code: missing_required_parameter message: Your request was missing a {par_name} parameter "401": description: Unauthenticated "403": description: Forbidden content: application/json: schema: $ref: "#/components/schemas/Error" examples: error403Example: value: code: access_forbidden message: Access is forbidden "422": description: Unprocessable Entity with multiple errors. content: application/json: schema: $ref: "#/components/schemas/Error422UnprocessableEntityMulti" examples: error422MultiExample: value: code: request_validation message: You have one or more errors in request structure errors: - field: carrierName message: field contains wrong data type (int), should be string value: "22" - field: shipperId message: "shipperId: must not be null" value: null - field: loadSource.loadId message: "loadId: must not be null" value: null "424": description: Failed Dependency. content: application/json: schema: $ref: "#/components/schemas/Error" examples: error424Example: value: code: distance_calculation_error message: "Unable to calculate distance between zips {key}, reason: {exc}" "429": description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/Error" examples: error429TooManyRequests: value: code: too_many_requests message: Request limit exceeded "500": description: Unhandled server error content: application/json: schema: $ref: "#/components/schemas/Error" examples: error500Example: value: code: internal_error message: Internal server error components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: PredictionRatesRequest: type: object properties: shipperId: type: string description: shipper ID example: "3887121" deprecated: true pickupDateTime: type: string format: date-time description: load pick up date and time in TZ of pick up location deliveryDateTime: type: string format: date-time description: load delivery date and time in TZ of drop off deprecated: true transportType: type: string enum: - VAN - REEFER - FLATBED - HOTSHOT stops: $ref: "#/components/schemas/RateStopArray" loadDetails: $ref: "#/components/schemas/RateLoadDetailsObject" tag: type: string description: tag for prediction identification example: "1234" required: - pickupDateTime - stops - transportType PredictionRatesResponse: type: object properties: targetBuyRate: type: number description: buy flat rate for requested lane with included fuel $/mi example: 2.24 startBuyRate: type: number description: starting price for Buy rate $/mi example: 2.07 lowBuyRate: type: number description: low border for Buy rate $/mi example: 2.11 highBuyRate: type: number description: high border for Buy rate $/mi example: 2.5 fuelRate: type: number description: Fuel surcharge for load $/mi example: 0.33 miles: type: number description: total miles for trip example: 289 deprecated: true distance: type: number description: total distance for trip in miles example: 289 targetSellRate: type: number example: 2.44 description: sell flat rate for requested lane and shipper $/mi lowSellRate: type: number description: low border for Buy rate $/mi example: 2.36 highSellRate: type: number description: high border for Sell rate $/mi example: 2.68 confidenceLevel: type: integer description: quantitative description of provided rate from 100 (highest) to 0 (lowest) example: 65 minimum: 0 maximum: 100 confidenceLevelString: type: string enum: - HIGH - MEDIUM - LOW - EXTREMELY_LOW description: quantitative description of provided rate HIGH, MEDIUM, LOW, EXTREMELY_LOW example: HIGH deprecated: true tag: type: string description: tag for prediction identification example: "1234" required: - targetBuyRate - startBuyRate - lowBuyRate - highBuyRate - miles - confidenceLevel RateStopArray: type: array description: list of load stops minItems: 2 items: $ref: "#/components/schemas/RateStop" example: - order: 0 country: US city: Chicago state: IL zip: "60611" - order: 1 country: US city: Dallas state: TX zip: "75204" RateStop: type: object description: location specified by address or geopoint properties: order: description: stop order, start from 0 type: integer example: 0 city: type: string state: type: string zip: type: string streetAddress: type: string deprecated: true latitude: type: number format: double deprecated: true longitude: type: number format: double deprecated: true example: order: 1 country: US city: Chicago state: IL zip: "60611" required: - city - state - zip - order RateLoadDetailsObject: type: object properties: commodity: type: string description: commodity discription in free form example: Racks quantity: type: integer description: total unit quantity example: 20 deprecated: true weight: description: total cargo weight in lb type: number format: float example: 22000 deprecated: true length: description: total cargo lenght in feet type: number format: float example: 40.2 deprecated: true width: description: total load width in feet type: number format: float example: 4.6 deprecated: true height: description: total load height in feet type: number format: float example: 5.5 deprecated: true temperature: type: number format: float description: temperature control in fahrenheit example: 32.1 deprecated: true miles: type: number format: float description: distance between origin and destination example: 322.13 deprecated: true Error: type: object description: A common api error object properties: code: type: string description: unique string identifier of the error message: type: string description: human readable error message required: - code - message example: code: invalid_request message: Your ClientId is invalid Error422UnprocessableEntityMulti: type: object properties: code: type: string message: type: string errors: type: array description: list of errors items: type: object description: Request validation error properties: field: type: string description: Name of the field that did not pass validation example: transportType message: type: string description: Human readable error mesage explaining why validation failed example: SpaceXDragon transportType is not supported. Valid values are [VAN, FLATBED, ...] value: type: string nullable: true description: Value of the field that did not pass validation example: SpaceXDragon required: - field - message required: - code - message - errors example: code: request_validation message: You have one or more errors in request structure errors: - field: carrierName message: field contains wrong data type (int), should be string value: "22" - field: shipperId message: "shipperId: must not be null" value: null - field: loadSource.loadId message: "loadId: must not be null" value: null ResponseMessage: type: object properties: commonResponse: type: string x-enum-varnames: - not_readable_message - access_forbidden - item_not_found - request_timeout - request_validation - parse_error - internal_error - access_forbidden_companyId - method_not_allowed - missing_required_parameter enum: - "Body request is not readable : %s" - Access is forbidden - Item not found - Request timeout after {} sec - You have one or more errors in request structure - "Text '%s' could not be parsed in field: %s" - Internal server error - companyId in JWT token is not equals importCompanyId in request body - Method not allowed - Missing required parameter serviceResponse: type: string parameters: UserHeader: in: header name: X-GS-User schema: type: string description: | Currently logged in user. Used in cases where this information is not available in the token e.g. web-portable, api integration, etc. example: kalex@greenscreens.ai externalDocs: description: Triumph Intelligence url: https://intelligence.triumph.io servers: - url: https://testapi.greenscreens.ai/v2 description: Testing server (dev environment) - url: https://betaapi.greenscreens.ai/v2 description: Beta server (pre-production) - url: https://api.greenscreens.ai/v2 description: Production server (uses live data)