Green Screens AI Bids API

Carrier bids service v1 View separately Try it in swagger

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-bids-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

green-screens-ai-bids-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Triumph Intelligence Connect Analytics Bids API
  x-logo:
    url: https://static.greenscreens.ai/main-logo.svg
    backgroundColor: '#fafafa'
    altText: Triumph Intelligence
  description: "# Authentication\n\n\nTriumph Intelligence API offers OAuth2 Bearer JWT token based authentication.\n\n\nOAuth2 - an open protocol to allow secure authorization in a simple \nand standard method from web, mobile and desktop applications.\n\n\n# \n\n\n# \n\n\n# Direct link integration with Triumph Intelligence\n\nOne of the simplest ways to integrate Triumph Intelligence in to your app is by using the \ndirect link method.\n\nLink format:\n\n    https://intelligence.triumph.io/rates?originZip={}&destinationZip={}&transportType={}\n\n* originZip - 5 digit USA ZIP code of the origin point\n\n* destinationZip - 5 digit USA ZIP code of the destination point\n\n* transportType - one of supported equipment types VAN, REEFER or FLATBED\n\n* OPTIONAL: pickupDate - pickup date string in ISO format e.g. \"2022-04-06T08:00:00.000+03:00\" when not encoded\n\n* OPTIONAL: originCityState - city and state separated by a space symbol, signifying the origin point. \nCan be used instead of originZip if you do not have a zip code of the location. \n_Should not be used together with originZip._\n\n* OPTIONAL: destinationCityState - city and state separated by a space, signifying the destination point. \nCan be used instead of destinationZip if you do not have a zip code of the location. \n_Should not be used together with destinationZip._\n\n* OPTIONAL: customer - name of the customer company\n\n* OPTIONAL: commodity - description of the transported commodity\n\n* OPTIONAL: weight - weight of the load in lbs\n\n* OPTIONAL: deliveryDate - delivery date string in ISO format e.g. \"2022-04-06T08:00:00.000+03:00\" when not encoded\n\n* OPTIONAL: extraStops - any extra stops between origin and destination. Value is an array of strings with up to 10 elements\nin the format of `{order}_{type}_{country}_{address}` \ntypes are `{numbers 0-9}_{CITY or ZIP}_{US or CA}_{if ZIP then 5+ digits, if CITY then city state string separated by space}`\n\nExamples (don't forget to encode the url):\n\n    https://intelligence.triumph.io/rates?originZip=12345&destinationZip=62345&transportType=VAN\n\n    https://intelligence.triumph.io/rates?originCityState=Wausau%20WI&destinationCityState=Evansville%20IN&transportType=VAN\n\n    https://intelligence.triumph.io/rates?originZip=12345&destinationCityState=Evansville%20IN&transportType=VAN\n\n    https://intelligence.triumph.io/rates?originZip=12345&destinationZip=62345&extraStops=0_ZIP_US_28086&extraStops=1_CITY_US_Portland%20OR&transportType=VAN\n\nExample usage:\n\n    <button\n      onclick=\"location.href='https://intelligence.triumph.io/rates?destinationZip=62345&originZip=12345&transportType=VAN'\"\n      type=\"button\">Quote new lane\n    <button>\n\n\n# \n\n\n# \n\n\n# Services and endpoints\n\nThe most versatile (and involving the most work) way of integration is by using our API directly.\nBelow you can find a list of servises and endpoints available for usage.\n"
  version: 1.3.3
  termsOfService: https://triumph.io/terms-of-service/
  contact:
    name: API Support
    email: support@greenscreens.ai
    url: https://connect.intelligence.triumph.io
tags:
- name: Bids
  description: 'Carrier bids service v1


    <a href="/bids/v1/redoc/" target="_blank">View separately</a>


    <a href="/bids/v1/swagger/index.html" target="_blank">Try it in swagger</a>'
  x-displayName: Bids
