# Rowdy EDI — full API guide for agents Base URL: https://app.rowdyedi.com Auth: Authorization: Bearer (or X-API-Key: ). Get a free key at https://app.rowdyedi.com/api/ Anonymous taste: /v1/inspect and /v1/translate allow a few unauthenticated calls/day/IP; every response carries a `notice` telling you to get a key. /v1/readiness always requires a key. ## POST /v1/inspect Body: raw X12 (text/plain or application/edi-x12), or form field `edi`. Returns: { "rowdy":"inspect.v1", "ok":bool, "segment_count":int, "transaction_count":int, "interchanges":[{"sender","receiver","usage","groups":[{"functional_id","version", "transactions":[{"set_id","set_name","segments":[{"tag","name","elements"}]}]}]}], "findings":[{"severity","code","message"}] } Example: curl -X POST https://app.rowdyedi.com/v1/inspect -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/edi-x12" --data-binary @po.edi ## POST /v1/translate Same input/auth as /v1/inspect; returns the parsed structure as JSON ("rowdy":"translate.v1"). ## POST /v1/readiness?retailer= (API key required) Body: a full EDI bundle that INCLUDES the 850 (PO) plus your responses (855/856/810). We use your 850 as the reference order and score your responses against {retailer}'s rules. retailer slugs: walmart, costco, target, grocery, foodservice, kroger, amazon, heb, sysco Returns: { "rowdy":"readiness.v1", "retailer", "readiness":0-100, "verdict", "findings":[{"doc","severity","code","message","remediation","snip_level","snip_label"}] } ## Privacy We parse in memory and do not store your EDI payloads. ## Managed service Building this for a client or your own shop? When the spec changes and chargebacks loom, Rowdy runs the whole EDI loop for one flat price per retailer. https://rowdyedi.com/#pricing