openapi: 3.0.0 servers: - url: https://api.emergemarket.io/v2 description: Primary production endpoint - url: https://demo-api.emergemarket.dev/v2 description: Testing sandbox endpoint info: version: 2.0.0 title: Emerge Carrier API description: "### \nThe Emerge carrier API provides integrated carrier (Provider) developers with access to the Emerge platform.\n\ \nThe current version of the API is v1.0.0 This API will evolve as the features in Emerge's product evolve.\n\n# Get Started\n\ \nWelcome to Emerge's REST API Carrier Documentation. \nOur APIs allow Capacity and Integration Providers to easily interact\ \ with Shippers utilizing Emerge's Platform. \n\nIf you are interested in implementing a Carrier API integration\nplease\ \ submit a request [here](https://emergetech.zendesk.com/hc/en-us/requests/new?ticket_form_id=11470751569179) \n\nAll\ \ production level API requests are made to:\n
`https://api.emergemarket.io`\n\n\nThe testing sandbox is available\ \ during development and for testing:\n
`https://demo-api.emergemarket.dev`\n\n## Compatibility Policy\n\nEmerge\ \ APIs are versioned using a prefix in the endpoint URL. Within an API version, we only make backward-compatible changes.\ \ This mean that when a provider integrates with our REST API, the API will continue to work until the version is deprecated.\ \ If we have to create a change that is not compatible with the current version, a new version will be created.\n\n###\ \ Non-Breaking Changes\n\n* Adding additional optional fields on the API request.\n* Adding additional fields on the API\ \ response.\n* Adding an HTTP method to an API.\n* Adding optional headers.\n* Adding additional accepted enumerated values.\n\ * Changing Error Response descriptions.\n* Added Rate Limits.\n\n### Breaking Changes\n\n* Removing or renaming an API\ \ method or endpoint.\n* Removing or renaming existing API request or response fields.\n* Removing or renaming enumerated\ \ values.\n* Changing the Error Response values.\n\n### Deprecation Policy\n\n* Emerge will continue to support deprecated\ \ APIs for 1 year.\n* Documentation will also be updated and integrating providers will be notified via email when a version\ \ or endpoint is being deprecated.\n\n# Workflows\nOur Carrier APIs enable Capacity Providers more flexibility when working\ \ with Shippers using Emerge's Platform. \nMore workflows will become available in the future as we continue growing our\ \ Carrier API suite.\n\nWhile integrating with Emerge, it is helpful to be aware of our nomenclature. \nOur Shippers create\ \ \"Opportunities,\" defined as shipments they are accepting quotes for. \nWhen we request a rate, you respond with a\ \ \"Quote\" which is composed of the rate and duration details. \nOnce a Quote is received from our Capacity Providers,\ \ it becomes an \"Option\" for our Shippers to review. \nYou will see these terms throughout our documentation.\n\n##\ \ Rate Request to Quote Response\nIn this workflow, Emerge automatically sends Rate Requests to our Capacity Providers\ \ on behalf of our Shippers. \nThis workflow makes it easy for Capacity Providers to rate Opportunities while maintaining\ \ existing processes. The steps of this workflow include:\n\n1. Receive a Rate Request Event via Webhook.
\na. Rate\ \ Requests contain Shipper identifying information in the relationship_identifiers object. These values are provided by\ \ the Capacity Provider during Capacity Link onboarding to enable matching in the Provider's application.
\n\n2.\ \ Review Opportunity details and determine whether to provide a quote.
\n\n3. Send the Rate or provide the Error\ \ Reason for declining to rate via the Quote Response Endpoint.
\na. A Quote Response must provide the event_id sourced\ \ from the Rate Request Event.
\nb. Providers can respond with either a Rate or an Error to let the shipper know\ \ why they are not providing a rate.
\nc. Providers responding with a rate can include their Quote ID in the provider_reference\ \ field.
\n\n4. The Rate will be available for Review by the Shipper.\n" x-logo: url: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTUycHgiIGhlaWdodD0iODBweCIgdmlld0JveD0iMCAwIDE1MiA4MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDx0aXRsZT5lbWVyZ2UtbG9nbzwvdGl0bGU+CiAgICA8ZyBpZD0iZW1lcmdlLWxvZ28iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJFbWVyZ2UiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjAwMDAwMCwgMjQuMDAwMDAwKSIgZmlsbD0iIzBENDdBMSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjMzNzc4ODMsNS44Mzc1NTI0NCBDODIuODk5NzUyLDUuODM3NTUyNDQgODUuNDI2MDA5Miw2LjY5MTgwMTcgODcuODgxMjY2MSw4LjAwODg5NDA2IEw4NC40NjUzNjAzLDI1LjU5Mjg1NTIgQzgzLjcxODEyNjcsMjkuNTA4Mjc5OSA4MC45MDcwMzg4LDMyIDc2LjQ5NDkxMjMsMzIgTDcxLjAxNTE0MzcsMzIgTDcxLjQwNjU0NjIsMjcuNzI4NjE4NiBMNzcuMzQ4ODUyNCwyNy43Mjg2MTg2IEM3OC41NTg2MjY1LDI3LjcyODYxODYgNzkuNDEyNTY5OSwyNi44MDMwNjc0IDc5LjY2MTY5MiwyNS41OTI4NTkyIEw4MC4wODg2NjQyLDIzLjMxNDc3MDUgQzc4LjkxMTI1MDgsMjQuMzAwNzM4MiA3Ny40MjU0NDQyLDI0Ljg0MjM3MDMgNzUuODg5OTU1MSwyNC44NDUzNTcyIEM3MS44NjkwOTQxLDI0Ljg0NTM1NzIgNjkuOTQ3NjQ4OSwyMS4zNTcwNTgyIDcwLjczMDQ1ODEsMTcuMTkyNDE5OSBMNzEuMzM1NDEzMSwxNC4xNjY4MjcgQzcyLjM2NzM0MDMsOS4wMDU0NzQ4NSA3NS4yODQ5OTE5LDUuODM3NTUyNDQgODAuMzM3Nzg4Myw1LjgzNzU1MjQ0IFogTTUzLjAwOTk4NDEsNS44Mzc1NTI0NCBDNTYuNzgxNzIzLDUuODM3NTUyNDQgNTkuMzA3OTgwMSw4LjE1MTIyMzU4IDU5LjMwNzk4MDEsMTEuMTQxMjM4MSBDNTkuMzA3OTgwMSwxNC42NjUxMTk0IDU2LjI0NzkwNTIsMTcuMjI4MDA0MyA1MC43MzI3MTIxLDE3LjU4Mzk2NTIgTDQ3Ljk5Mjc2MzQsMTcuNzYxODc3MSBDNDcuNjcyNjM3MSwxOS4zOTkzNDggNDguMjA2MzE4LDIxLjEwNzg0NjUgNTAuNjk3MTQyNSwyMS4xMDc4NDY1IEM1Mi42ODk3MjA4LDIxLjEwNzg0NjUgNTQuNzUzNDM4MSwyMC4zOTU5MTY2IDU2LjQ2MTQ1OTcsMTkuNzkwODg5MiBMNTYuNzgxNzIzLDIzLjgxMzA2MDkgQzU0LjUwNDQ1MzIsMjQuNjY3NDQ3MyA1Mi4zMzM4ODk5LDI1LjMwODA2NTIgNTAuMDIxMDUwMywyNS4zMDgwNjUyIEM0NS4yNTI5NTM3LDI1LjMwODA2NTIgNDIuMDUwNjAyMywyMi40NjA1MjEzIDQzLjE4OTIzODMsMTYuODM2NDYxMSBMNDMuNjg3MzQ3NiwxNC4zNDQ3Mzg5IEM0NC43OTA0MTQsOC44OTg3Mjc3MiA0Ny43NzkzNDc5LDUuODM3NTUyNDQgNTMuMDA5OTg0MSw1LjgzNzU1MjQ0IFogTTk3LjcwMjAwNCw1LjgzNzU1MjQ0IEMxMDEuNDczNzQzLDUuODM3NTUyNDQgMTA0LDguMTUxMjIzNTggMTA0LDExLjE0MTIzODEgQzEwNCwxNC42NjUxMTk0IDEwMC45Mzk5MjUsMTcuMjI4MDA0MyA5NS40MjQ3MzIsMTcuNTgzOTY1MiBMOTIuNjg0NzgzMiwxNy43NjE4NzcxIEM5Mi4zNjQ2NTY5LDE5LjM5OTM0OCA5Mi44OTgzMzc4LDIxLjEwNzg0NjUgOTUuMzg5MTYyNCwyMS4xMDc4NDY1IEM5Ny4zODE3NDA1LDIxLjEwNzg0NjUgOTkuNDQ1NDU4LDIwLjM5NTkxNjYgMTAxLjE1MzQ4LDE5Ljc5MDg4OTIgTDEwMS40NzM3NDMsMjMuODEzMDYwOSBDOTkuMTk2NDcyOSwyNC42Njc0NDczIDk3LjAyNTkwOTYsMjUuMzA4MDY1MiA5NC43MTMwNzAxLDI1LjMwODA2NTIgQzg5Ljk0NDk3MzUsMjUuMzA4MDY1MiA4Ni43NDI2MjIxLDIyLjQ2MDUyMTMgODcuODgxMjU4MSwxNi44MzY0NjExIEw4OC4zNzkzNjc0LDE0LjM0NDczODkgQzg5LjQ4MjQzMzksOC44OTg3Mjc3MiA5Mi40NzEzNjc2LDUuODM3NTUyNDQgOTcuNzAyMDA0LDUuODM3NTUyNDQgWiBNMTguMTM5MTIxMywwIEwxNy4zMjA3NDg4LDQuMjcxMzc3MzcgTDEwLjYzMTM1NjIsNC4yNzEzNzczNyBDOC4yNDcyNDAzOCw0LjI3MTM3NzM3IDcuNjA2ODUwNzIsNS42NTk0OTk0MSA3LjI4NjU4OTM4LDcuMjYxMzg3OTEgTDYuNzUyNzY3NCw5Ljk2NjYwODM2IEwxNS4xMTQ2MTgsOS45NjY2MDgzNiBMMTQuMzMxODE4OSwxNC4yMDI0MDk0IEw1LjkzNDM5NDc1LDE0LjIwMjQwOTQgTDUuMjU4MzAwNDcsMTcuNjE5NTQzNiBDNC45MzgxNzQxNiwxOS4yNTY4Nzc0IDUuMDQ0ODgyOTMsMjAuNTczOTcxOCA3LjQyODg2MTY4LDIwLjU3Mzk3MTggTDE0LjI2MDY3MTcsMjAuNTczOTcxOCBMMTMuNjIwMTQ0OSwyMy45MTk5NDExIEMxMy41NTgzOTA3LDI0LjQ1ODc4ODcgMTMuMDk0NzQ4NSwyNC44NjA3NzIzIDEyLjU1Mjc4NTIsMjQuODQ1MzU1MSBMNi41NzQ5MTk0NiwyNC44NDUzNTUxIEMxLjQ4NjY5ODU5LDI0Ljg0NTM1NTEgLTAuNjQ4Mjk1MDUsMjIuMTQwMTQwNyAwLjE3MDA3NzU5NCwxOC4wNDY2NjkyIEwyLjM0MDY0MDgzLDYuODM0MjY4MzEgQzMuMTU5MDEzNDcsMi43MDUyMTQ0MSA2LjI1NDY1NjEsMCAxMS4zNzg1ODM2LDAgTDE4LjEzOTEyMTMsMCBaIE0zNy43ODA3NTIsNS44Mzc1NTQ0NSBDNDEuNTE2OTIxNSw1LjgzNzU1NDQ1IDQzLjE4OTIzNjMsOC4xNTEyMjU2IDQyLjQwNjQzMzIsMTIuMTczNTM0NCBMNDAuMTI5MTYzMiwyMy45MTk5NDExIEM0MC4wNTA4MzI0LDI0LjQ2NDQ3ODkgMzkuNTc1NzYxOCwyNC44NjMwMzc3IDM5LjAyNjA5NjgsMjQuODQ1MzU1MSBMMzUuMDc2NTE4LDI0Ljg0NTM1NTEgTDM3LjQyNDkyNzIsMTIuNzQyOTg3NSBDMzcuODE2MzM3OCwxMC43NDk2OTI5IDM3LjMxODIxODQsMTAuMDM3NzczMSAzNS45MzA0NjAzLDEwLjAzNzc3MzEgQzM0Ljc5MTgyNDMsMTAuMDM3NzczMSAzMy42NTMxOTAzLDEwLjY0Mjk0NTcgMzIuNTg1NjkzNSwxMS41MzI3Nzc0IEMzMi41MTQ1NDYzLDEyLjA2NjY1MDIgMzIuNDQzNDE1MSwxMi42MzYyNDA0IDMyLjMzNjcwNjQsMTMuMjA1NjkzNSBMMzAuMDk1MDA2LDI0Ljg0NTM1NTEgTDI1LjIyMDE5NDYsMjQuODQ1MzU1MSBMMjcuNTY4NjAzOCwxMi43NDI5ODc1IEMyNy44ODg4NjcxLDExLjA3MDA3MTQgMjcuNzQ2NTg4NywxMC4wMzc3NzMxIDI2LjQ2NTUzNzQsMTAuMDM3NzczMSBDMjUuMjkxMzMxOCwxMC4wMzc3NzMxIDIzLjcyNTcyNTYsMTEuMTQxMjM2MSAyMi42OTM3OTgzLDEyLjMxNTg2MTkgTDIwLjI3NDI1LDI0Ljg0NTM1NTEgTDE1LjM5OTQ0NjcsMjQuODQ1MzU1MSBMMTguOTkzMjAwNiw2LjMwMDI2MDQ2IEwyMy4wNDk2MzE0LDYuMzAwMjYwNDYgTDIyLjk0MjkyMjYsOC4yMjIzOTAzNiBDMjQuMjk0OTc2MSw2Ljg2OTg1MDY5IDI1Ljk2NzQyOCw1LjgzNzU1NDQ1IDI3Ljk2MDAwNDMsNS44Mzc1NTQ0NSBDMzAuMjM3Mjc0Miw1LjgzNzU1NDQ1IDMxLjY2MDYwNCw2LjU4NTA1NjU4IDMyLjI2NTQyMiw4LjE4NjgwNzk4IEMzMy43NTk4ODksNi45MDU0MzMwNyAzNS43MTcwMzQ3LDUuODM3NTU0NDUgMzcuNzgwNzUyLDUuODM3NTU0NDUgWiBNNzAuODcyNTg3Miw1Ljg3MzEzNDgxIEM3MS40NjMxMzk0LDUuODY1OTcyODggNzIuMDUxMjU5LDUuOTUwMDMwODYgNzIuNjE2MTc4NCw2LjEyMjM0MDUgTDcxLjUxMzExOCwxMC4yNTE0MDQ1IEM3MS4wNzAxMjcsMTAuMTQ3NDgwMSA3MC42MTU4NDMzLDEwLjA5OTYxNjggNzAuMTYwOTI5MywxMC4xMDg5Mzc5IEM2OC42NjY0NjI0LDEwLjEwODkzNzkgNjYuOTk0MTQ1NiwxMS40NjE2MTI2IDY1Ljk5Nzc4OTksMTIuMzg3MDI2NiBMNjMuNTc4MjQxNiwyNC44NDUzNTUxIEw1OC43MDM0MzYzLDI0Ljg0NTM1NTEgTDYyLjI5NzMyNTIsNi4zMDAyNjA0NiBMNjYuMzE4MDUxMiw2LjMwMDI2MDQ2IEw2Ni4yODI0ODE3LDguNTQyNzY2ODQgQzY3LjUyNzgyNjQsNy4wNDc3NjI1OCA2OS4xNjQ3MDg4LDUuODczMTM0ODEgNzAuODcyNTg3Miw1Ljg3MzEzNDgxIFogTTgwLjIzMDkzODUsMTAuMDM3NzczMSBDNzcuOTE4MDk4OSwxMC4wMzc3NzMxIDc2Ljc3OTQ2MjksMTEuNTY4MzU5OCA3Ni4xNzQ2NDI4LDE0LjU5Mzk1MjcgTDc1Ljc0NzY3MDcsMTYuODcyMDQxNSBDNzUuMjQ5NDI0MywxOS4zOTkzNDQgNzUuNzgzMjQwMywyMC42NDUxMzY1IDc3LjE3MDg2MzQsMjAuNjQ1MTM2NSBDNzguNDUxOTE2OCwyMC42NDUxMzY1IDc5LjY5NzI1NzUsMTkuNzkwODg3MiA4MC45NzgxNzE5LDE4LjMzMTQ2NTMgTDgyLjUwODIwODUsMTAuNTAwNDgxMSBDODEuNzgzMDU3MywxMC4yMTA2ODI2IDgxLjAxMTY0NjksMTAuMDUzOTQzMiA4MC4yMzA5Mzg1LDEwLjAzNzc3MzEgWiBNNTIuNTQ3MzA3NSwxMC4wMzc3NzMxIEM0OS44MDc0OTU3LDEwLjAzNzc3MzEgNDkuMDI0NjkyNywxMi4zMTU4NjE5IDQ4LjYzMzI5MDEsMTQuMzgwMzIzMyBMNTAuNjI1ODY4NCwxNC4yMzc5OTE4IEM1My4yNTg5NzEzLDE0LjA2MDA3OTkgNTQuNDY4NzQ2NCwxMi45OTIxOTkzIDU0LjQ2ODc0NjQsMTEuNjc1MTA2OSBDNTQuNDY4NzQ2NCwxMC42NDI5NDU3IDUzLjc1NzIxNzYsMTAuMDM3NzczMSA1Mi41NDczMDc1LDEwLjAzNzc3MzEgWiBNOTcuMjM5MzI3MiwxMC4wMzc3NzMxIEM5NC40OTk1MTU1LDEwLjAzNzc3MzEgOTMuNzE2NzEyNCwxMi4zMTU4NjE5IDkzLjMyNTMwOTksMTQuMzgwMzIzMyBMOTUuMzE3ODg4MiwxNC4yMzc5OTE4IEM5Ny45NTA5OTExLDE0LjA2MDA3OTkgOTkuMTYwNzY2MywxMi45OTIxOTkzIDk5LjE2MDc2NjMsMTEuNjc1MTA2OSBDOTkuMTYwNzY2MywxMC42NDI5NDU3IDk4LjQ0OTIzNzQsMTAuMDM3NzczMSA5Ny4yMzkzMjcyLDEwLjAzNzc3MzEgWiIgaWQ9IkxvZ28tRW1lcmdlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4= altText: Emerge logo tags: - name: Rate Request Event description: "

