{"openapi":"3.1.0","info":{"title":"ShipLabel","version":"0.1.0","description":"USPS shipping labels through EasyPost Forge. The agent drafts a label. The human pays postage plus a service fee. EasyPost buys only after the shared billing webhook reports payment_status paid.","contact":{"name":"Telep IO","email":"jon@telep.io","url":"https://telep.io"}},"paths":{"/v1/ship-label":{"get":{"tags":["ship-label"],"summary":"Connector descriptor","responses":{"200":{"description":"OK"}}}},"/v1/ship-label/openapi.json":{"get":{"tags":["ship-label"],"summary":"This OpenAPI document","responses":{"200":{"description":"OK"}}}},"/v1/ship-label/shipments":{"get":{"tags":["ship-label"],"summary":"List shipment drafts","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing key"}}},"post":{"tags":["ship-label"],"summary":"Draft a USPS shipment (does not buy postage)","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["from","to","parcel"],"properties":{"from":{"type":"object","required":["name","address_line1","address_city","address_state","address_zip"],"properties":{"name":{"type":"string"},"address_line1":{"type":"string"},"address_line2":{"type":"string"},"address_city":{"type":"string"},"address_state":{"type":"string"},"address_zip":{"type":"string"},"address_country":{"type":"string","default":"US"}}},"to":{"type":"object","required":["name","address_line1","address_city","address_state","address_zip"],"properties":{"name":{"type":"string"},"address_line1":{"type":"string"},"address_line2":{"type":"string"},"address_city":{"type":"string"},"address_state":{"type":"string"},"address_zip":{"type":"string"},"address_country":{"type":"string","default":"US"}}},"parcel":{"type":"object","required":["weight_oz","length_in","width_in","height_in"],"properties":{"weight_oz":{"type":"number"},"length_in":{"type":"number"},"width_in":{"type":"number"},"height_in":{"type":"number"}}},"carrier_hint":{"type":"string","description":"Optional. Only USPS is accepted."}}}}}},"responses":{"201":{"description":"Created"},"401":{"description":"Missing key"}}}},"/v1/ship-label/shipments/{id}":{"get":{"tags":["ship-label"],"summary":"Get USPS rates for a draft","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Not found"}}}},"/v1/ship-label/shipments/{id}/checkout":{"post":{"tags":["ship-label"],"summary":"Create a checkout session (stub)","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Not found"},"409":{"description":"Not a draft"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Authorization: Bearer muse_sk_{demo|test|live}_{token}"}}},"tags":[{"name":"ship-label","description":"Draft and buy a USPS shipping label"}]}