Green Screens AI Quotes API

Quotes service v2 — list quotes, import and batch import. Spec version 2.0.0, 3 paths. NOT a superset of v1: the accept, reject, update, delete, shipper-search and lane-top-quotes operations live only in v1.

Operations 3

GET /quotes Get quotes #
POST /quotes/import Import a quote #
POST /quotes/batch/import Import quotes in a batch #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/green-screens-ai-quotes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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.

OpenAPI Specification

green-screens-ai-quotes-api-openapi.yml Raw ↑
# harvested: 2026-09-12
# method: searched
# source: https://connect.greenscreens.ai/quotes/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: Quotes
  version: 2.0.0
  description: >-
    Quotes service v2


    Older version of this api exists. <a href="/quotes/v1/swagger/index.html" target="_blank">View v1 here</a>
  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: Quotes
    description: Endpoints to create, get and update quotes
paths:
  /quotes:
    get:
      tags:
        - Quotes
      summary: Get quotes
      description: Get quotes
      operationId: quotesGetAll
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: createdDateFrom
          description: \'quote created date >= value\' filter
          schema:
            type: string
            format: date
            example: "2019-09-30"
        - in: query
          name: createdDateTo
          description: \'quote created date <= value\' filter
          schema:
            type: string
            format: date
            example: "2019-12-30"
        - in: query
          name: page
          description: |
            The page to return items from. 
            Used for pagination
          schema:
            type: integer
            minimum: 0
            default: 0
            example: 5
        - in: query
          name: perPage
          description: |
            The amount of items per page. 
            Used for pagination
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 20
            example: 30
        - in: query
          name: currency
          schema:
            $ref: "#/components/schemas/Currency"
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/QuotesResponse"
        "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
        "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
        "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
  /quotes/import:
    post:
      tags:
        - Quotes
      summary: Import a quote
      description: Import an external quote
      operationId: quotesImport
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/QuotesImportRequest"
        required: true
      responses:
        "201":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/QuotesImportResponse"
        "400":
          $ref: "#/paths/~1quotes/get/responses/400"
        "401":
          $ref: "#/paths/~1quotes/get/responses/401"
        "403":
          $ref: "#/paths/~1quotes/get/responses/403"
        "422":
          $ref: "#/paths/~1quotes/get/responses/422"
        "429":
          $ref: "#/paths/~1quotes/get/responses/429"
        "500":
          $ref: "#/paths/~1quotes/get/responses/500"
  /quotes/batch/import:
    post:
      tags:
        - Quotes
      summary: Import quotes in a batch
      description: Import quotes in a batch
      operationId: quotesBatchImport
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/QuotesBatchImportRequest"
        required: true
      responses:
        "201":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/QuotesBatchImportResponse"
        "400":
          $ref: "#/paths/~1quotes/get/responses/400"
        "401":
          $ref: "#/paths/~1quotes/get/responses/401"
        "403":
          $ref: "#/paths/~1quotes/get/responses/403"
        "422":
          $ref: "#/paths/~1quotes/get/responses/422"
        "429":
          $ref: "#/paths/~1quotes/get/responses/429"
        "500":
          $ref: "#/paths/~1quotes/get/responses/500"
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    QuotesResponse:
      type: object
      description: Object containing an array of quotes
      properties:
        pagination:
          type: object
          description: Response pagination data
          properties:
            page:
              type: integer
              description: The number of the currently returned page
              minimum: 0
              example: 12
            perPage:
              type: integer
              description: The maximum number of items per page
              minimum: 1
              maximum: 500
              example: 20
          required:
            - page
            - perPage
        items:
          type: array
          description: Array of quotes
          items:
            $ref: "#/components/schemas/QuoteObject"
      required:
        - pagination
        - items
    QuotePatchRequest:
      type: object
      properties:
        status:
          $ref: "#/components/schemas/QuoteStatus"
        wasViewed:
          type: boolean
          description: |
            States whether the quote was viewed by a broker after being 
            accepted or rejected by a customer.
          example: false
        rejectionReason:
          type: string
          description: Comment about why the quote was rejected
          example: Customer rejected, because price was too high
        expirationDateTime:
          type: string
          format: date-time
          description: Quote expiration date and time in time zone of the user
          example: "2020-10-12T16:00:00+05:00"
    QuoteFullUpdateRequest:
      type: object
      properties:
        shipper:
          $ref: "#/components/schemas/Shipper"
        userEmail:
          type: string
          description: Email of the user who will be the owner/creator of the quote
          example: buddy@greenscreens.ai
        transportTypeGroup:
          type: string
          enum:
            - VAN
            - REEFER
            - FLATBED
            - HOTSHOT
          description: Transport type group
          example: VAN
        stops:
          type: array
          items:
            $ref: "#/components/schemas/StopInput"
        distance:
          type: number
          format: float
          description: Distance of the route (in miles)
          example: 289
        expirationDateTime:
          type: string
          format: date-time
          description: Quote expiration date and time in time zone of the user
          example: "2020-10-12T16:00:00+05:00"
        pickupDateTime:
          type: string
          format: date-time
          description: Related load pickup date
          example: "2020-10-13T16:00:00Z"
        deliveredDateTime:
          type: string
          format: date-time
          description: Related load delivery date
          example: "2020-10-14T16:00:00Z"
        weight:
          type: number
          format: float
          description: Total cargo weight in lb
          example: 22000
        costs:
          $ref: "#/components/schemas/CostsInput"
        currency:
          $ref: "#/components/schemas/Currency"
      required:
        - userEmail
        - transportTypeGroup
        - stops
        - pickupDateTime
        - shipper
        - costs
    QuoteObject:
      type: object
      description: Object representing a quote in our system
      properties:
        id:
          type: integer
          format: int64
          description: Id of the quote. Specific to our system and unique for every quote.
          example: 12345
        key:
          type: string
          description: Unique key used to create a link to the quote in the platform
          example: afd124faf-12raf-qfa2q-afvawf
        quoteId:
          type: string
          description: Unique quote id from the customers system
          example: Q#54321
        loadId:
          type: string
          description: Id of the load associated with this quote
          example: "12345"
        userEmail:
          type: string
          description: Email of the user who is the owner/creator of the quote
          example: buddy@greenscreens.ai
        transportType:
          type: string
          description: Transport type (original transport type used in provider TMS)
          example: VR
        transportTypeGroup:
          $ref: "#/components/schemas/TransportTypeGroup"
        stops:
          $ref: "#/components/schemas/Stops"
        distance:
          type: number
          format: float
          description: Distance of the route (in miles)
          example: 289
        pickupDateTime:
          type: string
          format: date-time
          description: Related load pickup date
          example: "2020-09-14T16:00:00Z"
        deliveredDateTime:
          type: string
          format: date-time
          description: Related load delivery date
          example: "2020-09-14T16:00:00Z"
        expirationDateTime:
          type: string
          format: date-time
          description: Expiration date and time in UTC time zone
          example: "2020-09-14T16:00:00Z"
        quoteDateTime:
          type: string
          format: date-time
          description: When the quote was sent to the customer
          example: "2020-10-13T16:00:00Z"
        defaultedQuoteDateTime:
          type: string
          format: date-time
          description: |
            Same as `quoteDateTime` but defaulted to `createdDateTime`, 
            if `quoteDateTime` is not available 
          example: "2020-09-14T16:00:00Z"
        createdDateTime:
          type: string
          format: date-time
          description: Quote creation date
          example: "2020-09-14T16:00:00Z"
        status:
          $ref: "#/components/schemas/QuoteStatus"
        weight:
          type: number
          format: float
          description: Total cargo weight in lb
          example: 22000
        predictions:
          $ref: "#/components/schemas/Predictions"
        wasViewed:
          type: boolean
          description: |
            Signifies whether the quote was viewed by a broker after being 
            accepted or rejected by a customer.
          example: false
        rejectionReason:
          type: string
          description: Comment about why the quote was rejected
          example: Rejecting, because price is too high
        shipper:
          $ref: "#/components/schemas/Shipper"
        pricingType:
          type: string
          description: >
            How this shipment was priced to the shipper according to your
            methodology 

            (Primary, Backup, Spot, Spot_api, Spot_EDI, Primary_cost_plus, etc.)
          example: SPOT
        pricingTypeGroup:
          $ref: "#/components/schemas/PricingTypeGroup"
        contractDuration:
          type: integer
          description: Contract duration in weeks, if applicable
          example: 5
        numberOfLoads:
          type: integer
          description: |
            Number of loads on the lane quoted or won:
            * for the day if a spot quote
            * for the duration of the contract if a primary or backup quote
          example: 10
        costs:
          $ref: "#/components/schemas/Costs"
        currency:
          type: string
          description: >
            Currency of any monetary fields in this object (Three letter code,
            ISO 4217)
          example: USD
        notes:
          type: string
          description: |
            Optional free-text notes associated with this quote
          example: Do not dispatch before Monday
      required:
        - id
        - key
        - userEmail
        - transportTypeGroup
        - stops
        - pickupDateTime
        - defaultedQuoteDateTime
        - createdDateTime
        - status
        - wasViewed
        - costs
        - currency
    Costs:
      type: object
      description: >
        Quote costs. 


        **Linehaul cost and either total cost or acessorials have to be provided 

        for this object to be valid.**
      properties:
        linehaul:
          type: number
          description: Flat linehaul cost that the customer was quoted
          example: 1200
        accessorials:
          $ref: "#/components/schemas/Accessorials"
        total:
          type: number
          description: |
            Flat total cost that the customer was quoted 
            (linehaul + accessorials)
          example: 1500
      required:
        - linehaul
        - accessorials
        - total
    CostsInput:
      type: object
      description: >
        Quote costs. 


        **Linehaul cost and either total cost or acessorials have to be provided 

        for this object to be valid.**
      properties:
        linehaul:
          type: number
          description: Flat linehaul cost that the customer was quoted
          example: 1200
        accessorials:
          $ref: "#/components/schemas/AccessorialsInput"
        total:
          type: number
          description: |
            Flat total cost that the customer was quoted 
            (linehaul + accessorials)
          example: 1500
      required:
        - linehaul
    Accessorials:
      type: array
      description: Quote accessorial list
      items:
        $ref: "#/components/schemas/Accessorial"
    Accessorial:
      type: object
      description: Contains the quote accessorial information e.g. name and cost
      properties:
        name:
          type: string
          description: Accessorial name
          example: Overweight
        cost:
          type: number
          description: Flat accessorial cost
          example: 200.5
      required:
        - name
        - cost
    AccessorialsInput:
      type: array
      description: Quote accessorial list
      items:
        $ref: "#/components/schemas/AccessorialInput"
    AccessorialInput:
      type: object
      description: Contains the quote accessorial information e.g. name and cost
      nullable: true
      properties:
        name:
          type: string
          description: Accessorial name
          example: Overweight
        cost:
          type: number
          description: Flat accessorial cost
          example: 200.5
      required:
        - name
        - cost
    Stops:
      type: array
      description: Quote stop list
      minItems: 2
      items:
        $ref: "#/components/schemas/Stop"
      example:
        - order: 0
          address:
            country: US
            city: Red Bluff
            state: CA
            zip: "96080"
            type: CITY
          type: LOAD
          appointmentDateTime: "2020-10-13T16:00:00Z"
        - order: 1
          address:
            country: US
            city: Redding
            state: CA
            zip: "96002"
            type: ZIP
          type: UNLOAD
          appointmentDateTime: "2020-10-14T16:00:00Z"
    StopsInputLaneTopQuotes:
      type: array
      description: Quote stop list
      minItems: 2
      items:
        $ref: "#/components/schemas/StopInputLaneTopQuotes"
      example:
        - order: 0
          address:
            country: US
            city: Red Bluff
            state: CA
            zip: "96080"
        - order: 1
          address:
            country: US
            city: Redding
            state: CA
            zip: "96002"
    Stop:
      type: object
      description: Contains the quote stop information e.g. address
      properties:
        order:
          type: integer
          description: Stop order, starting from 0
          example: 0
        address:
          $ref: "#/components/schemas/Address"
        type:
          type: string
          description: |
            Action performed with the cargo at this stop
          enum:
            - LOAD
            - UNLOAD
            - BOTH
          example: LOAD
        appointmentDateTime:
          type: string
          format: date-time
          description: |
            Date and time when the truck has to arrive at this stop
          example: "2020-10-13T16:00:00Z"
      required:
        - order
        - address
    StopInput:
      type: object
      description: Contains the stop information e.g. address
      properties:
        order:
          type: integer
          description: Stop order, starting from 0
          example: 0
        address:
          type: object
          description: >
            Location specified by country, city, state and zip code.

            * Country is required

            * Either city-state pair or zip code is required

            * All four parameters can be passed together


            (in case of city-state pair our platform will determine the zip code

            and in case of a zip code, our platform will determine the city and the state)
          properties:
            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
            zip:
              type: string
              description: Zip
              example: "12345"
          required:
            - country
        type:
          type: string
          description: |
            Action performed with the cargo at this stop.

            Leave this field empty if you do not know the stop type.
          enum:
            - LOAD
            - UNLOAD
            - BOTH
          example: LOAD
        appointmentDateTime:
          type: string
          format: date-time
          description: |
            Date and time when the truck has to arrive at this stop.

            Provide the time zone of the stop location if possible.
          example: "2020-10-13T16:00:00Z"
      required:
        - order
        - address
    StopInputLaneTopQuotes:
      type: object
      description: Contains the quote stop information e.g. address
      properties:
        order:
          type: integer
          description: Stop order, starting from 0
          example: 0
        address:
          $ref: "#/components/schemas/AddressInputLaneTopQuotes"
      required:
        - order
        - address
    Address:
      type: object
      description: >
        Location specified by country, city, state and zip code.

        * Country is required

        * Either city-state pair or zip code is required

        * All four parameters can be passed together


        (in case of city-state pair our platform will determine the zip code

        and in case of a zip code, our platform will determine the city and the state)
      properties:
        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
        zip:
          type: string
          description: zip
          example: "12345"
        type:
          type: string
          enum:
            - CITY
            - ZIP
          example: ZIP
          description: Type of address. Defaults to ZIP if not provided.
          default: ZIP
      required:
        - country
        - type
    AddressInput:
      type: object
      description: >
        Location specified by country, city, state and zip code.

        * Country is required

        * Either city-state pair or zip code is required

        * All four parameters can be passed together


        (in case of city-state pair our platform will determine the zip code

        and in case of a zip code, our platform will determine the city and the state)
      properties:
        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
        zip:
          type: string
          description: zip
          example: "12345"
      required:
        - country
    AddressInputLaneTopQuotes:
      type: object
      description: |
        Location specified by country, city, state and zip code
      properties:
        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
        zip:
          type: string
          description: zip
          example: "12345"
      required:
        - country
        - state
        - city
        - zip
    Shipper:
      type: object
      description: Shipper data
      properties:
        id:
          type: string
          description: Customer TMS ID of the shipper profile associated with this quote
          example: "64378901"
        name:
          type: string
          description: Shipper company name
          example: Walmart
        phone:
          type: string
          description: Shipper contact phone number
          example: "4112228888"
        email:
          type: string
          description: Shipper contact email
          example: test@greenscreens.ai
    Predictions:
      type: object
      description: |
        Predictions made for this quote.

        The fields in this object are populated asynchronously,
        so there might be a period in time when you will not see any values.
      properties:
        company:
          type: object
          description: Company specific predictions
          properties:
            buy:
              type: object
              description: Buy cost related properties
              properties:
                target:
                  type: number
                  description: Flat buy cost that our system would suggest to use for buying such
                    a load
                  example: 1200
                start:
                  type: number
                  description: Flat buy cost that our system would suggest to use as the lower
                    limit during bargaining with the carrier
                  example: 1200
                high:
                  type: number
                  description: Flat buy cost that our system would suggest to use as the upper
                    limit during bargaining with the carrier
                  example: 1200
                confidenceLevel:
                  type: integer
                  minimum: 0
                  maximum: 100
                  description: |
                    How confident the system is in the prediction it is making. 

                    From 0 - lowest possible confidence\
                    To 100 - highest possible confidence
                  example: 65
            sell:
              type: object
              description: Sell cost related properties
              properties:
                target:
                  type: number
                  description: Flat sell cost that our system would suggest to use for this quote
                  example: 1200
        network:
          type: object
          description: Network predictions
          properties:
            buy:
              type: object
              description: Buy cost related properties
              properties:
                target:
                  type: number
                  description: Flat buy cost that our system would suggest to use for buying such
                    a load
                  example: 1200
                confidenceLevel:
                  type: integer
                  minimum: 0
                  maximum: 100
                  description: |
                    How confident the system is in the prediction it is making. 

                    From 0 - lowest possible confidence\
                    To 100 - highest possible confidence
                  example: 65
        distance:
          type: number
          format: float
          description: Distance of the route (in miles)
          example: 289
    QuotesImportRequest:
      type: object
      description: A body of the request to import a quote
      properties:
        quoteId:
          type: string
          description: |
            Unique quote id from the customers system. 

            If a quote with the same quoteId will be found in our platform, 
            it will be updated. Otherwise a new quote will be created
          example: Q#54321
        loadId:
          type: string
          description: Id of the load associated with this quote
          example: "12345"
        userEmail:
          type: string
          description: Email of the user who will be the owner/creator of the quote
          example: buddy@greenscreens.ai
        transportType:
          type: string
          description: Transport type (original transport type used in provider TMS)
          example: VR
        transportTypeGroup:
          $ref: "#/components/schemas/TransportTypeGroup"
        stops:
          type: array
          items:
            $ref: "#/components/schemas/StopInput"
        distance:
          type: number
          format: float
          description: Distance of the route (in miles)
          example: 289
        pickupDateTime:
          type: string
          format: date-time
          description: Related load pickup date
          example: "2020-10-13T16:00:00Z"
        deliveredDateTime:
          type: string
          format: date-time
          description: Related load delivery date
          example: "2020-10-14T16:00:00Z"
        expirationDateTime:
          type: string
          format: date-time
          description: Quote expiration date and time in time zone of the user
          example: "2020-10-12T16:00:00+05:00"
        quoteDateTime:
          type: string
          format: date-time
          description: When the quote was sent to the customer
          example: "2020-10-13T16:00:00Z"
        status:
          $ref: "#/components/schemas/QuoteStatus"
        rejectionReason:
          type: string
          description: Comment about why the quote was rejected
          example: Rejecting, because price is too high
        weight:
          type: number
          format: float
          description: Total cargo weight in lb
          example: 22000
        shipper:
          $ref: "#/components/schemas/Shipper"
        pricingType:
          type: string
          description: >
            How this shipment was priced to the shipper according to your
            methodology 

            (Primary, Backup, Spot, Spot_api, Spot_EDI, Primary_cost_plus, etc.)
          example: SPOT
        pricingTypeGroup:
          $ref: "#/components/schemas/PricingTypeGroup"
        contractDuration:
          type: integer
          description: Contract duration in weeks, if applicable
          example: 5
        numberOfLoads:
          type: integer
          description: |
            Number of loads on the lane quoted or won:
            * for the day if a spot quote
            * for the duration of the contract if a primary or backup quote
          example: 10
        costs:
          $ref: "#/components/schemas/CostsInput"
        currency:
          $ref: "#/components/schemas/Currency"
      required:
        - quoteId
        - userEmail
        - transportType
        - transportTypeGroup
        - stops
        - pickupDateTime
        - status
        - shipper
        - pricingType
        - pricingTypeGroup
        - costs
        - currency
    QuotesImportResponse:
      type: object
      description: Quote import response
      properties:
        status:
          type: string
          enum:
            - CREATED
            - UPDATED
          description: |
            Quote creation status. 
            * CREATED - a new quote was created
            * UPDATED - an existing quote was updated
          example: CREATED
      required:
        - status
    QuotesBatchImportRequest:
      type: object
      properties:
        quotes:
          type: array
          description: List of quotes to import
          items:
            $ref: "#/components/schemas/QuotesImportRequest"
          maxItems: 1000
      required:
        - quotes
    QuotesBatchImportResponse:
      type: object
      properties:
        responses:
          type: array
          description: List of quote import responses
          items:
            $ref: "#/components/schemas/QuotesBatchImportResponseItem"
      required:
        - responses
    QuotesBatchImportResponseItem:
      type: object
      description: |
        Response for this particular quote import attempt
      properties:
        quoteId:
          type: string
          description: Unique quote id from the customers system

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/green-screens-ai/refs/heads/main/openapi/green-screens-ai-quotes-api-openapi.yml