Green Screens AI TMS API
TmsConnector service v2 View separately Try it in swagger
TmsConnector service v2 View separately Try it in swagger
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/green-screens-ai-tms-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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