Reference
Code Examples
Complete LEX message examples in all four EDI formats, plus library usage samples for every supported language.
Complete LEAD Message
A full LEAD message with customer, desired product, financing, and metadata — the most common message type. Same data in all four wire formats.
{
"lex": {
"version": "1.0.0",
"header": {
"messageId": "550e8400-e29b-41d4-a716-446655440000",
"messageType": "LEAD",
"timestamp": "2026-03-28T14:30:00Z",
"senderId": "DEALER-001",
"receiverId": "MANUFACTURER-ABC"
},
"payload": {
"lead": {
"leadId": "LEAD-2026-001234",
"status": "EXPRESSED_INTEREST",
"source": "DEALER_WEBSITE",
"customer": {
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"phone": "+13125559876",
"address": {
"street1": "123 Main Street",
"city": "Springfield",
"state": "IL",
"postalCode": "62701",
"country": "US"
},
"preferences": {
"preferredContactMethod": "EMAIL",
"doNotCall": false
}
},
"desiredProduct": {
"assetClass": "VEHICLE",
"make": "Toyota",
"model": "Camry",
"year": 2026,
"trim": ["SE", "XSE"],
"fuelType": "HYBRID",
"priceRange": {
"min": 28000,
"max": 34000,
"currency": "USD"
}
},
"financing": {
"type": "FINANCE",
"downPayment": 5000,
"loanTerm": 60,
"currency": "USD"
},
"metadata": {
"createdAt": "2026-03-28T14:29:00Z",
"channel": "ONLINE"
}
}
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<lex version="1.0.0">
<header>
<messageId>550e8400-e29b-41d4-a716-446655440000</messageId>
<messageType>LEAD</messageType>
<timestamp>2026-03-28T14:30:00Z</timestamp>
<senderId>DEALER-001</senderId>
<receiverId>MANUFACTURER-ABC</receiverId>
</header>
<payload>
<lead>
<leadId>LEAD-2026-001234</leadId>
<status>EXPRESSED_INTEREST</status>
<customer>
<firstName>Jane</firstName>
<lastName>Smith</lastName>
<email>jane.smith@example.com</email>
<phone>+13125559876</phone>
</customer>
<desiredProduct>
<assetClass>VEHICLE</assetClass>
<make>Toyota</make>
<model>Camry</model>
<year>2026</year>
<fuelType>HYBRID</fuelType>
</desiredProduct>
</lead>
</payload>
</lex>
ISA*00* *00* *ZZ*DEALER-001 *ZZ*MFRABC *260328*1430*^*00501*000001234*0*T*:~
GS*LX*DEALER001*MFRABC*20260328*1430*1*X*005010~
ST*850*0001~
BEG*00*SA*LEAD-2026-001234**20260328~
CUR*BY*USD~
REF*CR*550e8400-e29b-41d4-a716-446655440000~
N1*BY*Jane Smith*92*CUST-001~
N2*Jane Smith~
N3*123 Main Street~
N4*Springfield*IL*62701*US~
PER*IC**EM*jane.smith@example.com*TE*+13125559876~
PO1*1*1*EA*28000.00**IN*VEHICLE*MF*TOYOTA*MD*CAMRY*YR*2026*FT*HYBRID~
PO4*1****EXPRESSED_INTEREST~
AMT*DL*5000.00~
AMT*TT*28000.00~
TD5*Z****LEAD_SOURCE*DEALER_WEBSITE~
CTT*1~
AMT*TT*28000.00~
SE*15*0001~
GE*1*1~
IEA*1*000001234~
UNB+UNOC:3+DEALER-001:14+MANUFACTURER-ABC:14+260328:1430+000001234'
UNH+1+ORDERS:D:96A:UN'
BGM+220+LEAD-2026-001234+9'
DTM+137:20260328:102'
CUX+2:USD:9'
RFF+CR:550e8400-e29b-41d4-a716-446655440000'
NAD+BY+CUST-001::92++Jane Smith+123 Main Street+Springfield+IL+62701+US'
CTA+IC+:jane.smith@example.com'
COM++TE:+13125559876'
LIN+1++'
PIA+5+VEHICLE:SA'
IMD+F+MF+:::TOYOTA:EN'
IMD+F+MD+:::CAMRY:EN'
IMD+F+YR+:::2026:EN'
IMD+F+FT+:::HYBRID:EN'
QTY+21:1:EA'
PRI+AAB:28000.00:CA:1:1:EA'
PAI+::42'
MOA+8:5000.00:USD'
STS++EXPRESSED_INTEREST'
UNT+18+1'
UNZ+1+000001234'
ACKNOWLEDGMENT Message
Sent by the receiver in response to every LEAD message. Carries the validation result and correlates back via correlationId.
{
"lex": {
"version": "1.0.0",
"header": {
"messageId": "ack-550e8400-0001",
"messageType": "ACKNOWLEDGMENT",
"timestamp": "2026-03-28T14:30:05Z",
"senderId": "MANUFACTURER-ABC",
"receiverId": "DEALER-001",
"correlationId": "550e8400-e29b-41d4-a716-446655440000"
},
"payload": {
"acknowledgment": {
"status": "ACCEPTED",
"receivedAt": "2026-03-28T14:30:04Z",
"validation": {
"valid": true,
"errors": []
}
}
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<lex version="1.0.0">
<header>
<messageId>ack-550e8400-0001</messageId>
<messageType>ACKNOWLEDGMENT</messageType>
<timestamp>2026-03-28T14:30:05Z</timestamp>
<senderId>MANUFACTURER-ABC</senderId>
<receiverId>DEALER-001</receiverId>
<correlationId>550e8400-e29b-41d4-a716-446655440000</correlationId>
</header>
<payload>
<acknowledgment>
<status>ACCEPTED</status>
<receivedAt>2026-03-28T14:30:04Z</receivedAt>
<validation>
<valid>true</valid>
<errors/>
</validation>
</acknowledgment>
</payload>
</lex>
ISA*00* *00* *ZZ*MANUFACTURER-ABC *ZZ*DEALER-001 *260328*1430*^*00501*000001235*0*T*:~
GS*FA*MFRABC*DEALER001*20260328*1430*2*X*005010~
ST*997*0002~
AK1*LX*1~
AK2*850*0001~
AK5*A~
AK9*A*1*1*1~
SE*5*0002~
GE*1*2~
IEA*1*000001235~
UNB+UNOC:3+MANUFACTURER-ABC:14+DEALER-001:14+260328:1430+000001235'
UNH+1+CONTRL:D:96A:UN'
UCI+550e8400-e29b-41d4-a716-446655440000+DEALER-001:14+MANUFACTURER-ABC:14+8'
UCM+1+ORDERS:D:96A:UN+7'
UNT+4+1'
UNZ+1+000001235'
LEAD_CLOSURE Message
Records the final outcome of a lead — won, lost, duplicate, or abandoned. Required for Level 2 conformance.
{
"lex": {
"version": "1.0.0",
"header": {
"messageId": "closure-7f3e9d12-0001",
"messageType": "LEAD_CLOSURE",
"timestamp": "2026-04-02T09:15:00Z",
"senderId": "DEALER-001",
"receiverId": "MANUFACTURER-ABC"
},
"payload": {
"closure": {
"leadId": "LEAD-2026-001234",
"outcome": "WON",
"closedAt": "2026-04-01T16:30:00Z",
"finalStatus": "ORDER",
"salePrice": {
"amount": 31500,
"currency": "USD"
},
"notes": "Customer accepted SE trim with sunroof package"
}
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<lex version="1.0.0">
<header>
<messageId>closure-7f3e9d12-0001</messageId>
<messageType>LEAD_CLOSURE</messageType>
<timestamp>2026-04-02T09:15:00Z</timestamp>
<senderId>DEALER-001</senderId>
<receiverId>MANUFACTURER-ABC</receiverId>
</header>
<payload>
<closure>
<leadId>LEAD-2026-001234</leadId>
<outcome>WON</outcome>
<closedAt>2026-04-01T16:30:00Z</closedAt>
<finalStatus>ORDER</finalStatus>
<salePrice>
<amount>31500</amount>
<currency>USD</currency>
</salePrice>
<notes>Customer accepted SE trim with sunroof package</notes>
</closure>
</payload>
</lex>
ISA*00* *00* *ZZ*DEALER-001 *ZZ*MFRABC *260402*0915*^*00501*000001236*0*T*:~
GS*LX*DEALER001*MFRABC*20260402*0915*3*X*005010~
ST*850*0003~
BEG*00*SA*closure-7f3e9d12-0001**20260402~
RFF*SZ*LEAD-2026-001234~
STS**WON~
DTM*011*20260401~
AMT*TT*31500.00~
TD5*Z****OUTCOME*WON~
TD5*Z****FINAL_STATUS*ORDER~
CTT*1~
SE*9*0003~
GE*1*3~
IEA*1*000001236~
UNB+UNOC:3+DEALER-001:14+MANUFACTURER-ABC:14+260402:0915+000001236'
UNH+1+ORDERS:D:96A:UN'
BGM+220+closure-7f3e9d12-0001+9'
DTM+137:20260402:102'
RFF+SZ:LEAD-2026-001234'
STS++WON'
DTM+011:20260401:102'
MOA+66:31500.00:USD'
IMD+F+FS+:::ORDER:EN'
UNT+9+1'
UNZ+1+000001236'
API Definitions
Machine-readable API definitions for tooling integration — OpenAPI for REST endpoints, AsyncAPI for event-driven messaging.
OpenAPI 3.1
REST endpoint definitions — use with Swagger UI, Postman, or any OpenAPI toolchain
api/lex-openapi.yaml ↗
AsyncAPI 3.0
Event-driven messaging definitions — Kafka, AMQP, WebSocket, and webhook transports
api/lex-asyncapi.yaml ↗
EDI Reference
Segment-level field mapping for JSON-EDI, XML-EDI, X12 850, and EDIFACT ORDERS
edi-reference.html →
All Examples
Full examples for every industry (automotive, aviation, maritime, heavy-equipment, real-estate, technology)
examples/ ↗
Whitepaper
The full LEX specification whitepaper — available as a formatted PDF or as a browsable HTML document.