paths:
  /bids:
    servers:
    - url: https://testapi.greenscreens.ai/v1
      description: Testing server (dev environment)
    - url: https://sandboxapi.greenscreens.ai/v1
      description: Sandbox server (as stable as production, but has no data)
    - url: https://api.greenscreens.ai/v1
      description: Production server (uses live data)
    post:
      tags:
      - Bids
      summary: Save bid
      description: Save bid
      security:
      - Bids_bearerAuth: []
      operationId: saveBid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bids_BidsRequest'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bids_BidResponse'
        '400':
          $ref: '#/paths/~1bids/get/responses/400'
        '401':
          $ref: '#/paths/~1bids/get/responses/401'
        '403':
          $ref: '#/paths/~1bids/get/responses/403'
        '422':
          $ref: '#/paths/~1bids/get/responses/422'
        '429':
          $ref: '#/paths/~1bids/get/responses/429'
        '500':
          $ref: '#/paths/~1bids/get/responses/500'
      x-codeSamples:
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'POST',\n  url: 'https://testapi.greenscreens.ai/v1/bids',\n  headers: {\n    'content-type': 'application/json',\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN'\n  },\n  body: {\n    userEmail: 'buddy@greenscreens.ai',\n    carrierName: 'CarrierCompany',\n    carrierMC: '888015',\n    carrierDOT: '87650005',\n    carrierEmail: 'carrier@mail.com',\n    carrierPhone: '4112228888',\n    origin: {country: 'US', state: 'NY', city: 'Schenectady', zip: '12345', type: 'ZIP'},\n    destination: {country: 'US', state: 'NY', city: 'Schenectady', zip: '12345', type: 'ZIP'},\n    extraStops: [\n      {\n        order: 0,\n        address: {country: 'US', zip: '96080'},\n        type: 'LOAD',\n        appointmentDateTime: '2020-10-14T16:00:00Z'\n      },\n      {\n        order: 1,\n        address: {country: 'US', city: 'Redding', state: 'CA'},\n        type: 'UNLOAD',\n        appointmentDateTime: '2020-10-15T16:00:00Z'\n      }\n    ],\n    transportType: 'VAN',\n    pickupDateTime: '2020-10-13T16:00:00Z',\n    deliveredDateTime: '2020-10-13T16:00:00Z',\n    bidDateTime: '2020-10-11T16:00:00Z',\n    bidCost: 1000.5,\n    loadProNumber: 'Pro#111111',\n    weight: 20000,\n    commodity: 'Steel racks',\n    brokerComment: 'Something a broker would comment',\n    carrierComment: 'Looks good',\n    currency: 'USD'\n  },\n  json: true\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Python + Requests
        source: "import requests\n\nurl = \"https://testapi.greenscreens.ai/v1/bids\"\n\npayload = {\n    \"userEmail\": \"buddy@greenscreens.ai\",\n    \"carrierName\": \"CarrierCompany\",\n    \"carrierMC\": \"888015\",\n    \"carrierDOT\": \"87650005\",\n    \"carrierEmail\": \"carrier@mail.com\",\n    \"carrierPhone\": \"4112228888\",\n    \"origin\": {\n        \"country\": \"US\",\n        \"state\": \"NY\",\n        \"city\": \"Schenectady\",\n        \"zip\": \"12345\",\n        \"type\": \"ZIP\"\n    },\n    \"destination\": {\n        \"country\": \"US\",\n        \"state\": \"NY\",\n        \"city\": \"Schenectady\",\n        \"zip\": \"12345\",\n        \"type\": \"ZIP\"\n    },\n    \"extraStops\": [\n        {\n            \"order\": 0,\n            \"address\": {\n                \"country\": \"US\",\n                \"zip\": \"96080\"\n            },\n            \"type\": \"LOAD\",\n            \"appointmentDateTime\": \"2020-10-14T16:00:00Z\"\n        },\n        {\n            \"order\": 1,\n            \"address\": {\n                \"country\": \"US\",\n                \"city\": \"Redding\",\n                \"state\": \"CA\"\n            },\n            \"type\": \"UNLOAD\",\n            \"appointmentDateTime\": \"2020-10-15T16:00:00Z\"\n        }\n    ],\n    \"transportType\": \"VAN\",\n    \"pickupDateTime\": \"2020-10-13T16:00:00Z\",\n    \"deliveredDateTime\": \"2020-10-13T16:00:00Z\",\n    \"bidDateTime\": \"2020-10-11T16:00:00Z\",\n    \"bidCost\": 1000.5,\n    \"loadProNumber\": \"Pro#111111\",\n    \"weight\": 20000,\n    \"commodity\": \"Steel racks\",\n    \"brokerComment\": \"Something a broker would comment\",\n    \"carrierComment\": \"Looks good\",\n    \"currency\": \"USD\"\n}\nheaders = {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://testapi.greenscreens.ai/v1/bids\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"userEmail\\\":\\\"buddy@greenscreens.ai\\\",\\\"carrierName\\\":\\\"CarrierCompany\\\",\\\"carrierMC\\\":\\\"888015\\\",\\\"carrierDOT\\\":\\\"87650005\\\",\\\"carrierEmail\\\":\\\"carrier@mail.com\\\",\\\"carrierPhone\\\":\\\"4112228888\\\",\\\"origin\\\":{\\\"country\\\":\\\"US\\\",\\\"state\\\":\\\"NY\\\",\\\"city\\\":\\\"Schenectady\\\",\\\"zip\\\":\\\"12345\\\",\\\"type\\\":\\\"ZIP\\\"},\\\"destination\\\":{\\\"country\\\":\\\"US\\\",\\\"state\\\":\\\"NY\\\",\\\"city\\\":\\\"Schenectady\\\",\\\"zip\\\":\\\"12345\\\",\\\"type\\\":\\\"ZIP\\\"},\\\"extraStops\\\":[{\\\"order\\\":0,\\\"address\\\":{\\\"country\\\":\\\"US\\\",\\\"zip\\\":\\\"96080\\\"},\\\"type\\\":\\\"LOAD\\\",\\\"appointmentDateTime\\\":\\\"2020-10-14T16:00:00Z\\\"},{\\\"order\\\":1,\\\"address\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Redding\\\",\\\"state\\\":\\\"CA\\\"},\\\"type\\\":\\\"UNLOAD\\\",\\\"appointmentDateTime\\\":\\\"2020-10-15T16:00:00Z\\\"}],\\\"transportType\\\":\\\"VAN\\\",\\\"pickupDateTime\\\":\\\"2020-10-13T16:00:00Z\\\",\\\"deliveredDateTime\\\":\\\"2020-10-13T16:00:00Z\\\",\\\"bidDateTime\\\":\\\"2020-10-11T16:00:00Z\\\",\\\"bidCost\\\":1000.5,\\\"loadProNumber\\\":\\\"Pro#111111\\\",\\\"weight\\\":20000,\\\"commodity\\\":\\\"Steel racks\\\",\\\"brokerComment\\\":\\\"Something a broker would comment\\\",\\\"carrierComment\\\":\\\"Looks good\\\",\\\"currency\\\":\\\"USD\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
    get:
      tags:
      - Bids
      summary: Get current user bids
      description: Get current user bids
      security:
      - Bids_bearerAuth: []
      operationId: getBids
      parameters:
      - in: query
        name: createdDateFrom
        description: bid created date >= value
        required: true
        schema:
          type: string
          format: date
          example: '2019-09-30'
      - in: query
        name: createdDateTo
        description: bid created date <= value
        schema:
          type: string
          format: date
          example: '2019-12-30'
      - in: query
        name: currency
        schema:
          type: string
          enum:
          - USD
          - CAD
          description: "Currency code in ISO 4217 format (three letter code, e.g. USD)\n\n_If not provided, defaults to the currency set in the profile \nof currently authenticated user (or currently authenticated company \nif there is no user or user profile setting)_\n"
          example: USD
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bids_BidsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bids_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/Bids_Error'
              examples:
                error403Example:
                  value:
                    code: access_forbidden
                    message: Access is forbidden
        '404':
          description: Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bids_Error'
              examples:
                error404Example:
                  value:
                    code: item_not_found
                    message: Item not found
        '422':
          description: Unprocessable Entity with multiple errors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    description: list of errors
                    items:
                      $ref: '#/components/schemas/Bids_RequestValidationError'
                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
              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/Bids_Error'
              examples:
                error429TooManyRequests:
                  value:
                    code: too_many_requests
                    message: Request limit exceeded
        '500':
          description: Unhandled server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bids_Error'
              examples:
                error500Example:
                  value:
                    code: internal_error
                    message: Internal server error
      x-codeSamples:
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://testapi.greenscreens.ai/v1/bids',\n  qs: {createdDateFrom: '2019-09-30', createdDateTo: '2019-12-30', currency: 'USD'},\n  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Python + Requests
        source: 'import requests


          url = "https://testapi.greenscreens.ai/v1/bids"


          querystring = {"createdDateFrom":"2019-09-30","createdDateTo":"2019-12-30","currency":"USD"}


          headers = {"Authorization": "Bearer REPLACE_BEARER_TOKEN"}


          response = requests.request("GET", url, headers=headers, params=querystring)


          print(response.text)'
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://testapi.greenscreens.ai/v1/bids?createdDateFrom=2019-09-30&createdDateTo=2019-12-30&currency=USD\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
  /bids/{bidId}:
    servers:
    - url: https://testapi.greenscreens.ai/v1
      description: Testing server (dev environment)
    - url: https://sandboxapi.greenscreens.ai/v1
      description: Sandbox server (as stable as production, but has no data)
    - url: https://api.greenscreens.ai/v1
      description: Production server (uses live data)
    patch:
      tags:
      - Bids
      summary: Update bid
      description: Update bid
      security:
      - Bids_bearerAuth: []
      operationId: updateBid
      parameters:
      - in: path
        name: bidId
        description: Id of the bid that you want updated
        required: true
        schema:
          type: integer
          format: int64
          example: 12345
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bids_BidsUpdateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bids_BidObject'
        '400':
          $ref: '#/paths/~1bids/get/responses/400'
        '401':
          $ref: '#/paths/~1bids/get/responses/401'
        '403':
          $ref: '#/paths/~1bids/get/responses/403'
        '404':
          $ref: '#/paths/~1bids/get/responses/404'
        '422':
          $ref: '#/paths/~1bids/get/responses/422'
        '429':
          $ref: '#/paths/~1bids/get/responses/429'
        '500':
          $ref: '#/paths/~1bids/get/responses/500'
      x-codeSamples:
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'PATCH',\n  url: 'https://testapi.greenscreens.ai/v1/bids/%7BbidId%7D',\n  headers: {\n    'content-type': 'application/json',\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN'\n  },\n  body: {\n    carrierName: 'CarrierCompany',\n    carrierMC: '888015',\n    carrierEmail: 'carrier@mail.com',\n    carrierPhone: '4112228888',\n    origin: {country: 'US', state: 'NY', city: 'Schenectady', zip: '12345', type: 'ZIP'},\n    destination: {country: 'US', state: 'NY', city: 'Schenectady', zip: '12345', type: 'ZIP'},\n    extraStops: [\n      {\n        order: 0,\n        address: {country: 'US', zip: '96080'},\n        type: 'LOAD',\n        appointmentDateTime: '2020-10-14T16:00:00Z'\n      },\n      {\n        order: 1,\n        address: {country: 'US', city: 'Redding', state: 'CA'},\n        type: 'UNLOAD',\n        appointmentDateTime: '2020-10-15T16:00:00Z'\n      }\n    ],\n    transportType: 'VAN',\n    pickupDateTime: '2020-10-13T16:00:00Z',\n    deliveredDateTime: '2020-10-13T16:00:00Z',\n    bidDateTime: '2020-10-11T16:00:00Z',\n    bidCost: 1000.5,\n    loadProNumber: 'Pro#111111',\n    weight: 20000,\n    commodity: 'Steel racks',\n    brokerComment: 'Something a broker would comment',\n    carrierComment: 'Looks good',\n    wasViewed: false,\n    currency: 'USD'\n  },\n  json: true\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Python + Requests
        source: "import requests\n\nurl = \"https://testapi.greenscreens.ai/v1/bids/%7BbidId%7D\"\n\npayload = {\n    \"carrierName\": \"CarrierCompany\",\n    \"carrierMC\": \"888015\",\n    \"carrierEmail\": \"carrier@mail.com\",\n    \"carrierPhone\": \"4112228888\",\n    \"origin\": {\n        \"country\": \"US\",\n        \"state\": \"NY\",\n        \"city\": \"Schenectady\",\n        \"zip\": \"12345\",\n        \"type\": \"ZIP\"\n    },\n    \"destination\": {\n        \"country\": \"US\",\n        \"state\": \"NY\",\n        \"city\": \"Schenectady\",\n        \"zip\": \"12345\",\n        \"type\": \"ZIP\"\n    },\n    \"extraStops\": [\n        {\n            \"order\": 0,\n            \"address\": {\n                \"country\": \"US\",\n                \"zip\": \"96080\"\n            },\n            \"type\": \"LOAD\",\n            \"appointmentDateTime\": \"2020-10-14T16:00:00Z\"\n        },\n        {\n            \"order\": 1,\n            \"address\": {\n                \"country\": \"US\",\n                \"city\": \"Redding\",\n                \"state\": \"CA\"\n            },\n            \"type\": \"UNLOAD\",\n            \"appointmentDateTime\": \"2020-10-15T16:00:00Z\"\n        }\n    ],\n    \"transportType\": \"VAN\",\n    \"pickupDateTime\": \"2020-10-13T16:00:00Z\",\n    \"deliveredDateTime\": \"2020-10-13T16:00:00Z\",\n    \"bidDateTime\": \"2020-10-11T16:00:00Z\",\n    \"bidCost\": 1000.5,\n    \"loadProNumber\": \"Pro#111111\",\n    \"weight\": 20000,\n    \"commodity\": \"Steel racks\",\n    \"brokerComment\": \"Something a broker would comment\",\n    \"carrierComment\": \"Looks good\",\n    \"wasViewed\": False,\n    \"currency\": \"USD\"\n}\nheaders = {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://testapi.greenscreens.ai/v1/bids/%7BbidId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"carrierName\\\":\\\"CarrierCompany\\\",\\\"carrierMC\\\":\\\"888015\\\",\\\"carrierEmail\\\":\\\"carrier@mail.com\\\",\\\"carrierPhone\\\":\\\"4112228888\\\",\\\"origin\\\":{\\\"country\\\":\\\"US\\\",\\\"state\\\":\\\"NY\\\",\\\"city\\\":\\\"Schenectady\\\",\\\"zip\\\":\\\"12345\\\",\\\"type\\\":\\\"ZIP\\\"},\\\"destination\\\":{\\\"country\\\":\\\"US\\\",\\\"state\\\":\\\"NY\\\",\\\"city\\\":\\\"Schenectady\\\",\\\"zip\\\":\\\"12345\\\",\\\"type\\\":\\\"ZIP\\\"},\\\"extraStops\\\":[{\\\"order\\\":0,\\\"address\\\":{\\\"country\\\":\\\"US\\\",\\\"zip\\\":\\\"96080\\\"},\\\"type\\\":\\\"LOAD\\\",\\\"appointmentDateTime\\\":\\\"2020-10-14T16:00:00Z\\\"},{\\\"order\\\":1,\\\"address\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Redding\\\",\\\"state\\\":\\\"CA\\\"},\\\"type\\\":\\\"UNLOAD\\\",\\\"appointmentDateTime\\\":\\\"2020-10-15T16:00:00Z\\\"}],\\\"transportType\\\":\\\"VAN\\\",\\\"pickupDateTime\\\":\\\"2020-10-13T16:00:00Z\\\",\\\"deliveredDateTime\\\":\\\"2020-10-13T16:00:00Z\\\",\\\"bidDateTime\\\":\\\"2020-10-11T16:00:00Z\\\",\\\"bidCost\\\":1000.5,\\\"loadProNumber\\\":\\\"Pro#111111\\\",\\\"weight\\\":20000,\\\"commodity\\\":\\\"Steel racks\\\",\\\"brokerComment\\\":\\\"Something a broker would comment\\\",\\\"carrierComment\\\":\\\"Looks good\\\",\\\"wasViewed\\\":false,\\\"currency\\\":\\\"USD\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
    delete:
      tags:
      - Bids
      summary: Delete bid
      description: Delete bid
      security:
      - Bids_bearerAuth: []
      operationId: deleteBid
      parameters:
      - in: path
        name: bidId
        description: Id of the bid that you want deleted
        required: true
        schema:
          type: integer
          format: int64
          example: 12345
      responses:
        '204':
          description: Success
        '400':
          $ref: '#/paths/~1bids/get/responses/400'
        '401':
          $ref: '#/paths/~1bids/get/responses/401'
        '403':
          $ref: '#/paths/~1bids/get/responses/403'
        '404':
          $ref: '#/paths/~1bids/get/responses/404'
        '429':
          $ref: '#/paths/~1bids/get/responses/429'
        '500':
          $ref: '#/paths/~1bids/get/responses/500'
      x-codeSamples:
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'DELETE',\n  url: 'https://testapi.greenscreens.ai/v1/bids/%7BbidId%7D',\n  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Python + Requests
        source: 'import requests


          url = "https://testapi.greenscreens.ai/v1/bids/%7BbidId%7D"


          headers = {"Authorization": "Bearer REPLACE_BEARER_TOKEN"}


          response = requests.request("DELETE", url, headers=headers)


          print(response.text)'
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://testapi.greenscreens.ai/v1/bids/%7BbidId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
  /bids/carriers:
    servers:
    - url: https://testapi.greenscreens.ai/v1
      description: Testing server (dev environment)
    - url: https://sandboxapi.greenscreens.ai/v1
      description: Sandbox server (as stable as production, but has no data)
    - url: https://api.greenscreens.ai/v1
      description: Production server (uses live data)
    get:
      tags:
      - Bids
      summary: Search carriers
      description: Search carriers
      security:
      - Bids_bearerAuth: []
      operationId: carrierInfo
      parameters:
      - in: query
        name: query
        description: 'Query string. Names are first checked using case insensitive startsWith  and then case insensitive contains.

          '
        schema:
          type: string
          example: Joe
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bids_CarrierInfoResponse'
        '400':
          $ref: '#/paths/~1bids/get/responses/400'
        '401':
          $ref: '#/paths/~1bids/get/responses/401'
        '403':
          $ref: '#/paths/~1bids/get/responses/403'
        '404':
          $ref: '#/paths/~1bids/get/responses/404'
        '422':
          $ref: '#/paths/~1bids/get/responses/422'
        '429':
          $ref: '#/paths/~1bids/get/responses/429'
        '500':
          $ref: '#/paths/~1bids/get/responses/500'
      x-codeSamples:
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://testapi.greenscreens.ai/v1/bids/carriers',\n  qs: {query: 'Joe'},\n  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Python + Requests
        source: 'import requests


          url = "https://testapi.greenscreens.ai/v1/bids/carriers"


          querystring = {"query":"Joe"}


          headers = {"Authorization": "Bearer REPLACE_BEARER_TOKEN"}


          response = requests.request("GET", url, headers=headers, params=querystring)


          print(response.text)'
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://testapi.greenscreens.ai/v1/bids/carriers?query=Joe\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
  /bids/accept:
    servers:
    - url: https://testapi.greenscreens.ai/v1
      description: Testing server (dev environment)
    - url: https://sandboxapi.greenscreens.ai/v1
      description: Sandbox server (as stable as production, but has no data)
    - url: https://api.greenscreens.ai/v1
      description: Production server (uses live data)
    post:
      tags:
      - Bids
      summary: Accept bid
      description: Accept bid
      operationId: acceptBid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bids_BidActionRequest'
        required: true
      responses:
        '204':
          description: Success
        '400':
          $ref: '#/paths/~1bids/get/responses/400'
        '401':
          $ref: '#/paths/~1bids/get/responses/401'
        '403':
          $ref: '#/paths/~1bids/get/responses/403'
        '404':
          $ref: '#/paths/~1bids/get/responses/404'
        '422':
          $ref: '#/paths/~1bids/get/responses/422'
        '429':
          $ref: '#/paths/~1bids/get/responses/429'
        '500':
          $ref: '#/paths/~1bids/get/responses/500'
      x-codeSamples:
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'POST',\n  url: 'https://testapi.greenscreens.ai/v1/bids/accept',\n  headers: {'content-type': 'application/json'},\n  body: {\n    key: 'c5d1cfa8-228b-11eb-adc1-0242ac120002',\n    bidCost: 1000.5,\n    carrierName: 'Carrierr Transportation',\n    carrierMC: '888015',\n    carrierComment: 'Looks good',\n    currency: 'USD'\n  },\n  json: true\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Python + Requests
        source: "import requests\n\nurl = \"https://testapi.greenscreens.ai/v1/bids/accept\"\n\npayload = {\n    \"key\": \"c5d1cfa8-228b-11eb-adc1-0242ac120002\",\n    \"bidCost\": 1000.5,\n    \"carrierName\": \"Carrierr Transportation\",\n    \"carrierMC\": \"888015\",\n    \"carrierComment\": \"Looks good\",\n    \"currency\": \"USD\"\n}\nheaders = {\"content-type\": \"application/json\"}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://testapi.greenscreens.ai/v1/bids/accept\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"key\\\":\\\"c5d1cfa8-228b-11eb-adc1-0242ac120002\\\",\\\"bidCost\\\":1000.5,\\\"carrierName\\\":\\\"Carrierr Transportation\\\",\\\"carrierMC\\\":\\\"888015\\\",\\\"carrierComment\\\":\\\"Looks good\\\",\\\"currency\\\":\\\"USD\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
  /bids/send:
    servers:
    - url: https://testapi.greenscreens.ai/v1
      description: Testing server (dev environment)
    - url: https://sandboxapi.greenscreens.ai/v1
      description: Sandbox server (as stable as production, but has

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