# AxleHire (Jitsu) > Generated by API Evangelist on 2026-08-06. Method: generated (Jitsu publishes no /llms.txt — > https://gojitsu.com/llms.txt returns 404 and https://docs.gojitsu.com/llms.txt returns the > SPA shell). Assembled from apis.yml and the artifacts in this repository, all sourced from > Jitsu's own public documentation. AxleHire is a US last-mile delivery carrier founded in 2015. It rebranded as **Jitsu** in April 2024 and now operates at gojitsu.com — **axlehire.com no longer resolves in DNS**, so every historical link to docs.axlehire.com is dead with no redirect. Jitsu runs an asset-light gig-driver network across 23 of the 25 largest US metros, seven days a week, serving e-commerce, meal-kit and subscription-box shippers. ## The contract The Jitsu REST API is a real, published **OpenAPI 3.0.1** document: 34 operations, 28 paths, 31 component schemas, 33 in-spec examples. **It is not where you would look for it.** docs.gojitsu.com is a Firebase-hosted single-page app whose catch-all answers HTTP 200 with an 11,773-byte HTML shell for every unmatched path — including `/openapi.yaml`, `/llms.txt` and every `/.well-known/*` path. The real spec is at: - [OpenAPI 3.0.1](https://docs.gojitsu.com/Jitsu_Export/openapi.yaml): the Jitsu REST API v3 contract - [Docs table of contents](https://docs.gojitsu.com/Jitsu_Export/toc.json): the machine-readable doc index - Documentation pages: `https://docs.gojitsu.com/Jitsu_Export/docs/.md` ## Environments | | Staging | Production | |---|---|---| | API base URL | https://api.staging.gojitsu.com | https://api.gojitsu.com | | Client Portal | https://client.staging.gojitsu.com | https://client.gojitsu.com | Authentication is an opaque per-account token: `Authorization: Token `. There are no scopes. Tokens are issued in the Client Portal — but the account itself is provisioned by a human at Jitsu (api@gojitsu.com). There is no self-service signup, and production credentials are released only after Jitsu certifies the integration. ## Docs - [Integration Guide](https://docs.gojitsu.com/#/docs/QuickStart.md): tiers, environments, go-live process - [Authentication](https://docs.gojitsu.com/#/docs/Authentication.md): token format and rotation - [Testing & Simulation](https://docs.gojitsu.com/#/docs/Testing.md): staging lifecycle simulation API - [Life Cycle](https://docs.gojitsu.com/#/docs/Lifecycle.md): 9 standard + 18 exception statuses, inbound scan status - [Webhooks](https://docs.gojitsu.com/#/docs/Webhooks.md): 33 event types across 5 categories - [Errors](https://docs.gojitsu.com/#/docs/Errors.md): HTTP status reference - [Retry & Error Handling](https://docs.gojitsu.com/#/docs/RetryAndErrors.md): backoff, rate limits, idempotency guidance - [Shipment Labels](https://docs.gojitsu.com/#/docs/Labels.md): ZPL, PNG, PDF - [Tracking & Notifications](https://docs.gojitsu.com/#/docs/TrackingAndNotifications.md): tracking page, SMS, DAS - [Brands](https://docs.gojitsu.com/#/docs/Brands.md): per-brand tracking page and notification branding - [Delivery Coverage Areas](https://docs.gojitsu.com/#/docs/DeliveryCoverageAreas.md) - [Glossary](https://docs.gojitsu.com/#/docs/Glossary.md) - [SDKs Overview](https://docs.gojitsu.com/#/docs/SDKs.md) - [FAQs](https://docs.gojitsu.com/#/docs/FAQs.md) - [Status page](https://status.gojitsu.com/) - [Security / responsible disclosure](https://gojitsu.com/security) - [Trust center](https://trust.gojitsu.com/): SOC 2 Type 2 ## Operations, by area **Shipping** — `create` (POST /v3/shipments), `retrieve_1`, `updateShipment`, `cancelShipment`, `readyShipment`, `markAsShipped`, `markAsShippedBulk`, `updateShipmentTimeWindow`, `updateShipmentWorkload`, `updatePickupAddress`, `updateDropoffAddress`, `updateShipmentDropoffLocationInfo`, `updateCustomer`, `notes`, `getEstimatedFee` (POST /v3/shipments/rating), `getShipmentDeliveryFee`, `getPod`, `retrieveHistory` **Parcels** — `createParcels`, `getParcelsByShipmentId`, `updateParcel`, `updateAndAddParcels`, `updateOrDeleteParcel`, `deleteParcel`, `deleteParcels` **Labels** — `label` (GET /v3/shipments/{shipment_id}/label?format=PDF|PNG|ZPL), `labelParcel`, `labelParcels` **Tracking** — `retrieveEvents` (GET /v3/tracking/{tracking_code}/events), `retrieveHistory_1` **Assignments / drivers** — `retrieve` (GET /v3/assignments/{assignment_id}), `retrieveShipments`, `reportTip` ## SDKs Nine first-party SDKs — Python, Node.js, TypeScript, Go, Java, Dart, Ruby, PHP, C#. All version 1.0.0. **None of them is on a package registry.** Each ships as a zip downloaded from `https://docs.gojitsu.com/static/sdks/jitsu-sdk--1.0.0.zip` and vendored into your project. Jitsu's own note: "Future releases will be published to language-native package registries." npm and PyPI lookups both return 404 today. ## Events 33 distinct webhook event types in five categories: **Planning** (geocoding, DAS address correction, route assignment), **Inbound** (warehouse scan and receipt), **Outbound** (pickup, dropoff, return, carrier handoff), **POD** (delivery-photo review — not enabled by default), **Exceptions** (pickup/dropoff/return failure, disposal). Envelope: `{event, ts, geolocation, data}`. Delivery is at-least-once; deduplicate on `ts` + `event` + `data.shipment.id`. Endpoints are registered by emailing Jitsu — there is no subscription API, and no signature scheme is published. ## Things an agent should know before calling this API - **Not idempotent.** No `Idempotency-Key`. A retried `POST /v3/shipments` after a timeout can create a second real delivery. Look the shipment up by `internal_id` / `tracking_code` before retrying. - **No list endpoint.** There is no `GET /v3/shipments`. If you do not hold the `id`, you cannot enumerate your own shipments. - **10 QPS, account-wide**, in staging as well as production. No `RateLimit-*` or `Retry-After` headers — you cannot pace, only react. Back off 1s/2s/4s/8s to 60s with jitter. - **No typed errors.** The envelope is `{"message": "..."}` with no code, and the OpenAPI declares no 4xx or 5xx responses at all — a generated client sees an API that cannot fail. - **Two status fields.** `status` is the delivery lifecycle; `inbound_status` is warehouse handoff. Model both. - **Three shipment identifiers.** `id` (integer, used in paths), `tracking_code` (string, the only key tracking endpoints accept), `internal_id` (yours, stored but not operational). - **No MCP server, no agent card, no security.txt, no api-catalog, no AsyncAPI, no changelog, no deprecation policy.** ## Repository artifacts (API Evangelist) - openapi/axlehire-jitsu-rest-api.yml — the contract, verbatim - asyncapi/axlehire-webhooks.yml — the 33-event webhook catalog - authentication/axlehire-authentication.yml — auth profile - conventions/axlehire-conventions.yml — cross-cutting runtime semantics - errors/axlehire-problem-types.yml — status-code catalog + operational failure states - lifecycle/axlehire-lifecycle.yml — API versioning + the shipment state machine - rate-limits/axlehire-rate-limits.yml — the 10 QPS budget - sandbox/axlehire-sandbox.yml — staging + the lifecycle simulation API - packages/axlehire-packages.yml — the nine zip-distributed SDKs - data-model/axlehire-data-model.yml — entity graph - components/axlehire-components.yml — hosted recipient and operator surfaces - conformance/axlehire-conformance.yml — standards conformance, with the misses named - security/ — domain security probe, responsible disclosure, trust center - well-known/axlehire-well-known.yml — every /.well-known probe and its status - skills/ — five packaged agent skills grounded in verified operationIds - overlays/axlehire-jitsu-rest-api-overlay.yaml — our enhancements, without mutating the original