openapi: 3.1.0 info: title: EDI 214 Transportation Carrier Shipment Status EDI Processing Transactions API description: REST API interface for EDI X12 214 Transportation Carrier Shipment Status Message. The EDI 214 is an ANSI X12 standard used by transportation carriers to provide shippers, consignees, and agents with shipment status in terms of dates, times, locations, route, and conveyance. Key segments include B10 (tracking identifier), MS1 (current location), and AT7 (current status code). This API translates X12 214 segments into JSON for carrier status updates, delivery confirmations, and exception reporting. Based on the Stedi EDI platform which provides comprehensive X12 214 tooling. version: 1.0.0 contact: name: Stedi Support url: https://www.stedi.com/ license: name: X12 License url: https://x12.org/ servers: - url: https://api.stedi.com/2024-01-01 description: Stedi EDI API - url: https://edi-gateway.logistics-platform.example.com/api description: Generic EDI-to-HTTP Gateway security: - apiKey: [] tags: - name: Transactions description: X12 transaction set management paths: /transactions: get: operationId: listTransactions summary: List EDI 214 transactions description: Returns a list of EDI 214 transactions processed through the gateway. tags: - Transactions parameters: - name: direction in: query description: Filter by transaction direction schema: type: string enum: - INBOUND - OUTBOUND - name: processedAfter in: query description: Filter transactions processed after this timestamp schema: type: string format: date-time - name: status in: query schema: type: string enum: - PROCESSED - FAILED - PENDING - ACKNOWLEDGED - name: limit in: query schema: type: integer default: 50 responses: '200': description: List of transactions content: application/json: schema: $ref: '#/components/schemas/TransactionList' /transactions/{transactionId}: get: operationId: getTransaction summary: Get EDI 214 transaction details description: Returns the full parsed content of a specific EDI 214 transaction. tags: - Transactions parameters: - name: transactionId in: path required: true schema: type: string responses: '200': description: Transaction details content: application/json: schema: $ref: '#/components/schemas/Edi214Document' '404': $ref: '#/components/responses/NotFound' components: schemas: Ms1Segment: type: object description: MS1 - Equipment, Shipment, or Real Property Location properties: cityName: type: string description: MS1:01 - City name of current location example: Dallas stateOrProvinceCode: type: string description: MS1:02 - State or province code example: TX countryCode: type: string description: MS1:03 - Country code pattern: ^[A-Z]{2}$ longitudeCode: type: string description: MS1:04 - Longitude in degrees/minutes (DDDMM.MM format) latitudeCode: type: string description: MS1:05 - Latitude in degrees/minutes (DDMM.MM format) directionIdentifierCode: type: string description: MS1:06 - Hemisphere direction for longitude (E/W) enum: - E - W directionIdentifierCodeLatitude: type: string description: MS1:07 - Hemisphere direction for latitude (N/S) enum: - N - S TransactionList: type: object properties: total: type: integer transactions: type: array items: type: object properties: transactionId: type: string direction: type: string enum: - INBOUND - OUTBOUND status: type: string processedAt: type: string format: date-time trackingNumber: type: string scac: type: string B10Segment: type: object description: B10 - Beginning Segment for Transportation Carrier Shipment Status Message properties: referenceIdentification: type: string description: B10:01 - Reference identification number (carrier tracking/PRO number) example: '1234567890' shipmentIdentificationNumber: type: string description: B10:02 - Carrier-assigned shipment identification number scac: type: string description: B10:03 - Standard Carrier Alpha Code example: FXFE minLength: 2 maxLength: 4 inquiryRequestNumber: type: string description: B10:04 - Inquiry request number (for response to 213) Edi214Document: type: object description: Parsed representation of an X12 EDI 214 transaction set properties: transactionSetId: type: string description: Transaction set control number (ST:02) example: '0001' interchangeControlNumber: type: string description: ISA control number functionalGroupId: type: string description: GS control number sender: type: object properties: id: type: string description: ISA sender ID qualifier: type: string receiver: type: object properties: id: type: string qualifier: type: string header: $ref: '#/components/schemas/B10Segment' shipmentGroups: type: array items: $ref: '#/components/schemas/LxLoop' Ms2Segment: type: object description: MS2 - Equipment or Container Owner and Type properties: standardCarrierAlphaCode: type: string description: MS2:01 - Equipment owner SCAC example: FXFE equipmentNumber: type: string description: MS2:02 - Equipment/trailer number example: AB102 equipmentDescriptionCode: type: string description: MS2:03 - Type of equipment enum: - '01' - '02' - '11' - '12' - AB - TA - TL - CN - TR Q2Segment: type: object description: Q2 - Status Details (Weight, quantity, lading details) properties: lading: type: number description: Q2:02 - Weight in pounds weightUnitCode: type: string description: Q2:03 - Weight unit code enum: - L - K - N packageCount: type: integer description: Q2:05 - Number of packages packagingFormCode: type: string description: Q2:06 - Packaging form code LxLoop: type: object description: LX detail loop containing status events for a shipment segment properties: lxAssignedNumber: type: integer description: LX:01 - Assigned number for each detail loop statusEvents: type: array description: AT7 status events in this LX loop items: $ref: '#/components/schemas/At7Segment' currentLocation: $ref: '#/components/schemas/Ms1Segment' equipmentDetails: $ref: '#/components/schemas/Ms2Segment' shipmentQuantity: $ref: '#/components/schemas/Q2Segment' At7Segment: type: object description: AT7 - Shipment Status Details segment properties: shipmentStatusCode: type: string description: AT7:01 - Shipment status code examples: - X3 - D1 - AF - X1 - OA - AG - P1 - CD enum: - X3 - D1 - AF - X1 - OA - AG - P1 - CD - X6 statusReasonCode: type: string description: AT7:02 - Status reason code (why status occurred) examples: - NS - RR - CP - NA - AG appointmentStatusCode: type: string description: AT7:03 - Appointment status code appointmentReasonCode: type: string description: AT7:04 - Appointment reason code date: type: string description: AT7:05 - Date of status event (CCYYMMDD) pattern: ^[0-9]{8}$ example: '20260318' time: type: string description: AT7:06 - Time of status event (HHMM) pattern: ^[0-9]{4}$ example: '1200' timeCode: type: string description: AT7:07 - Time zone code enum: - ET - CT - MT - PT - AT - HT - UT - AD - BD - CD - DD - ED - FD - GD - HD - ID - JD - KD - LD - MD - ND - OD Error: type: object properties: code: type: string message: type: string details: type: string responses: NotFound: description: Shipment or transaction not found content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: apiKey: type: apiKey in: header name: Authorization description: API key in format "Key {your_api_key}" for Stedi platform access