Shipment API profile
Shipment Visibility API
Shipment visibility, built for integration.
Send us a shipment’s identifiers. We agree on ocean terminal and rail milestone delivery and reference mapping during onboarding.
Use-case fit
Ocean Terminal Visibility
- Who it is for
- Teams that retain shipment ownership and need EDRAY visibility data.
- You provide
- Shipment identifiers
- Equipment identifiers
- Locations needed for matching
- EDRAY provides
- Create and reconcile the visibility record
- Normalize ocean terminal and rail visibility data
- Return governed visibility updates through the approved integration
- You receive
- Ocean terminal visibility data
- Rail visibility data
Onboarding
Three steps to production
01
Authenticate
We provide an APIM subscription key and confirm approved access during onboarding.
02
We test together
Validate the agreed request and milestone delivery during onboarding.
03
Go live
After validation, we agree on production approval and activation.
Production contract reference
Integrate shipment visibility
This reference reflects the production APIM definition and routing inspected on September 16, 2026, not captured transactions. Access and integration-specific behavior are confirmed during onboarding.
Before you begin
You need EDRAY approval and an APIM subscription key for production shipment creation. Use the endpoint and identifier mappings supplied during onboarding. The agreed contract may be tailored to your integration.
The example uses fictional data and api.example.invalid, a non-routable .invalid host. Replace the sample IDs with values approved by EDRAY for your integration.
What you send us
Send one shipment object to POST /prod/shipment. The production schema requires shipperId, containerTypeId, containerNumber, isCancelled, isActive, and shipmentCreated. These are documented schema requirements; their runtime validation has not been verified.
curl --request POST https://api.example.invalid/prod/shipment \
--header "Ocp-Apim-Subscription-Key: $APIM_SUBSCRIPTION_KEY" \
--header 'Content-Type: application/json' \
--data '{
"shipperId": 1,
"containerTypeId": 1,
"containerNumber": "EDRU1234567",
"isCancelled": false,
"isActive": true,
"shipmentCreated": "2026-09-16T12:00:00Z",
"masterBillOfLading": "EXAMPLE-MBL-001",
"customerReferenceNumber": "SHP-EXAMPLE-001"
}'What you get back
The production definition documents HTTP 201 with a Shipment body. The configured route queues the request and passes through the backend response without a standard acceptance envelope. The actual HTTP status and body have not been verified by a transaction.
A queue acknowledgement does not confirm that a shipment was created. Agree on how completed processing is confirmed before integrating.
Receive milestones
Ocean terminal and rail milestone delivery is integration-specific. During onboarding, agree on the fields, reference mapping, delivery method, authentication, and retry behavior. Verify that delivery works with your receiving system in the agreed validation session.
The production milestone retrieval definition contains an events array of MilestoneOB objects, with fields such as EventName, EventDate, ContainerNumber, MasterBillOfLading, and CustomerReference. This retrieval format is not a standard customer webhook payload; use the delivery contract agreed for your integration.
Errors and support
The inspected production creation policy does not define a common error body or field-level validation response. Handle the HTTP status and response returned by the backend; do not depend on a fixed JSON error format. Retain request time, shipment references, and response details for support, excluding credentials.
Failures after acceptance are not returned by the original request. Agree on how processing failures are reported and resolved during onboarding. Confirm retry and duplicate-handling behavior before resubmitting a shipment.
Endpoint index
- POST
/prod/shipmentSubmit one shipment object for queued processing.
201 documented; backend response passed throughSubmit one shipment object for queued processing.
Integration governance
Access and operating expectations
Use the subscription and shipment identifiers approved for your integration. Confirm permitted shipment scope with EDRAY during onboarding.
APIM subscription
Production shipment creation requires an APIM subscription key. Keep credentials in your server-side integration.
Request records and recovery
Retain request time, shipment references, HTTP status, and response details for support. Confirm retry and duplicate-handling behavior during onboarding.
Integration-specific delivery
Agree on milestone fields, delivery method, and authentication during onboarding.
Private-preview access
Use the HTTPS APIM endpoint and access details provided for your approved integration. Production access is managed with EDRAY.
Public field definitions
Required by the production schema
The creation definition requires these fields in one shipment object. Runtime validation has not been verified; obtain approved IDs during onboarding.
shipperIdnumber- Integer shipper identifier approved by EDRAY for your integration.
containerTypeIdnumber- Integer container type identifier from the agreed equipment mapping.
containerNumberstring- Container identifier; the schema specifies a maximum of 25 characters.
isCancelledboolean- Whether the shipment is cancelled.
isActiveboolean- Whether the shipment is active.
shipmentCreatedstring- Shipment creation timestamp in date-time format.
Additional shipment references
These fields are defined in the production schema but are not in its required list. Confirm reference mapping during onboarding.
masterBillOfLadingstring- Ocean carrier master bill of lading associated with the shipment.
customerReferenceNumberstring- Your customer reference number in the production shipment request.
Get in touch
Plan your integration
Tell us about your shipment visibility needs to start an onboarding conversation.
Loading form…
Having trouble with the form? View onboarding options.
