AxleHire (Jitsu) · OpenAPI Overlay 1.0.0
API Evangelist enhancements — Jitsu REST API
9 actions
9 updates
update
extends
../openapi/axlehire-jitsu-rest-api.yml
Generated by API Evangelist
Written by API Evangelist tooling for AxleHire (Jitsu)'s API. It is a proposal applied on top of the contract, not a document AxleHire (Jitsu) publishes.
What the actions change
x-agentic-accessx-evidencex-former-namex-rebrand-datex-not-coveredx-error-catalogx-conventionsx-webhooks-catalog
Targets 7
$.info
$
$.components.securitySchemes.Authorization
$.paths['/v3/shipments'].post
$.paths['/v3/shipments/{shipment_id}/cancel'].post
$.paths['/v3/shipments/{shipment_id}/label'].get
$.tags
OpenAPI Overlay
# authorship: generated by API Evangelist tooling. Stamped 2026-08-18
# on the file's own generator header (roadmap#64). An unmarked file is
# NOT assumed to be ours -- absence of evidence was never stamped.
x-method: generated
overlay: 1.0.0
info:
title: API Evangelist enhancements — Jitsu REST API
version: 1.0.0
x-generated: '2026-08-06'
x-method: generated
x-source: >-
Generated by the API Evangelist enrichment pipeline against
openapi/axlehire-jitsu-rest-api.yml (fetched verbatim from
https://docs.gojitsu.com/Jitsu_Export/openapi.yaml). Every value added below
is sourced from Jitsu's own published documentation — nothing is invented.
The original spec is never mutated; apply this overlay to get the enriched
view.
extends: ../openapi/axlehire-jitsu-rest-api.yml
actions:
- target: $.info
description: Record where the contract was found and what it does not cover.
update:
x-evidence:
fetched: '2026-08-06'
url: https://docs.gojitsu.com/Jitsu_Export/openapi.yaml
http_status: 200
content_type: text/yaml
bytes: 134234
note: >-
The docs host is a Firebase SPA — https://docs.gojitsu.com/openapi.yaml
returns the 11773-byte HTML shell. The real contract is under
/Jitsu_Export/.
x-former-name: AxleHire
x-rebrand-date: '2024-04'
x-not-covered:
- >-
The staging lifecycle simulation endpoints
(/v3/simulation/happy_path/shipments/{shipment_id},
/v3/simulation/sad_path/shipments/{shipment_id},
/v3/simulation/shipments/{shipment_id}/{SHIPMENT_SIGNAL}) are documented
in Testing.md but absent from this contract.
- No error responses are declared; see x-error-catalog.
x-error-catalog: ../errors/axlehire-problem-types.yml
x-conventions: ../conventions/axlehire-conventions.yml
x-webhooks-catalog: ../asyncapi/axlehire-webhooks.yml
x-lifecycle: ../lifecycle/axlehire-lifecycle.yml
- target: $.info
description: Attach the documentation entry points Jitsu publishes.
update:
x-documentation:
integration_guide: https://docs.gojitsu.com/#/docs/QuickStart.md
authentication: https://docs.gojitsu.com/#/docs/Authentication.md
testing: https://docs.gojitsu.com/#/docs/Testing.md
lifecycle: https://docs.gojitsu.com/#/docs/Lifecycle.md
webhooks: https://docs.gojitsu.com/#/docs/Webhooks.md
errors: https://docs.gojitsu.com/#/docs/Errors.md
retry_and_errors: https://docs.gojitsu.com/#/docs/RetryAndErrors.md
labels: https://docs.gojitsu.com/#/docs/Labels.md
brands: https://docs.gojitsu.com/#/docs/Brands.md
glossary: https://docs.gojitsu.com/#/docs/Glossary.md
sdks: https://docs.gojitsu.com/#/docs/SDKs.md
status: https://status.gojitsu.com/
- target: $
description: >-
Record the account-wide rate limit Jitsu documents but does not express in
the contract, and the fact that it signals no rate-limit headers.
update:
x-rate-limits:
limit: 10
metric: requests_per_second
scope: account
environments: [production, staging]
throttle_status: 429
response_headers: none
backoff: exponential 1s/2s/4s/8s capped at 60s with 10-20% jitter
source: https://docs.gojitsu.com/#/docs/RetryAndErrors.md
detail: ../rate-limits/axlehire-rate-limits.yml
- target: $
description: Record the idempotency posture explicitly — the contract is silent, the docs are not.
update:
x-idempotency:
supported: false
mechanism: none
guidance: >-
Jitsu publishes no Idempotency-Key header. A retried POST /v3/shipments
after a timeout can create a duplicate shipment. The documented
mitigation is to send a stable internal_id or tracking_code and to look
the shipment up before retrying.
source: https://docs.gojitsu.com/#/docs/RetryAndErrors.md
- target: $.components.securitySchemes.Authorization
description: Clarify the token format, its scope model and where it is issued.
update:
x-token-format: 'Authorization: Token <YOUR_API_TOKEN>'
x-issued-at: https://client.gojitsu.com/ (Settings → API Token)
x-staging-issued-at: https://client.staging.gojitsu.com/
x-scopes: none — a token carries full account permissions
x-self-service: false
x-detail: ../authentication/axlehire-authentication.yml
- target: $.paths['/v3/shipments'].post
description: >-
Flag the duplicate-creation risk on the one required operation in the whole
integration.
update:
x-idempotent: false
x-retry-safe: false
x-natural-keys: [internal_id, tracking_code]
x-agentic-access:
action_class: write
consequence: irreversible-side-effect
note: >-
Creates a real physical delivery and incurs cost. Not safe to retry
blind; confirm via GET /v3/shipments/{shipment_id} before re-issuing.
- target: $.paths['/v3/shipments/{shipment_id}/cancel'].post
description: Mark the consequence class of cancellation.
update:
x-agentic-access:
action_class: write
consequence: irreversible-side-effect
note: >-
Produces CANCELLED_BEFORE_PICKUP or CANCELLED_AFTER_PICKUP depending on
timing; cannot be undone by the API.
- target: $.paths['/v3/shipments/{shipment_id}/label'].get
description: Record the label formats and the response encoding, which the contract does not state.
update:
x-formats: [PDF, PNG, ZPL]
x-default-format: PDF
x-response-encoding: base64 string in the `label` field
x-source: https://docs.gojitsu.com/#/docs/Labels.md
- target: $.tags
description: >-
Note the tag/route inconsistency — a "Partner Information" tag is used on
/v3/partner/tracking/{tracking_code}/events but is not declared in tags[],
and two operations share the operationId `retrieveEvents`.
update:
x-tag-issues:
undeclared_tags: [Partner Information]
duplicate_operation_ids:
- operationId: retrieveEvents
paths:
- '/v3/tracking/{tracking_code}/events'
- '/v3/partner/tracking/{tracking_code}/events'
note: >-
Duplicate operationIds break code generation — most generators either
collide or silently drop one of the two methods.