Download OpenAPI specification:Download
The Emerge carrier API provides integrated carrier (Provider) developers with access to the Emerge platform.
The current version of the API is v3.0.0 This API will evolve as the features in Emerge's product evolve.
Welcome to Emerge's REST API Carrier Documentation. Our APIs allow Capacity and Integration Providers to easily interact with Shippers utilizing Emerge's Platform.
If you are interested in implementing a Carrier API integration please submit a request here
All production level API requests are made to:
https://api.emergemarket.io
The testing sandbox is available during development and for testing:
https://demo-api.emergemarket.dev
Emerge APIs are versioned using a prefix in the endpoint URL. Within an API version, we only make backward-compatible changes. This means that when a provider integrates with our REST API, the API will continue to work until the version is deprecated. If we have to make a change that is not compatible with the current version, a new version will be created.
Our Carrier APIs enable Capacity Providers with more flexibility when working with Shippers using Emerge's Platform. More workflows will become available in the future as we continue growing our Carrier API suite.
While integrating with Emerge, it is helpful to be aware of our nomenclature. Our Shippers create "Opportunities" defined as shipments they are accepting quotes for. When we request a rate, you respond with a "Quote" which is composed of the rate and duration details. Once a Quote is received from our Capacity Providers, it becomes an "Option" for our Shippers to review. You will see these terms throughout our documentation.
In this workflow, Emerge automatically sends Rate Requests to our Capacity Providers on behalf of our Shippers. This workflow makes it easy for Capacity Providers to rate Opportunities while maintaining existing processes. The steps of this workflow include:
event_id
sourced from the Rate Request Event.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.
Request body of an authentication attempt.
client_id required | string The identifier provided during onboarding and used for authentication. |
client_secret required | string The secret provided during onboarding and used for authentication. |
{- "client_id": "eMF2mQNXue5BXjmUNX1pQ45grwrquuiQ",
- "client_secret": "1gTmAOzPLqoE5HKxjWgFt8WnAEPu3MQjlNBrR94c1q4o7UTtGgRd1QGwCFzVPsWb"
}
{- "response": {
- "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1qQkRRemN5TlRoQ05UbERNVVpGTXpneU5FUXpNVVF4UVRoR1FUSTRPRFF5T0VFeE16QXdRdyJ9.eyJodHRwczovL2FwcC5lbWVyZ2V0bXMuY29tL1Byb3ZpZGVyR3VpZCI6ImQ1OWEyNTY0LTAyNzAtNDBhYy1iYWZkLWIwNWE0NDNlZGY4ZiIsImlzcyI6Imh0dHBzOi8vdmFudGFnZWZyZWlnaHQuYXV0aDAuY29tLyIsInN1YiI6ImVNRjJtUU5YdWU1QlhqbVVOWDFwUTQ1Z3J3cnF1dWlRQGNsaWVudHMiLCJhdWQiOiJodHRwczovL2FwcC5lbWVyZ2V0bXMuY29tIiwiaWF0IjoxNjMxNjk5MjM3LCJleHAiOjE2MzE3ODU2MzcsImF6cCI6ImVNRjJtUU5YdWU1QlhqbVVOWDFwUTQ1Z3J3cnF1dWlRIiwic2NvcGUiOiJpbnRlZ3JhdGlvbjpzY29wZSIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.kMHPwoPFORvTp4A5e-1sc6gwCAdVPGwv3fx_I8sN_RSEWG7Cd9BSfQf5UtDOq4zyrAHmVyf1hczxL5bvVC4XOoe7v0g2hqbogEPEQLubO5tWZdoG76xKRYuJC-7aJAW8MJFUnp952l2rWE4bQ3jsQsLyZIavsaTW3dmrOgWEBLIbKR_4vMdA4SAIhclV_ZatiZRCtl6sib7KIUXQ8rFq5UjY_Oc3_XfSOTzgJSwV0eVA5D7Sty88Zqf6ElQNRf2jt4srZ0q3O1flVdyjCYsigig8xl7vSlkt-TJgMi8efucGsLPCR4DbsR1tlS7ulc05wIQL3QgngMajfCSfkSnOig",
- "expires_in": 86400
}, - "error": {
- "code": 0
}
}
This method is used to respond to a rate request. If a quote is supplied, an option is created inside the Emerge Platform. If an error is sent, the reason the provider did not quote is given to the shipper.
Request model to submit the rates.
rate_request_id required | string The identifier for the rate request. This is provided by Emerge in the Rate Request Event. |
response_type | string Enum: "BID" "BOOK_IT_NOW" "NOT_INTERESTED" The type of response to the rate request. |
object This object identifies all relevant quote details. This object is optional if the "error_messages" object is in use. | |
error_messages | Array of strings Identifies reasons for not providing a quote. This field is optional if the "quote_details" object is in use. |
{- "rate_request_id": "31e34816-f50d-4158-88b8-768715f628b2",
- "response_type": "BID",
- "quote_details": {
- "provider_reference": "a55097d0-76e3-427c-bc67-613dd0a2ded2",
- "rate": {
- "amount": 100,
- "currency": "USD",
- "type": "LH_ONLY"
}, - "available_date": "2023-07-21T00:01:00-07:00",
- "expiration_date": "2021-09-22T12:01:56.9726183+00:00"
}, - "error_messages": [
- "Unable to Quote due to ..."
]
}
{- "error": {
- "code": 0
}
}
This method is used to delete the specified option.
rate_request_id | string Example: 070C895C-AE61-4629-A603-829FC54CD816 The identifier for the rate request. This is provided by Emerge in the Rate Request Event. |
{- "error": {
- "code": 0
}
}
This method is used to receive response for a Tender.
shipment_id | string Example: S123455 The identifier for the shipment. This is provided by Emerge in the Tender Request Event. |
Request model to submit the response.
event_id required | string The identifier for the tender request. This is provided by Emerge in the Tender Request Event. |
status required | string Enum: "ACCEPT" "REJECT" Defines tender status. |
rejection_reason | string Enum: "NO_CAPACITY" "SHORT_LEAD_TIME" "PICKUP_APPOINTMENT_NOT_FEASIBLE" "DELIVERY_APPOINTMENT_NOT_FEASIBLE" "TRANSIT_TIME_NOT_FEASIBLE" "VOLUME_COMMITMENT_MET" Identifies reasons for rejecting a tender. |
carrier_shipment_id | string Defines the carrier shipment id. |
{- "event_id": "40dbcdb1-272b-4ee3-8621-208b88fe0beb",
- "status": "ACCEPT",
- "rejection_reason": "NO_CAPACITY",
- "carrier_shipment_id": "S111171611"
}
{- "error": {
- "code": 0
}
}
This method is used to update tracking statuses of a shipment.
Request model to update tracking status.
shipment_id required | string The shipment reference identifier. |
event_type required | string Enum: "LOCATION_UPDATE" "ACTUAL_ARRIVAL" "ACTUAL_DEPARTURE" "ETA" The type of tracking event. |
trailer_number | string The trailer number. |
required | object This object identifies the data for the tracking event. |
{- "shipment_id": "S111338230",
- "event_type": "LOCATION_UPDATE",
- "trailer_number": "12345",
- "event_data": {
- "event_date_time": "2024-02-21T00:01:00-07:00",
- "stop_number": 1,
- "zone": "UT",
- "location": {
- "city": "Alviso",
- "state": "CA",
- "country": "US",
- "postal_code": "94107",
- "address": "1st A steet, Alviso, CA, 94107, US",
- "latitude": 45.98,
- "longitude": -123.93,
- "dms": {
- "latitude": {
- "direction": "N",
- "degrees": 45,
- "minutes": 58,
- "seconds": 48
}, - "longitude": {
- "direction": "W",
- "degrees": 123,
- "minutes": 55,
- "seconds": 48
}
}
}
}
}
{- "error": {
- "code": 0
}
}
event_id | string The unique identifier for the event. |
timestamp | string The date/time when the event was created in the Emerge application. This is a date/time offset. |
event_type | string The event type name. |
object This object contains all details associated with the event. | |
message_type | string Enum: "CREATE" "UPDATE" "AWARDED" "CLOSED" This indicates the type of message or event. |
{- "event_id": "31e34816-f50d-4158-88b8-768715f628b2",
- "timestamp": "2021-09-15T12:46:17.381291+00:00",
- "event_type": "rate_request",
- "event_data": {
- "response_requirements": {
- "respond_by_date_time": "2021-09-22T12:01:56.9726183+00:00",
- "rate_type_requested": "LH_ONLY"
}, - "request_from": {
- "shipper_id": "83fd91ea-39f5-4a91-bc0d-b6ca1a553d33",
- "name": "TestProvider",
- "type": "DIRECT_REQUEST"
}, - "request_to": {
- "capacity_provider_id": "83fd91ea-39f5-4a91-bc0d-b6ca1a553d33",
- "name": "TestCP",
}, - "relationship_identifiers": {
- "identifier1": "Customer",
- "identifier2": "CustRef123"
}, - "opportunity_details": {
- "opportunity_id": "Q1111111",
- "bid_duration_end": "2023-10-20T23:50:00.9697942+00:00",
- "book_it_now_rate": 3000.9,
- "cargo_value": 10000,
- "length_of_haul": {
- "value": "1101.1",
- "unit": "MI"
}, - "total_weight": {
- "value": "44000",
- "unit": "LB"
}, - "equipment_length": {
- "value": "53",
- "unit": "FT"
}, - "temperature": {
- "min_value": 10,
- "max_value": 30,
- "unit": "F"
}, - "equipment_type": "REEFER",
- "references": [
- {
- "type": "CUSTOMER",
- "value": "CustRef123"
}
], - "stops": [
- {
- "sequence": 1,
- "stop_type": "ORIGIN",
- "stop_action": "PICKUP",
- "loading_type": "LIVE",
- "notes": "3665 North Harbor Drive",
- "location": {
- "city": "San Diego",
- "state": "CA",
- "postal_code": "92101",
- "country_code": "US"
}, - "appointment": {
- "type": "FCFS",
- "earliest": "2021-09-22T00:00:00-08:00",
- "latest": "2021-09-22T00:00:00-08:00"
}
}
], - "commodities": [
- {
- "description": "FAK",
- "weight": 100,
- "unit_type": "PALLET"
}
], - "special_requirements": [
- {
- "code": "TEAM_DRIVERS"
}
], - "notes": [
- {
- "note": "string"
}
], - "match_id": "S1123456"
}
}, - "message_type": "CREATE"
}
event_id | string The unique identifier for the event. |
timestamp | string The date/time when the event was created in the Emerge application. This is a date/time offset. |
event_type | string The event type name. |
object This object contains all details associated with the event. |
{- "event_id": "31e34816-f50d-4158-88b8-768715f628b2",
- "timestamp": "2023-04-11T12:46:17.381291+00:00",
- "event_type": "tender_request",
- "event_data": {
- "response_requirements": {
- "respond_by_date_time": "2023-05-18T12:01:56.9726183+00:00"
}, - "request_from": {
- "shipper_id": "83fd91ea-39f5-4a91-bc0d-b6ca1a553d33",
- "name": "TestProvider"
}, - "request_to": {
- "capacity_provider_id": "83fd91ea-39f5-4a91-bc0d-b6ca1a553d33",
- "name": "TestCP",
}, - "relationship_identifiers": {
- "identifier1": "Customer",
- "identifier2": "CustRef123"
}, - "event_details": {
- "message_type": "UPDATE",
- "update_details": [
- "location",
- "appointment",
- "commodity",
- "stop_note"
]
}, - "shipment_details": {
- "shipment_id": "S123455",
- "quote_id": "Q1111111",
- "cargo_value": 1000,
- "length_of_haul": {
- "value": "1101.1",
- "unit": "MI"
}, - "total_weight": {
- "value": "44000",
- "unit": "LB"
}, - "temperature": {
- "min_value": 10,
- "max_value": 30,
- "unit": "F"
}, - "equipment_length": {
- "value": "53",
- "unit": "FT"
}, - "equipment_type": "REEFER",
- "references": [
- {
- "type": "CUSTOMER",
- "value": "CustRef123"
}
], - "stops": [
- {
- "sequence": 1,
- "stop_type": "ORIGIN",
- "stop_action": "PICKUP",
- "loading_type": "LIVE",
- "notes": "3665 North Harbor Drive",
- "location": {
- "name": "Target",
- "location_code": "12212",
- "address1": "N park ln",
- "address2": "corner 4th",
- "city": "San Diego",
- "state": "CA",
- "postal_code": "92101",
- "country_code": "US"
}, - "appointment": {
- "type": "FCFS",
- "earliest": "2023-04-11T00:00:00-08:00",
- "latest": "2023-04-11T00:00:00-08:00"
}, - "references": [
- {
- "type": "CUSTOMER",
- "value": "CustRef123"
}
],
}
], - "commodities": [
- {
- "description": "FAK",
- "weight": 100,
- "unit_type": "PALLET",
- "unit_count": 4
}
], - "special_requirements": [
- {
- "code": "TEAM_DRIVERS"
}
], - "notes": [
- {
- "note": "string"
}
], - "special_instructions": {
- "notes": "Test special instructions"
}
}
}
}