rate_request

\nThis object contains Opportunity details used to create a rate by a Capacity Provider.\ \ Once a Capacity Provider has received the rate request event, they can respond with a quote using the Quote Response\ \ endpoint. If there is no response to the rate request within the time specified by the Integration Provider configuration,\ \ a manual rate request will be made available in the Emerge Platform and an email requesting a rate is sent to the Capacity\ \ Provider.\n \n" - name: Tender Request Event description: "

tender_request

\nThe object contains tender details used to respond by a Capacity Provider.\n \n" x-tagGroups: - name: Provider API tags: - Authentication - Options - Tender - name: Webhook Events tags: - Rate Request Event - Tender Request Event paths: /auth/login/client_credentials: post: tags: - Authentication summary: Gets access token for Integration Provider. security: [] description: This method allows an Integration Provider to generate an access token from Emerge platform. A client credential pair, composed of a client id and a client secret, must be supplied in the request. The procured access token should be sent by the Integration Provider while calling other Carrier API endpoints. requestBody: description: Request body of an authentication attempt. required: true content: application/json: schema: type: object properties: client_id: description: The identifier provided during onboarding and used for authentication. type: string example: eMF2mQNXue5BXjmUNX1pQ45grwrquuiQ client_secret: description: The secret provided during onboarding and used for authentication. type: string example: 1gTmAOzPLqoE5HKxjWgFt8WnAEPu3MQjlNBrR94c1q4o7UTtGgRd1QGwCFzVPsWb required: - client_id - client_secret responses: '200': description: 200 | OK. A JSON object containing the access token and additional information. content: application/json: schema: $ref: '#/components/schemas/200_client_credential_authentication_response' '400': description: 400 | Bad Request. A bad request was made. Please try again content: application/json: schema: $ref: '#/components/schemas/400_badrequest_clientcredentials_response' '403': $ref: '#/components/responses/403' /options: post: tags: - Options summary: Respond to Quote security: - BearerAuth: [] description: This method is used to respond a Rate Request. If a Quote is supplied, an Option is created inside of the Emerge Platform. If an error is sent, the reason the Provider did not quote is given to the Shipper. requestBody: description: Request model to submit the rates. required: true content: application/json: schema: type: object properties: rate_request_id: description: The identifier for the rate request. This is provided by Emerge in the Rate Request Event. type: string example: 31e34816-f50d-4158-88b8-768715f628b2 quote_details: description: This object identifies all relevant quote details. This object is optional if the "error_messages" object is in use. type: object properties: provider_reference: description: The rate identifier number for the Capacity Provider. Providers may expect this value to be returned when the shipment is tendered. type: string example: a55097d0-76e3-427c-bc67-613dd0a2ded2 rate: description: Identifies rate value details. type: object properties: amount: description: The rate amount. type: integer example: 100 currency: description: Defines the currency of amount. Must be "USD". type: string example: USD type: description: Defines rate type. This value must match the requested rate type in the Rate Request Event. type: string enum: - LH_ONLY - ALL_IN example: LH_ONLY expiration_date: description: Defines when the quote expires. This is a date/time offset. type: string example: '2021-09-22T12:01:56.9726183+00:00' error_messages: description: Identifies reasons for not providing a quote. This field is optional if the "quote_details" object is in use. type: array items: type: string example: Unable to Quote due to ... required: - rate_request_id responses: '202': description: 202 | Accepted. Rates submitted successfully. content: application/json: schema: $ref: '#/components/schemas/200_postoptions_response' '400': description: 400 | Bad Request. A bad request was made. Please try again content: application/json: schema: $ref: '#/components/schemas/400_badrequest_postoptions_response' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' /tenders/{shipment_id}/responses: post: tags: - Tender summary: Respond to Tender security: - BearerAuth: [] description: This method is used to receive response for a Tender. requestBody: description: Request model to submit the response. required: true content: application/json: schema: type: object properties: event_id: description: The identifier for the tender request. This is provided by Emerge in the Tender Request Event. type: string example: 40dbcdb1-272b-4ee3-8621-208b88fe0beb status: description: Defines tender status. type: string enum: - ACCEPT - REJECT example: ACCEPT rejection_reason: description: Identifies reasons for rejecting a tender. type: string enum: - NO_CAPACITY - SHORT_LEAD_TIME - PICKUP_APPOINTMENT_NOT_FEASIBLE - DELIVERY_APPOINTMENT_NOT_FEASIBLE - TRANSIT_TIME_NOT_FEASIBLE - VOLUME_COMMITMENT_MET example: NO_CAPACITY carrier_shipment_id: description: Defines the crrier shipment id. type: string example: S111171611 required: - event_id - status responses: '202': description: 202 | Accepted. Rates submitted successfully. content: application/json: schema: $ref: '#/components/schemas/200_postoptions_response' '400': description: 400 | Bad Request. A bad request was made. Please try again content: application/json: schema: $ref: '#/components/schemas/400_badrequest_posttender_response' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' components: schemas: stops_object: description: This object contains stop information for the quote. type: array items: type: object properties: sequence: description: The sequence of the stop. type: integer example: 1 stop_type: description: The stop type. type: string enum: - ORIGIN - INTERMEDIATE - DESTINATION example: ORIGIN stop_action: description: The stop action type. type: string enum: - PICKUP - DROPOFF example: PICKUP loading_type: description: The loading type. type: string enum: - LIVE - DROP example: LIVE notes: description: The notes associated to the stop. type: string example: 3665 North Harbor Drive location: description: This object defines the location details for the stop. type: object properties: city: description: The city the stop is located. type: string example: San Diego state: description: The state the stop is located. This will be expressed in standard state abbreviations. type: string example: CA postal_code: description: The postal code the stop is located. type: string example: '92101' country_code: description: The country code the stop is located. type: string enum: - US - USA - CA - CAN example: US appointment: description: This object defines appointment related information. type: object properties: type: description: The appointment type. type: string enum: - FCFS - APPT_NEEDED - APPT_SCHEDULED example: FCFS earliest: description: The earliest date/time the shipment could arrive at the stop. This is a date/time offset. type: string example: '2021-09-22T00:00:00-08:00' latest: description: The latest date/time the shipment could arrive at the stop. This is a date/time offset. type: string example: '2021-09-22T00:00:00-08:00' special_requirements_object: description: This object contains any special requirements associated to the quote. type: array items: type: object properties: code: description: The special requirement codes associated to the quote. type: string enum: - HAZMAT - TEAM_DRIVERS - PRE_COOL - SMOKE_TARPS - STANDARD_TARPS example: TEAM_DRIVERS commodities_object: description: This object defines the commodities that are a part of this quote. type: array items: type: object properties: description: description: The description of the commodity. type: string example: FAK weight: description: The weight of the commodity expressed in pounds. type: integer example: 100 unit_type: description: The type of unit a commodity is moved on. type: string enum: - OTHER - PALLET - BOX - CRATE - BAG - COILS - DRUMS - REELS - ROLLS - TUBES_OR_PIPES - SLIPSHEETS - BALE - BUCKET - BUNDLE - CAN - CARTON - CASE - CYLINDER - PAIL - PIECES - SKID example: PALLET references_object: description: This object contains reference number information for the quote. type: array items: type: object properties: type: description: The type of reference number. type: string enum: - OTHER - CUSTOMER - APPOINTMENT - BOL - DELIVERY - PICKUP - PICKUP_CONFIRMATION - PO - PRO - TRAILER example: CUSTOMER value: description: The reference number value. type: string example: CustRef123 tender_stops_object: description: This object contains stop information for the shipment. type: array items: type: object properties: sequence: description: The sequence of the stop. type: integer example: 1 stop_type: description: The stop type. type: string enum: - ORIGIN - INTERMEDIATE - DESTINATION example: ORIGIN stop_action: description: The stop action type. type: string enum: - PICKUP - DROPOFF example: PICKUP loading_type: description: The loading type. type: string enum: - LIVE - DROP example: LIVE notes: description: The notes associated to the stop. type: string example: 3665 North Harbor Drive location: description: This object defines the location details for the stop. type: object properties: name: description: The name of the location. type: string example: Target location_code: description: The location code associated to the stop. type: string example: '12212' address1: description: The address1 the stop is located. type: string example: N park ln address2: description: The address2 the stop is located. type: string example: corner 4th city: description: The city the stop is located. type: string example: San Diego state: description: The state the stop is located. This will be expressed in standard state abbreviations. type: string example: CA postal_code: description: The postal code the stop is located. type: string example: '92101' country_code: description: The country code the stop is located. type: string enum: - US - USA - CA - CAN example: US appointment: description: This object defines appointment related information. type: object properties: type: description: The appointment type. type: string enum: - FCFS - APPT_NEEDED - APPT_SCHEDULED example: FCFS earliest: description: The earliest date/time the shipment could arrive at the stop. This is a date/time offset. type: string example: '2023-04-11T00:00:00-08:00' latest: description: The latest date/time the shipment could arrive at the stop. This is a date/time offset. type: string example: '2023-04-11T00:00:00-08:00' references: $ref: '#/components/schemas/tender_references_object' contact: $ref: '#/components/schemas/tender_stop_contact_object' tender_commodities_object: description: This object defines the commodities that are a part of this shipment. type: array items: type: object properties: description: description: The description of the commodity. type: string example: FAK weight: description: The weight of the commodity expressed in pounds. type: integer example: 100 unit_type: description: The type of unit a commodity is moved on. type: string enum: - OTHER - PALLET - BOX - CRATE - BAG - COILS - DRUMS - REELS - ROLLS - TUBES_OR_PIPES - SLIPSHEETS - BALE - BUCKET - BUNDLE - CAN - CARTON - CASE - CYLINDER - PAIL - PIECES - SKID example: PALLET unit_count: description: The unit count of the commodity. type: integer example: 4 tender_references_object: description: This object contains reference number information for the shipment. type: array items: type: object properties: type: description: The type of reference number. type: string enum: - OTHER - CUSTOMER - APPOINTMENT - BOL - DELIVERY - PICKUP - PICKUP_CONFIRMATION - PO - PRO - TRAILER example: CUSTOMER value: description: The reference number value. type: string example: CustRef123 tender_stop_contact_object: description: The object that defines the stop's contact information. type: object properties: name: description: The contact name for the person at the stop. type: string example: Anmol contact_items: description: The object that defines how to contact the person. type: array items: type: object properties: key: description: The contact type. type: string enum: - EMAIL - PHONE example: EMAIL value: description: The contact type value. type: string example: example@abc.com 200_postoptions_response: description: 202 | Accepted. type: object properties: error: $ref: '#/components/schemas/errorcode_zero' 400_badrequest_postoptions_response: type: object properties: error: type: object properties: code: description: HTTP code type: integer example: 400 detailed_errors: description: Error messages type: array items: type: object properties: key: type: integer example: amount value: type: string example: Must have at least one reason in case unable to provide rate.. messages: type: array items: type: string example: Validation failed. 400_badrequest_posttender_response: type: object properties: error: type: object properties: code: description: HTTP code type: integer example: 400 detailed_errors: description: Error messages type: array items: type: object properties: key: type: string example: status value: type: string example: Error converting value to type 'Emerge.Atom.Carrier.Integrations.Contracts.Enums.TenderResponseStatus'. messages: type: array items: type: string example: Validation failed. 200_client_credential_authentication_response: type: object properties: response: type: object properties: token: description: The access token to be used in subsequent requests. type: string example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1qQkRRemN5TlRoQ05UbERNVVpGTXpneU5FUXpNVVF4UVRoR1FUSTRPRFF5T0VFeE16QXdRdyJ9.eyJodHRwczovL2FwcC5lbWVyZ2V0bXMuY29tL1Byb3ZpZGVyR3VpZCI6ImQ1OWEyNTY0LTAyNzAtNDBhYy1iYWZkLWIwNWE0NDNlZGY4ZiIsImlzcyI6Imh0dHBzOi8vdmFudGFnZWZyZWlnaHQuYXV0aDAuY29tLyIsInN1YiI6ImVNRjJtUU5YdWU1QlhqbVVOWDFwUTQ1Z3J3cnF1dWlRQGNsaWVudHMiLCJhdWQiOiJodHRwczovL2FwcC5lbWVyZ2V0bXMuY29tIiwiaWF0IjoxNjMxNjk5MjM3LCJleHAiOjE2MzE3ODU2MzcsImF6cCI6ImVNRjJtUU5YdWU1QlhqbVVOWDFwUTQ1Z3J3cnF1dWlRIiwic2NvcGUiOiJpbnRlZ3JhdGlvbjpzY29wZSIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.kMHPwoPFORvTp4A5e-1sc6gwCAdVPGwv3fx_I8sN_RSEWG7Cd9BSfQf5UtDOq4zyrAHmVyf1hczxL5bvVC4XOoe7v0g2hqbogEPEQLubO5tWZdoG76xKRYuJC-7aJAW8MJFUnp952l2rWE4bQ3jsQsLyZIavsaTW3dmrOgWEBLIbKR_4vMdA4SAIhclV_ZatiZRCtl6sib7KIUXQ8rFq5UjY_Oc3_XfSOTzgJSwV0eVA5D7Sty88Zqf6ElQNRf2jt4srZ0q3O1flVdyjCYsigig8xl7vSlkt-TJgMi8efucGsLPCR4DbsR1tlS7ulc05wIQL3QgngMajfCSfkSnOig expires_in: description: Expiration time of token in seconds. type: number example: 86400 error: type: object properties: code: type: integer example: 0 400_badrequest_clientcredentials_response: type: object properties: error: type: object properties: code: description: HTTP code type: integer example: 400 detailed_errors: description: Error messages type: array items: type: object properties: key: type: string example: client_id value: type: string example: client_id must not be empty. messages: type: array items: type: string example: Validation failed. 400_badrequest_response: type: object properties: error: type: object properties: code: description: HTTP code type: integer example: 400 detailed_errors: description: Error messages type: array items: type: object properties: key: type: string example: load_type_id value: type: string example: load_type_id has a range of values which does not include 12 messages: type: array items: type: string example: Validation failed. 403_forbidden_response: type: object properties: error: type: object properties: code: description: HTTP code type: integer example: 403 messages: description: Error messages type: array items: type: string example: Response status code does not indicate success 403 (Forbidden) 409_response: type: object properties: error: type: object properties: code: type: integer example: 409 messages: type: array items: type: string example: The tender status is invalid. 500_response: type: object properties: error: type: object properties: code: type: integer example: 500 messages: type: array items: type: string example: userName. errorcode_zero: type: object properties: code: description: HTTP code type: integer example: 0 Rate_Request_Event: type: object properties: event_id: description: The unique identifier for the event. type: string example: 31e34816-f50d-4158-88b8-768715f628b2 timestamp: description: The date/time when the event was created in the Emerge application. This is a date/time offset. type: string example: '2021-09-15T12:46:17.381291+00:00' event_type: description: The event type name. type: string example: rate_request event_data: description: This object contains all details associated with the event. type: object properties: response_requirements: description: This object defines response requirements. type: object properties: respond_by_date_time: description: The data/time when the rate response must be received. This is a date/time offset. type: string example: '2021-09-22T12:01:56.9726183+00:00' rate_type_requested: description: The requested rate type. type: string enum: - LH_ONLY - ALL_IN example: LH_ONLY request_from: description: This object contains Shipment Provider details. type: object properties: shipper_id: description: The Shipment Provider's unique identifier. type: string example: 83fd91ea-39f5-4a91-bc0d-b6ca1a553d33 name: description: The name of the Provider. type: string example: TestProvider request_to: description: This object contains Capacity Provider details. type: object properties: capacity_provider_id: description: The Provider's unique identifier. type: string example: 83fd91ea-39f5-4a91-bc0d-b6ca1a553d33 name: description: The name of the Provider. type: string example: TestCP contact: description: The object that defines the Provider's contact information. type: object properties: email: description: The contact email for the Provider. type: string format: email example: sam@testCP.com first_name: description: The first name of the Provider's contact. type: string example: Sam last_name: description: The last name of the Provider's contact. type: string example: test relationship_identifiers: description: This object contains the set of key-value pairs defined during Capacity Link onboarding. This assists Providers matching requests to Shippers in their internal applications. type: object properties: identifier1: description: This field name is defined during Capacity Link integration onboarding. The populated value is defined when a Shipper is onboarded to Capacity Link by a Capacity Provider. This key value pair is used to match rate requests to Shippers inside the Provider's application. type: string example: Customer identifier2: description: This field name is defined during Capacity Link integration onboarding. The populated value is defined when a Shipper is onboarded to Capacity Link by a Capacity Provider. This key value pair is used to match rate requests to Shippers inside the Provider's application. type: string example: CustRef123 opportunity_details: description: This object contains quote details for the rate request. type: object properties: opportunity_id: description: The identifier for the quote. type: string example: Q1111111 cargo_value: description: The cargo value for the quote. type: integer example: 10000 length_of_haul: description: This object contains the length of haul details. type: object properties: value: description: The length of haul for the quote. type: string example: '1101.1' unit: description: The length of haul unit. This will be provided in miles. type: string enum: - MI example: MI total_weight: description: This object contains the total weight details for the quote. type: object properties: value: description: The total weight for the quote. type: string example: '44000' unit: description: The total weight of the cargo. This will be provided in pounds. type: string enum: - LB example: LB equipment_length: description: This object contains the equipment length details for the quote. type: object properties: value: description: The equipment length for the quote. type: string example: '53' unit: description: The equipment length unit. This will be provided in feet. type: string enum: - FT example: FT temperature: description: This object contains the temperature details for the quote. type: object properties: min_value: description: The minimum temperature for the quote. type: integer example: 10 max_value: description: The maximum temperature for the quote. type: integer example: 30 unit: description: The temperature unit. This must be in Fahrenheit. type: string enum: - F example: F equipment_type: description: The equipment type identifier. type: string enum: - OTHER - FLATBED - REEFER - STEPDECK - RGN - VAN - DRAYAGE - DUMP - VAN_OR_REEFER - TRAILER_POOL_INTERCHANGE - POWER_ONLY - CONESTOGA - MAXI_TRAILER - INTERMODAL - BOX_TRUCK - HOT_SHOT - SPRINTER_VAN - STRAIGHT_TRUCK example: REEFER references: $ref: '#/components/schemas/references_object' stops: $ref: '#/components/schemas/stops_object' commodities: $ref: '#/components/schemas/commodities_object' special_requirements: $ref: '#/components/schemas/special_requirements_object' notes: description: This object contains general notes associated to the quote. type: array items: type: object properties: note: description: The general note for the quote. type: string tags: description: Tags associated with the quote. type: array nullable: true items: type: string example: - Freeze Protect Tender_Request_Event: type: object properties: event_id: description: The unique identifier for the event. type: string example: 31e34816-f50d-4158-88b8-768715f628b2 timestamp: description: The date/time when the event was created in the Emerge application. This is a date/time offset. type: string example: '2023-04-11T12:46:17.381291+00:00' event_type: description: The event type name. type: string example: tender_request event_data: description: This object contains all details associated with the event. type: object properties: response_requirements: description: This object defines response requirements. type: object properties: respond_by_date_time: description: The date and time(UTC) when the tender response must be received. This will only populate when applicable on create messages. type: string example: '2023-05-18T12:01:56.9726183+00:00' request_from: description: This object contains Shipment Provider details. type: object properties: shipper_id: description: The Shipment Provider's unique identifier. type: string example: 83fd91ea-39f5-4a91-bc0d-b6ca1a553d33 name: description: The name of the Provider. type: string example: TestProvider request_to: description: This object contains Capacity Provider details. type: object properties: capacity_provider_id: description: The Provider's unique identifier. type: string example: 83fd91ea-39f5-4a91-bc0d-b6ca1a553d33 name: description: The name of the Provider. type: string example: TestCP contact: description: The object that defines the Provider's contact information. type: object properties: email: description: The contact email for the Provider. type: string format: email example: sam@testCP.com first_name: description: The first name of the Provider's contact. type: string example: Sam last_name: description: The last name of the Provider's contact. type: string example: test relationship_identifiers: description: This object contains the set of key-value pairs defined during Capacity Link onboarding. This assists Providers matching requests to Shippers in their internal applications. type: object properties: identifier1: description: This field name is defined during Capacity Link integration onboarding. The populated value is defined when a Shipper is onboarded to Capacity Link by a Capacity Provider. This key value pair is used to match tenders to Shippers inside the Provider's application. type: string example: Customer identifier2: description: This field name is defined during Capacity Link integration onboarding. The populated value is defined when a Shipper is onboarded to Capacity Link by a Capacity Provider. This key value pair is used to match tenders to Shippers inside the Provider's application. type: string example: CustRef123 event_details: description: This object contains the event details. type: object properties: message_type: description: The identifier for the message type. type: string enum: - CREATE - UPDATE - CANCEL example: UPDATE update_details: description: This contains the list of updated properties. type: array items: type: string enum: - location - appointment - commodity - stop_note - shipment_note - references - weight - unit_count - equipment_type - loading_type - commodity - number_of_stops example: - location - appointment - commodity - stop_note shipment_details: description: This object contains shipment details. type: object properties: shipment_id: description: The identifier for the shipment. type: string example: S123455 quote_id: description: The identifier for the quote. type: string example: Q1111111 cargo_value: description: The cargo value for the shipment. type: number example: 1000 length_of_haul: description: This object contains the length of haul details. type: object properties: value: description: The length of haul for the shipment. type: string example: '1101.1' unit: description: The length of haul unit. This will be provided in miles. type: string enum: - MI example: MI total_weight: description: This object contains the total weight details for the shipment. type: object properties: value: description: The total weight for the shipment. type: string example: '44000' unit: description: The total weight of the cargo. This will be provided in pounds. type: string enum: - LB example: LB temperature: description: This object contains the temperature details for the shipment. type: object properties: min_value: description: The minimum temperature for the shipment. type: integer example: 10 max_value: description: The maximum temperature for the shipment. type: integer example: 30 unit: description: The temperature unit. This must be in Fahrenheit. type: string enum: - F example: F equipment_length: description: This object contains the equipment length details for the shipment. type: object properties: value: description: The equipment length for the shipment. type: string example: '53' unit: description: The equipment length unit. This will be provided in feet. type: string enum: - FT example: FT equipment_type: description: The equipment type identifier. type: string enum: - OTHER - FLATBED - REEFER - STEPDECK - RGN - VAN - DRAYAGE - DUMP - VAN_OR_REEFER - TRAILER_POOL_INTERCHANGE - POWER_ONLY - CONESTOGA - MAXI_TRAILER - INTERMODAL - BOX_TRUCK - HOT_SHOT - SPRINTER_VAN - STRAIGHT_TRUCK example: REEFER references: $ref: '#/components/schemas/tender_references_object' stops: $ref: '#/components/schemas/tender_stops_object' commodities: $ref: '#/components/schemas/tender_commodities_object' special_requirements: description: This object contains any special requirements associated to the shipment. type: array items: type: object properties: code: description: The special requirement codes associated to the shipment. type: string enum: - HAZMAT - TEAM_DRIVERS - PRE_COOL - SMOKE_TARPS - STANDARD_TARPS example: TEAM_DRIVERS notes: description: This object contains general notes associated to the shipment. type: array items: type: object properties: note: description: The general note for the shipment. type: string special_instructions: description: This object contains special instructions (Rate Con Notes, shipper specific notes) associated to the shipment. type: object properties: notes: description: The special notes for the shipment. type: string example: Test special instructions tags: description: Tags associated with the shipment. type: array nullable: true items: type: string example: - Freeze Protect responses: '400': description: 400 | Bad Request. A bad request was made. Please try again content: application/json: schema: $ref: '#/components/schemas/400_badrequest_response' '401': description: 401 | Not Authorized. The request was not authorized. Please add or refresh your authorization token '403': description: 403 | Forbidden content: application/json: schema: $ref: '#/components/schemas/403_forbidden_response' '404': description: 404 | Not Found. The requested resource was not found '409': description: 409 | Conflict. A conflict has occurred content: application/json: schema: $ref: '#/components/schemas/409_response' '500': description: 500 | Internal Server Error content: application/json: schema: $ref: '#/components/schemas/500_response' securitySchemes: BearerAuth: type: http scheme: bearer