Green Screens AI Pricing API
Pricing service v1 — priority rules, combination rules and threshold rules (full CRUD each), 3PL pricing, and marketplace broker partners. Spec version 1.1.0, 8 paths. The largest service surface.
Pricing service v1 — priority rules, combination rules and threshold rules (full CRUD each), 3PL pricing, and marketplace broker partners. Spec version 1.1.0, 8 paths. The largest service surface.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/green-screens-ai-pricing-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
# harvested: 2026-09-12
# method: searched
# source: https://connect.greenscreens.ai/pricing/v1/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: Pricing
version: 1.1.0
description: Pricing service v1
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: Pricing
description: Pricing related endpoints
paths:
/pricing/priority-rules:
post:
tags:
- Pricing
summary: Create a priority rule
description: Create a priority rule
operationId: pricingPriorityRulesCreate
security:
- bearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PricingPriorityRuleRequest"
required: true
responses:
"201":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PriorityRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
get:
tags:
- Pricing
summary: Get priority rules
description: Get priority rules
operationId: pricingPriorityRulesGetAll
security:
- bearerAuth: []
parameters:
- in: query
name: pricingTypeGroup
schema:
$ref: "#/components/schemas/PricingRuleGroup"
required: false
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PricingPriorityRulesResponse"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
description: Forbidden
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
examples:
error403Example:
value:
code: access_forbidden
message: Access is forbidden
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
"/pricing/priority-rules/{ruleId}":
get:
tags:
- Pricing
summary: Get a priority rule
description: Get a priority rule
operationId: pricingPriorityRuleGet
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the priority rule to get
schema:
type: integer
format: int64
example: 12345
required: true
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PriorityRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
put:
tags:
- Pricing
summary: Update a priority rule
description: Update a priority rule
operationId: pricingPriorityRuleUpdate
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the priority rule to update
required: true
schema:
type: integer
format: int64
example: 12345
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PricingPriorityRuleRequest"
required: true
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PriorityRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
delete:
tags:
- Pricing
summary: Delete a priority rule
description: Delete a priority rule
operationId: pricingPriorityRuleDelete
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the priority rule to delete
schema:
type: integer
format: int64
example: 12345
required: true
responses:
"204":
description: Success
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
/pricing/combination-rules:
post:
tags:
- Pricing
summary: Create a combination rule
description: Create a combination rule
operationId: pricingCombinationRuleCreate
security:
- bearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PricingCombinationRuleRequest"
required: true
responses:
"201":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/CombinationRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
get:
tags:
- Pricing
summary: Get combination rules
description: Get combination rules
operationId: pricingCombinationRulesGetAll
security:
- bearerAuth: []
parameters:
- in: query
name: pricingTypeGroup
schema:
$ref: "#/components/schemas/PricingRuleGroup"
required: false
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PricingCombinationRulesResponse"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
"/pricing/combination-rules/{ruleId}":
get:
tags:
- Pricing
summary: Get a combination rule
description: Get a combination rule
operationId: pricingCombinationRuleGet
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the combination rule to get
schema:
type: integer
format: int64
example: 12345
required: true
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/CombinationRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
put:
tags:
- Pricing
summary: Update a combination rule
description: Update a combination rule
operationId: pricingCombinationRuleUpdate
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the combination rule to update
required: true
schema:
type: integer
format: int64
example: 12345
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PricingCombinationRuleRequest"
required: true
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/CombinationRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
delete:
tags:
- Pricing
summary: Delete a combination rule
description: Delete a combination rule
operationId: pricingCombinationRuleDelete
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the combination rule to delete
schema:
type: integer
format: int64
example: 12345
required: true
responses:
"204":
description: Success
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
/pricing/threshold-rules:
post:
tags:
- Pricing
summary: Create a threshold rule
description: Create a min/max threshold rule
operationId: pricingThresholdRulesCreate
security:
- bearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PricingThresholdRuleRequest"
required: true
responses:
"201":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/ThresholdRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
get:
tags:
- Pricing
summary: Get threshold rules
description: Get min/max threshold rules
operationId: pricingThresholdRulesGetAll
security:
- bearerAuth: []
parameters:
- in: query
name: pricingTypeGroup
schema:
$ref: "#/components/schemas/PricingRuleGroup"
required: false
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PricingThresholdRulesResponse"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
"/pricing/threshold-rules/{ruleId}":
get:
tags:
- Pricing
summary: Get a threshold rule
description: Get a min/max threshold rule
operationId: pricingThresholdRuleGet
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the threshold rule to get
schema:
type: integer
format: int64
example: 12345
required: true
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/ThresholdRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
put:
tags:
- Pricing
summary: Update a threshold rule
description: Update a min/max threshold rule
operationId: pricingThresholdRuleUpdate
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the threshold rule to update
required: true
schema:
type: integer
format: int64
example: 12345
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PricingThresholdRuleRequest"
required: true
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/ThresholdRule"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
delete:
tags:
- Pricing
summary: Delete a threshold rule
description: Delete a min/max threshold rule
operationId: pricingThresholdRuleDelete
security:
- bearerAuth: []
parameters:
- in: path
name: ruleId
description: Id of the threshold rule to delete
schema:
type: integer
format: int64
example: 12345
required: true
responses:
"204":
description: Success
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"403":
$ref: "#/paths/~1pricing~1priority-rules/get/responses/403"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
/pricing/tpl-pricing:
post:
tags:
- Pricing
summary: Calculate pricing, based on TPL data
description: >
Returns all pricing suggestions: statistical, rule related, etc.
intended for TPL pricing and calculated using TPL data.
Most of the fields in the request and response are optional.
Response fields are related to request fields e.g. if you do not provide
the customer name in the request, there will be no customer related
pricing data in the response, and the pricing rules that use customer name predicates
will not be found.
To get the most possible data in the response, provide all the data you can
in the request. However if for example you only need customer related pricing data,
you can provide only the customer name in the request.
Also note that if providing addresses,
origin and destination country is required.
The state code can be provided without city and zip,
and the city name can be provided without a zip code,
and the zip code can be provided without a city or a state.
This will also affect what kind of rules are found and what statistical data
is calculated and returned.
Parameter notes:
* __region__ - defaults to ZIP if not provided
operationId: pricingTplPricing
security:
- bearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PricingRequest"
required: true
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PricingResponse"
"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
"404":
description: Item not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
examples:
error404Example:
value:
code: item_not_found
message: Item not found
"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
/pricing/marketplace/my-broker-partners:
post:
tags:
- Pricing
summary: Get sell rates of partner brokers
description: |
Intended to be used by a shipper-broker marketplace (a.k.a Shipper TMS).
Returns a list of brokers that confirmed that they want to work with
the marketplace that is requesting the rates.
Each broker in the list will contain a sell rate that they are
willing to move the load for
operationId: pricingMarketplaceMyBrokerPartners
security:
- bearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PricingMarketplaceMyBrokerPartnersRequest"
required: true
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PricingMarketplaceMyBrokerPartnersResponse"
"400":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/400"
"401":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/401"
"404":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/404"
"422":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/422"
"424":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/424"
"429":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/429"
"500":
$ref: "#/paths/~1pricing~1tpl-pricing/post/responses/500"
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
PricingStatistics:
type: object
description: Statistical pricing percentages based on your historical load data
properties:
average:
type: number
description: Average pricing percentage
example: 11
minimum:
type: number
description: Minimum pricing percentage
example: 10
maximum:
type: number
description: Maximum pricing percentage
example: 13
required:
- average
- minimum
- maximum
PricingStatisticsCalculation:
type: object
description: |
Contains historical pricing statistics
and if possible a calculated `targetSellCost`
properties:
pricing:
$ref: "#/components/schemas/PricingStatistics"
targetSellCost:
type: number
example: 1250
description: |
Flat target sell cost calculated by applying the rule
to the provided flat buy cost
required:
- pricing
PricingPriorityRuleRequest:
type: object
properties:
name:
type: string
description: Name of the rule
example: Customer`s rule
priority:
type: integer
description: Priority of the rule
example: 3
active:
type: boolean
description: Status of the rule
example: false
conditions:
$ref: "#/components/schemas/RuleRequestConditions"
effects:
$ref: "#/components/schemas/PriorityRuleEffectsInput"
pricingTypeGroup:
$ref: "#/components/schemas/PricingRuleGroup"
required:
- name
- priority
- active
- conditions
- effects
RuleRequestConditions:
type: object
description: |
Conditions in which this rule is applicable.
When multuple conditions are provided the rule is only applied
if all of them are met.
properties:
commodity:
type: array
description: >
List of commodities to which the rule is applicable.
At least one commodity from this list has to match for the rule to apply
items:
type: string
example:
- Apples
confidenceLevel:
$ref: "#/components/schemas/ConfidenceLevelRange"
customers:
type: array
description: >
List of customers to which the rule is applicable.
At least one customer from this list has to match for the rule to apply.
items:
type: string
description: Customer name
example:
- LTR and Co
- CocaCola
- Walmart
lanes:
type: array
description: |
List of lanes to which the rule is applicable.
At least one lane from this list has to match for the rule to apply.
items:
$ref: "#/components/schemas/RuleRequestLane"
lengthOfHaul:
$ref: "#/components/schemas/LengthOfHaulRange"
matchingTime:
$ref: "#/components/schemas/MatchingTimeRange"
transitTime:
$ref: "#/components/schemas/TransitTimeRange"
transportTypes:
type: array
maxItems: 3
description: >
List of transport types to which the rule is applicable.
At least one transport type from this list has to match for the rule to apply
items:
$ref: "#/components/schemas/TransportType"
users:
type: array
description: |
List of users to whom the rule is applicable.
At least one user from this list has to match for the rule to apply
items:
type: string
weight:
$ref: "#/components/schemas/WeightRange"
stopsCount:
$ref: "#/components/schemas/StopsCountRange"
mileageDifference:
$ref: "#/components/schemas/MileageDifferenceRange"
volumeFrequency:
$ref: "#/components/schemas/VolumeFrequency"
loadingTypes:
type: array
maxItems: 4
description: >
List of loading types (load/unload methods) to which the rule is
applicable.
At least one loading type from this list has to match for the rule to apply.
items:
$ref: "#/components/schemas/LoadingType"
contractLength:
$ref: "#/components/schemas/ContractLengthRange"
dateCondition:
$ref: "#/components/schemas/DateCondition"
RuleRequestLane:
type: object
description: A lane that the rule is applicable to
properties:
origins:
$ref: "#/components/schemas/RuleRequestLocations"
destinations:
$ref: "#/components/schemas/RuleRequestLocations"
required:
- origins
- destinations
RuleRequestLocations:
type: array
description: A list of locations that the rule is applicable to
items:
$ref: "#/components/schemas/RuleRequestLocation"
example:
- type: ANYWHERE
- type: STATE
country: US
state: IL
- type: CITY
country: US
state: IL
city: Chicago
- type: MARKET
country: US
marketCode: NY_ALB
RuleRequestLocation:
type: object
description: Lane stop
properties:
type:
type: string
enum:
- ANYWHERE
- STATE
- CITY
- MARKET
example: ANYWHERE
description: |
The location type.
For type ANYWHERE no fields are required.
For type STATE - "country" and "state" fields are required.
For type CITY - "country", "state" and "city" fields are required.
For type MARKET - "country" and "marketCode" fields are required.
country:
type: string
description: Two letter country code in ISO 3166-1 alpha-2 format
example: US
state:
type: string
description: State
example: NY
city:
type: string
description: City
example: Schenectady
marketCode:
type: string
description: Market code
example: NY_ALB
required:
- type
PriorityRuleCalculation:
type: object
description: |
Contains an applicable priority rule
and if possible a calculated `targetSellCost`
properties:
rule:
$ref: "#/components/schemas/PriorityRule"
targetSellCost:
type: number
example: 1250
description: |
Flat target sell cost calculated by applying the rule
to the provided flat buy cost
required:
- rule
PricingCombinationRuleRequest:
type: object
properties:
name:
type: string
description: Name of the rule
example: Customer`s rule
active:
type: boolean
description: Status of the rule
# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/green-screens-ai/refs/heads/main/openapi/green-screens-ai-pricing-api-openapi.yml