Green Screens AI TMS API

TmsConnector service v2 View separately Try it in swagger

OpenAPI Specification

green-screens-ai-tms-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Triumph Intelligence Connect Analytics TMS 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: TMS
  description: 'TmsConnector service v2


    <a href="/tmsconnector/v2/redoc/" target="_blank">View separately</a>


    <a href="/tmsconnector/v2/swagger/index.html" target="_blank">Try it in swagger</a>'
  x-displayName: TMS
paths:
  /tms/import-load:
    servers:
    - url: https://testapi.greenscreens.ai/v2
      description: Testing server (dev environment)
    - url: https://sandboxapi.greenscreens.ai/v2
      description: Sandbox server (as stable as production, but has no data)
    - url: https://api.greenscreens.ai/v2
      description: Production server (uses live data)
    post:
      tags:
      - TMS
      summary: Import load
      security:
      - TmsConnector_bearerAuth: []
      description: Import a new load or update an existing one
      operationId: tmsImportLoad
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TmsConnector_ImportLoadRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TmsConnector_ImportLoadResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TmsConnector_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/TmsConnector_Error'
              examples:
                error403Example:
                  value:
                    code: access_forbidden
                    message: Access is forbidden
        '422':
          description: Unprocessable Entity with multiple errors.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TmsConnector_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/TmsConnector_Error'
              examples:
                error429TooManyRequests:
                  value:
                    code: too_many_requests
                    message: Request limit exceeded
        '500':
          description: Unhandled server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TmsConnector_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: 'POST',\n  url: 'https://testapi.greenscreens.ai/v2/tms/import-load',\n  headers: {\n    'content-type': 'application/json',\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN'\n  },\n  body: {\n    loadId: '12345',\n    origin: {\n      country: 'US',\n      city: 'Sacramento',\n      state: 'CA',\n      zip: '95814',\n      appointmentDateTime: '2020-10-13T09:00:00Z',\n      scheduledAppointmentStartedAt: '2020-10-13T09:00:00Z',\n      scheduledAppointmentEndedAt: '2020-10-13T11:00:00Z',\n      arrivedAt: '2020-10-13T09:15:00Z',\n      departedAt: '2020-10-13T10:45:00Z'\n    },\n    destination: {\n      country: 'US',\n      city: 'Sacramento',\n      state: 'CA',\n      zip: '95814',\n      appointmentDateTime: '2020-10-13T09:00:00Z',\n      scheduledAppointmentStartedAt: '2020-10-13T09:00:00Z',\n      scheduledAppointmentEndedAt: '2020-10-13T11:00:00Z',\n      arrivedAt: '2020-10-13T09:15:00Z',\n      departedAt: '2020-10-13T10:45:00Z'\n    },\n    extraStops: [\n      {\n        order: 0,\n        address: {country: 'US', city: 'Red Bluff', state: 'CA', 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', zip: '96002'},\n        type: 'UNLOAD',\n        appointmentDateTime: '2020-10-15T16:00:00Z'\n      }\n    ],\n    rate: {\n      totalShipperLinehaulCost: 1176,\n      totalLinehaulCost: 956,\n      totalFuelCost: 45,\n      accessorials: [{name: 'Overweight', shipperCost: 200, carrierCost: 0}],\n      totalShipperCost: 1276,\n      totalCarrierCost: 1130,\n      currency: 'USD'\n    },\n    pickupDate: '2021-09-21T13:00:00-04:00',\n    deliveredDate: '2021-09-22T18:00:00-04:00',\n    transportType: 'VR',\n    transportTypeGroup: 'VAN',\n    transportMode: 'FTL',\n    status: 'OPEN',\n    details: {\n      distance: 434,\n      miles: 434,\n      commodity: 'Racks',\n      weight: 22000,\n      tenderedDate: '2020-01-11T16:00:00Z',\n      bookedDate: '2020-01-11T16:00:00Z',\n      tordFlag: false,\n      hazmat: false,\n      hotshot: false,\n      teamDrive: false,\n      overdimensional: false,\n      dedicatedCarrierContract: false,\n      asset: false,\n      pricingType: 'Spot',\n      pricingTypeGroup: 'SPOT',\n      carrierAccountManager: 'John Doe',\n      shipperAccountManager: 'John Doe',\n      salesManager: 'John Doe',\n      userGroupId: 'Main office',\n      office: 'Main office'\n    },\n    shipper: {id: '12345', name: 'Shipper company'},\n    carrier: {id: '12345', name: 'Carrier company'}\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/v2/tms/import-load\"\n\npayload = {\n    \"loadId\": \"12345\",\n    \"origin\": {\n        \"country\": \"US\",\n        \"city\": \"Sacramento\",\n        \"state\": \"CA\",\n        \"zip\": \"95814\",\n        \"appointmentDateTime\": \"2020-10-13T09:00:00Z\",\n        \"scheduledAppointmentStartedAt\": \"2020-10-13T09:00:00Z\",\n        \"scheduledAppointmentEndedAt\": \"2020-10-13T11:00:00Z\",\n        \"arrivedAt\": \"2020-10-13T09:15:00Z\",\n        \"departedAt\": \"2020-10-13T10:45:00Z\"\n    },\n    \"destination\": {\n        \"country\": \"US\",\n        \"city\": \"Sacramento\",\n        \"state\": \"CA\",\n        \"zip\": \"95814\",\n        \"appointmentDateTime\": \"2020-10-13T09:00:00Z\",\n        \"scheduledAppointmentStartedAt\": \"2020-10-13T09:00:00Z\",\n        \"scheduledAppointmentEndedAt\": \"2020-10-13T11:00:00Z\",\n        \"arrivedAt\": \"2020-10-13T09:15:00Z\",\n        \"departedAt\": \"2020-10-13T10:45:00Z\"\n    },\n    \"extraStops\": [\n        {\n            \"order\": 0,\n            \"address\": {\n                \"country\": \"US\",\n                \"city\": \"Red Bluff\",\n                \"state\": \"CA\",\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                \"zip\": \"96002\"\n            },\n            \"type\": \"UNLOAD\",\n            \"appointmentDateTime\": \"2020-10-15T16:00:00Z\"\n        }\n    ],\n    \"rate\": {\n        \"totalShipperLinehaulCost\": 1176,\n        \"totalLinehaulCost\": 956,\n        \"totalFuelCost\": 45,\n        \"accessorials\": [\n            {\n                \"name\": \"Overweight\",\n                \"shipperCost\": 200,\n                \"carrierCost\": 0\n            }\n        ],\n        \"totalShipperCost\": 1276,\n        \"totalCarrierCost\": 1130,\n        \"currency\": \"USD\"\n    },\n    \"pickupDate\": \"2021-09-21T13:00:00-04:00\",\n    \"deliveredDate\": \"2021-09-22T18:00:00-04:00\",\n    \"transportType\": \"VR\",\n    \"transportTypeGroup\": \"VAN\",\n    \"transportMode\": \"FTL\",\n    \"status\": \"OPEN\",\n    \"details\": {\n        \"distance\": 434,\n        \"miles\": 434,\n        \"commodity\": \"Racks\",\n        \"weight\": 22000,\n        \"tenderedDate\": \"2020-01-11T16:00:00Z\",\n        \"bookedDate\": \"2020-01-11T16:00:00Z\",\n        \"tordFlag\": False,\n        \"hazmat\": False,\n        \"hotshot\": False,\n        \"teamDrive\": False,\n        \"overdimensional\": False,\n        \"dedicatedCarrierContract\": False,\n        \"asset\": False,\n        \"pricingType\": \"Spot\",\n        \"pricingTypeGroup\": \"SPOT\",\n        \"carrierAccountManager\": \"John Doe\",\n        \"shipperAccountManager\": \"John Doe\",\n        \"salesManager\": \"John Doe\",\n        \"userGroupId\": \"Main office\",\n        \"office\": \"Main office\"\n    },\n    \"shipper\": {\n        \"id\": \"12345\",\n        \"name\": \"Shipper company\"\n    },\n    \"carrier\": {\n        \"id\": \"12345\",\n        \"name\": \"Carrier company\"\n    }\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/v2/tms/import-load\",\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 => \"{\\\"loadId\\\":\\\"12345\\\",\\\"origin\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Sacramento\\\",\\\"state\\\":\\\"CA\\\",\\\"zip\\\":\\\"95814\\\",\\\"appointmentDateTime\\\":\\\"2020-10-13T09:00:00Z\\\",\\\"scheduledAppointmentStartedAt\\\":\\\"2020-10-13T09:00:00Z\\\",\\\"scheduledAppointmentEndedAt\\\":\\\"2020-10-13T11:00:00Z\\\",\\\"arrivedAt\\\":\\\"2020-10-13T09:15:00Z\\\",\\\"departedAt\\\":\\\"2020-10-13T10:45:00Z\\\"},\\\"destination\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Sacramento\\\",\\\"state\\\":\\\"CA\\\",\\\"zip\\\":\\\"95814\\\",\\\"appointmentDateTime\\\":\\\"2020-10-13T09:00:00Z\\\",\\\"scheduledAppointmentStartedAt\\\":\\\"2020-10-13T09:00:00Z\\\",\\\"scheduledAppointmentEndedAt\\\":\\\"2020-10-13T11:00:00Z\\\",\\\"arrivedAt\\\":\\\"2020-10-13T09:15:00Z\\\",\\\"departedAt\\\":\\\"2020-10-13T10:45:00Z\\\"},\\\"extraStops\\\":[{\\\"order\\\":0,\\\"address\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Red Bluff\\\",\\\"state\\\":\\\"CA\\\",\\\"zip\\\":\\\"96080\\\"},\\\"type\\\":\\\"LOAD\\\",\\\"appointmentDateTime\\\":\\\"2020-10-14T16:00:00Z\\\"},{\\\"order\\\":1,\\\"address\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Redding\\\",\\\"state\\\":\\\"CA\\\",\\\"zip\\\":\\\"96002\\\"},\\\"type\\\":\\\"UNLOAD\\\",\\\"appointmentDateTime\\\":\\\"2020-10-15T16:00:00Z\\\"}],\\\"rate\\\":{\\\"totalShipperLinehaulCost\\\":1176,\\\"totalLinehaulCost\\\":956,\\\"totalFuelCost\\\":45,\\\"accessorials\\\":[{\\\"name\\\":\\\"Overweight\\\",\\\"shipperCost\\\":200,\\\"carrierCost\\\":0}],\\\"totalShipperCost\\\":1276,\\\"totalCarrierCost\\\":1130,\\\"currency\\\":\\\"USD\\\"},\\\"pickupDate\\\":\\\"2021-09-21T13:00:00-04:00\\\",\\\"deliveredDate\\\":\\\"2021-09-22T18:00:00-04:00\\\",\\\"transportType\\\":\\\"VR\\\",\\\"transportTypeGroup\\\":\\\"VAN\\\",\\\"transportMode\\\":\\\"FTL\\\",\\\"status\\\":\\\"OPEN\\\",\\\"details\\\":{\\\"distance\\\":434,\\\"miles\\\":434,\\\"commodity\\\":\\\"Racks\\\",\\\"weight\\\":22000,\\\"tenderedDate\\\":\\\"2020-01-11T16:00:00Z\\\",\\\"bookedDate\\\":\\\"2020-01-11T16:00:00Z\\\",\\\"tordFlag\\\":false,\\\"hazmat\\\":false,\\\"hotshot\\\":false,\\\"teamDrive\\\":false,\\\"overdimensional\\\":false,\\\"dedicatedCarrierContract\\\":false,\\\"asset\\\":false,\\\"pricingType\\\":\\\"Spot\\\",\\\"pricingTypeGroup\\\":\\\"SPOT\\\",\\\"carrierAccountManager\\\":\\\"John Doe\\\",\\\"shipperAccountManager\\\":\\\"John Doe\\\",\\\"salesManager\\\":\\\"John Doe\\\",\\\"userGroupId\\\":\\\"Main office\\\",\\\"office\\\":\\\"Main office\\\"},\\\"shipper\\\":{\\\"id\\\":\\\"12345\\\",\\\"name\\\":\\\"Shipper company\\\"},\\\"carrier\\\":{\\\"id\\\":\\\"12345\\\",\\\"name\\\":\\\"Carrier company\\\"}}\",\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}"
  /tms/batch/import-load:
    servers:
    - url: https://testapi.greenscreens.ai/v2
      description: Testing server (dev environment)
    - url: https://sandboxapi.greenscreens.ai/v2
      description: Sandbox server (as stable as production, but has no data)
    - url: https://api.greenscreens.ai/v2
      description: Production server (uses live data)
    post:
      tags:
      - TMS
      summary: Imports loads in batches
      security:
      - TmsConnector_bearerAuth: []
      description: Used to import and/or update loads in batches
      operationId: tmsBatchImportLoad
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TmsConnector_BatchImportLoadRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TmsConnector_BatchImportLoadResponse'
        '400':
          $ref: '#/paths/~1tms~1import-load/post/responses/400'
        '401':
          $ref: '#/paths/~1tms~1import-load/post/responses/401'
        '403':
          $ref: '#/paths/~1tms~1import-load/post/responses/403'
        '422':
          $ref: '#/paths/~1tms~1import-load/post/responses/422'
        '429':
          $ref: '#/paths/~1tms~1import-load/post/responses/429'
        '500':
          $ref: '#/paths/~1tms~1import-load/post/responses/500'
      x-codeSamples:
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'POST',\n  url: 'https://testapi.greenscreens.ai/v2/tms/batch/import-load',\n  headers: {\n    'content-type': 'application/json',\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN'\n  },\n  body: {\n    loads: [\n      {\n        loadId: '12345',\n        origin: {\n          country: 'US',\n          city: 'Sacramento',\n          state: 'CA',\n          zip: '95814',\n          appointmentDateTime: '2020-10-13T09:00:00Z',\n          scheduledAppointmentStartedAt: '2020-10-13T09:00:00Z',\n          scheduledAppointmentEndedAt: '2020-10-13T11:00:00Z',\n          arrivedAt: '2020-10-13T09:15:00Z',\n          departedAt: '2020-10-13T10:45:00Z'\n        },\n        destination: {\n          country: 'US',\n          city: 'Sacramento',\n          state: 'CA',\n          zip: '95814',\n          appointmentDateTime: '2020-10-13T09:00:00Z',\n          scheduledAppointmentStartedAt: '2020-10-13T09:00:00Z',\n          scheduledAppointmentEndedAt: '2020-10-13T11:00:00Z',\n          arrivedAt: '2020-10-13T09:15:00Z',\n          departedAt: '2020-10-13T10:45:00Z'\n        },\n        extraStops: [\n          {\n            order: 0,\n            address: {country: 'US', city: 'Red Bluff', state: 'CA', 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', zip: '96002'},\n            type: 'UNLOAD',\n            appointmentDateTime: '2020-10-15T16:00:00Z'\n          }\n        ],\n        rate: {\n          totalShipperLinehaulCost: 1176,\n          totalLinehaulCost: 956,\n          totalFuelCost: 45,\n          accessorials: [{name: 'Overweight', shipperCost: 200, carrierCost: 0}],\n          totalShipperCost: 1276,\n          totalCarrierCost: 1130,\n          currency: 'USD'\n        },\n        pickupDate: '2021-09-21T13:00:00-04:00',\n        deliveredDate: '2021-09-22T18:00:00-04:00',\n        transportType: 'VR',\n        transportTypeGroup: 'VAN',\n        transportMode: 'FTL',\n        status: 'OPEN',\n        details: {\n          distance: 434,\n          miles: 434,\n          commodity: 'Racks',\n          weight: 22000,\n          tenderedDate: '2020-01-11T16:00:00Z',\n          bookedDate: '2020-01-11T16:00:00Z',\n          tordFlag: false,\n          hazmat: false,\n          hotshot: false,\n          teamDrive: false,\n          overdimensional: false,\n          dedicatedCarrierContract: false,\n          asset: false,\n          pricingType: 'Spot',\n          pricingTypeGroup: 'SPOT',\n          carrierAccountManager: 'John Doe',\n          shipperAccountManager: 'John Doe',\n          salesManager: 'John Doe',\n          userGroupId: 'Main office',\n          office: 'Main office'\n        },\n        shipper: {id: '12345', name: 'Shipper company'},\n        carrier: {id: '12345', name: 'Carrier company'}\n      }\n    ]\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/v2/tms/batch/import-load\"\n\npayload = {\"loads\": [\n        {\n            \"loadId\": \"12345\",\n            \"origin\": {\n                \"country\": \"US\",\n                \"city\": \"Sacramento\",\n                \"state\": \"CA\",\n                \"zip\": \"95814\",\n                \"appointmentDateTime\": \"2020-10-13T09:00:00Z\",\n                \"scheduledAppointmentStartedAt\": \"2020-10-13T09:00:00Z\",\n                \"scheduledAppointmentEndedAt\": \"2020-10-13T11:00:00Z\",\n                \"arrivedAt\": \"2020-10-13T09:15:00Z\",\n                \"departedAt\": \"2020-10-13T10:45:00Z\"\n            },\n            \"destination\": {\n                \"country\": \"US\",\n                \"city\": \"Sacramento\",\n                \"state\": \"CA\",\n                \"zip\": \"95814\",\n                \"appointmentDateTime\": \"2020-10-13T09:00:00Z\",\n                \"scheduledAppointmentStartedAt\": \"2020-10-13T09:00:00Z\",\n                \"scheduledAppointmentEndedAt\": \"2020-10-13T11:00:00Z\",\n                \"arrivedAt\": \"2020-10-13T09:15:00Z\",\n                \"departedAt\": \"2020-10-13T10:45:00Z\"\n            },\n            \"extraStops\": [\n                {\n                    \"order\": 0,\n                    \"address\": {\n                        \"country\": \"US\",\n                        \"city\": \"Red Bluff\",\n                        \"state\": \"CA\",\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                        \"zip\": \"96002\"\n                    },\n                    \"type\": \"UNLOAD\",\n                    \"appointmentDateTime\": \"2020-10-15T16:00:00Z\"\n                }\n            ],\n            \"rate\": {\n                \"totalShipperLinehaulCost\": 1176,\n                \"totalLinehaulCost\": 956,\n                \"totalFuelCost\": 45,\n                \"accessorials\": [\n                    {\n                        \"name\": \"Overweight\",\n                        \"shipperCost\": 200,\n                        \"carrierCost\": 0\n                    }\n                ],\n                \"totalShipperCost\": 1276,\n                \"totalCarrierCost\": 1130,\n                \"currency\": \"USD\"\n            },\n            \"pickupDate\": \"2021-09-21T13:00:00-04:00\",\n            \"deliveredDate\": \"2021-09-22T18:00:00-04:00\",\n            \"transportType\": \"VR\",\n            \"transportTypeGroup\": \"VAN\",\n            \"transportMode\": \"FTL\",\n            \"status\": \"OPEN\",\n            \"details\": {\n                \"distance\": 434,\n                \"miles\": 434,\n                \"commodity\": \"Racks\",\n                \"weight\": 22000,\n                \"tenderedDate\": \"2020-01-11T16:00:00Z\",\n                \"bookedDate\": \"2020-01-11T16:00:00Z\",\n                \"tordFlag\": False,\n                \"hazmat\": False,\n                \"hotshot\": False,\n                \"teamDrive\": False,\n                \"overdimensional\": False,\n                \"dedicatedCarrierContract\": False,\n                \"asset\": False,\n                \"pricingType\": \"Spot\",\n                \"pricingTypeGroup\": \"SPOT\",\n                \"carrierAccountManager\": \"John Doe\",\n                \"shipperAccountManager\": \"John Doe\",\n                \"salesManager\": \"John Doe\",\n                \"userGroupId\": \"Main office\",\n                \"office\": \"Main office\"\n            },\n            \"shipper\": {\n                \"id\": \"12345\",\n                \"name\": \"Shipper company\"\n            },\n            \"carrier\": {\n                \"id\": \"12345\",\n                \"name\": \"Carrier company\"\n            }\n        }\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/v2/tms/batch/import-load\",\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 => \"{\\\"loads\\\":[{\\\"loadId\\\":\\\"12345\\\",\\\"origin\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Sacramento\\\",\\\"state\\\":\\\"CA\\\",\\\"zip\\\":\\\"95814\\\",\\\"appointmentDateTime\\\":\\\"2020-10-13T09:00:00Z\\\",\\\"scheduledAppointmentStartedAt\\\":\\\"2020-10-13T09:00:00Z\\\",\\\"scheduledAppointmentEndedAt\\\":\\\"2020-10-13T11:00:00Z\\\",\\\"arrivedAt\\\":\\\"2020-10-13T09:15:00Z\\\",\\\"departedAt\\\":\\\"2020-10-13T10:45:00Z\\\"},\\\"destination\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Sacramento\\\",\\\"state\\\":\\\"CA\\\",\\\"zip\\\":\\\"95814\\\",\\\"appointmentDateTime\\\":\\\"2020-10-13T09:00:00Z\\\",\\\"scheduledAppointmentStartedAt\\\":\\\"2020-10-13T09:00:00Z\\\",\\\"scheduledAppointmentEndedAt\\\":\\\"2020-10-13T11:00:00Z\\\",\\\"arrivedAt\\\":\\\"2020-10-13T09:15:00Z\\\",\\\"departedAt\\\":\\\"2020-10-13T10:45:00Z\\\"},\\\"extraStops\\\":[{\\\"order\\\":0,\\\"address\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Red Bluff\\\",\\\"state\\\":\\\"CA\\\",\\\"zip\\\":\\\"96080\\\"},\\\"type\\\":\\\"LOAD\\\",\\\"appointmentDateTime\\\":\\\"2020-10-14T16:00:00Z\\\"},{\\\"order\\\":1,\\\"address\\\":{\\\"country\\\":\\\"US\\\",\\\"city\\\":\\\"Redding\\\",\\\"state\\\":\\\"CA\\\",\\\"zip\\\":\\\"96002\\\"},\\\"type\\\":\\\"UNLOAD\\\",\\\"appointmentDateTime\\\":\\\"2020-10-15T16:00:00Z\\\"}],\\\"rate\\\":{\\\"totalShipperLinehaulCost\\\":1176,\\\"totalLinehaulCost\\\":956,\\\"totalFuelCost\\\":45,\\\"accessorials\\\":[{\\\"name\\\":\\\"Overweight\\\",\\\"shipperCost\\\":200,\\\"carrierCost\\\":0}],\\\"totalShipperCost\\\":1276,\\\"totalCarrierCost\\\":1130,\\\"currency\\\":\\\"USD\\\"},\\\"pickupDate\\\":\\\"2021-09-21T13:00:00-04:00\\\",\\\"deliveredDate\\\":\\\"2021-09-22T18:00:00-04:00\\\",\\\"transportType\\\":\\\"VR\\\",\\\"transportTypeGroup\\\":\\\"VAN\\\",\\\"transportMode\\\":\\\"FTL\\\",\\\"status\\\":\\\"OPEN\\\",\\\"details\\\":{\\\"distance\\\":434,\\\"miles\\\":434,\\\"commodity\\\":\\\"Racks\\\",\\\"weight\\\":22000,\\\"tenderedDate\\\":\\\"2020-01-11T16:00:00Z\\\",\\\"bookedDate\\\":\\\"2020-01-11T16:00:00Z\\\",\\\"tordFlag\\\":false,\\\"hazmat\\\":false,\\\"hotshot\\\":false,\\\"teamDrive\\\":false,\\\"overdimensional\\\":false,\\\"dedicatedCarrierContract\\\":false,\\\"asset\\\":false,\\\"pricingType\\\":\\\"Spot\\\",\\\"pricingTypeGroup\\\":\\\"SPOT\\\",\\\"carrierAccountManager\\\":\\\"John Doe\\\",\\\"shipperAccountManager\\\":\\\"John Doe\\\",\\\"salesManager\\\":\\\"John Doe\\\",\\\"userGroupId\\\":\\\"Main office\\\",\\\"office\\\":\\\"Main office\\\"},\\\"shipper\\\":{\\\"id\\\":\\\"12345\\\",\\\"name\\\":\\\"Shipper company\\\"},\\\"carrier\\\":{\\\"id\\\":\\\"12345\\\",\\\"name\\\":\\\"Carrier company\\\"}}]}\",\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}"
  /tms/import-carrier:
    servers:
    - url: https://testapi.greenscreens.ai/v2
      description: Testing server (dev environment)
    - url: https://sandboxapi.greenscreens.ai/v2
      description: Sandbox server (as stable as production, but has no data)
    - url: https://api.greenscreens.ai/v2
      description: Production server (uses live data)
    post:
      tags:
      - TMS
      summary: Import carrier
      security:
      - TmsConnector_bearerAuth: []
      description: Import a new carrier or update an existing one
      operationId: tmsImportCarrier
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TmsConnector_CarrierProfile'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TmsConnector_ImportProfileResponse'
        '400':
          $ref: '#/paths/~1tms~1import-load/post/responses/400'
        '401':
          $ref: '#/paths/~1tms~1import-load/post/responses/401'
        '403':
          $ref: '#/paths/~1tms~1import-load/post/responses/403'
        '422':
          description: Unprocessable Entity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TmsConnector_Error'
              examples:
                error422Example:
                  value:
                    code: missing_property
                    message: 'Missing property: body'
        '429':
          $ref: '#/paths/~1tms~1import-load/post/responses/429'
        '500':
          $ref: '#/paths/~1tms~1import-load/post/responses/500'
      x-codeSamples:
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'POST',\n  url: 'https://testapi.greenscreens.ai/v2/tms/import-carrier',\n  headers: {\n    'content-type': 'application/json',\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN'\n  },\n  body: {\n    profileId: '13441524',\n    companyName: 'Carggo',\n    legalName: 'Carggo',\n    mc: '122356',\n    dot: '87650005',\n    scac: 'CGGK',\n    contact: {name: 'John', phoneNumber: '121331343', email: 'my@email.com'},\n    status: 'ACTIVE'\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/v2/tms/import-carrier\"\n\npayload = {\n    \"profileId\": \"13441524\",\n    \"companyName\": \"Carggo\",\n    \"legalName\": \"Carggo\",\n    \"mc\": \"122356\",\n    \"dot\": \"87650005\",\n    \"scac\": \"CGGK\",\n    \"contact\": {\n        \"name\": \"John\",\n        \"phoneNumber\": \"121331343\",\n        \"email\": \"my@email.com\"\n    },\n    \"status\": \"ACTIVE\"\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$cu

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