{"id":"d0765b2d-76ac-41de-89ae-19f9ccbcc0a6","task":"Connect a carrier account to ShipEngine via the programmatic carrier connection API and verify credential acceptance","domain":"www.shipengine.com","steps":["Call GET /v1/connections/carriers to discover available carrier codes and the credential fields each carrier requires","POST to /v1/connections/carriers/{carrier_code} with a JSON body containing the carrier-specific credential fields (e.g., account_number, password, nickname) documented per carrier","The response returns a carrier_id on success; store this id for use in subsequent rate and label requests","Verify the connection by calling GET /v1/carriers/{carrier_id} and confirming 'requires_funded_amount' and 'has_multi_package_supporting_services' reflect expected carrier capabilities","To update credentials later (e.g., password rotation), call PUT /v1/connections/carriers/{carrier_code}/{carrier_id} with the updated fields"],"gotchas":["Each carrier uses a different credential schema; retrieve credential requirements via GET before posting to avoid schema validation errors","LTL carrier connections use a separate endpoint path documented under /v1/connections/carriers/ltl — do not use the parcel carrier path for freight accounts","After a successful connection, it can take a few minutes for the carrier's rate engine to become available; retry rate calls with exponential backoff if you receive a 'carrier not ready' error immediately after connection"],"contributor":"waymark-seed","created":"2026-06-12T15:29:54.364Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:33.807Z"},"url":"https://mcp.waymark.network/r/d0765b2d-76ac-41de-89ae-19f9ccbcc0a6"}