canonical: https://jentic.com/apis/motiontools/motiontools

# MotionTools API

Jentic publishes the only available OpenAPI specification for MotionTools API, keeping it validated and agent-ready. MotionTools is a delivery logistics platform that powers branded courier and last-mile operations for retailers and operators. The API exposes 38 endpoints covering authentication, user and driver management, organisations, services and capabilities, bookings, tours, tenant configuration, and file uploads. Authentication uses bearer tokens issued via the `/auth/signin` and `/auth/refresh` endpoints.

## For AI agents

Manage delivery logistics through MotionTools - authenticate users, create bookings, build tours, and configure drivers, services, and organisations.

## Scope

Does not handle payment processing, vehicle telematics, or marketing campaigns - use for delivery logistics, bookings, tours, and driver management only.

## Capabilities

- Sign users in via `/auth/signin` and refresh tokens via `/auth/refresh`
- Create and update delivery bookings through the /bookings endpoints
- Group bookings into tours and assign them to drivers via the /tours endpoints
- Manage drivers, organisations, and services for a tenant
- Read and update tenant customisations via `/api/tenant/customizations`
- Upload files associated with bookings, tours, or driver records via /uploads
- Read and update the authenticated user's account and profile data

## Use cases

### Branded Last-Mile Delivery Operations

Retailers running their own last-mile fleet use MotionTools to ingest bookings from their storefront, group them into tours, and dispatch them to drivers. The API authenticates dispatchers via `/auth/signin`, creates bookings through the /bookings endpoints, and assembles tours via /tours. This replaces ad-hoc dispatcher tooling with an API-driven workflow.

Example prompt: Sign in via `/auth/signin`, create a booking with pickup and dropoff addresses via the /bookings endpoint, then attach it to an open tour via /tours.

### Driver and Service Catalogue Management

Operations teams keep their MotionTools drivers, services, and capabilities in sync with HR and product changes. The API lets agents add new drivers, update service definitions, and adjust capabilities so the dispatch logic always reflects the live operating constraints. This avoids drift between the platform and the back-office systems of record.

Example prompt: List drivers via the /users endpoints filtered by driver role, then update their organisation assignment for a new shift pattern.

### Tenant Customisation Read-and-Write

Multi-brand operators maintain separate customisations per tenant - branding, supported services, capabilities. The `/api/tenant/customizations` endpoint exposes those settings so an admin agent can read the current state and apply diffed updates programmatically. This keeps onboarding of new tenants scriptable.

Example prompt: Read `/api/tenant/customizations`, modify the branding fields, and write the updated payload back to apply changes.

### Dispatch Agent via Jentic

An AI dispatch agent that needs to create a delivery for a new order searches Jentic for the booking creation operation, loads the input schema, and executes. Jentic injects the bearer token, so the agent never has the user's MotionTools credentials in context. The same agent can then attach the booking to a tour via a follow-up Jentic call.

Example prompt: Search Jentic for 'create a MotionTools delivery booking', load the /bookings operation, and execute it with the order's pickup and dropoff payload.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/auth/signin` | Sign a user in and receive a bearer token |
| POST | `/auth/refresh` | Refresh an access token |
| POST | `/auth/signout` | Sign the current user out |
| GET | `/account` | Read the authenticated account |
| GET | `/profile` | Read the authenticated user's profile |
| GET | `/users` | List users in the tenant |
| GET | `/organizations` | List organisations under the tenant |
| GET | `/api/tenant/customizations` | Read tenant customisations |

## Key resources

- **Authentication** — Sign-up, sign-in, refresh, and sign-out flows that issue bearer tokens.
- **User Account** — Read and update the authenticated user's account and profile.
- **User Management** — Manage users and roles within a tenant.
- **Driver** — Manage driver records associated with organisations.
- **Organizations** — Manage organisation entities under a tenant.
- **Services** — Configure delivery services offered to customers.
- **Bookings** — Create, list, update, and cancel delivery bookings.
- **Tours** — Group bookings into driver tours.
- **Capabilities** — Manage delivery capabilities exposed by services.
- **Uploads** — Upload files attached to bookings or driver records.
- **Tenant Configuration** — Read and write tenant-level customisations.

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 64 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 76 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 49 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 61 / 100
- **View full report:** https://jentic.com/apis/motiontools/motiontools/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring MotionTools by hand means calling `/auth/signin` for a bearer, refreshing it at `/auth/refresh`, and mapping delivery, booking, and driver actions across its endpoints. Through Jentic you install once, import the MotionTools API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** MotionTools carries its targets in the request body rather than the URL path, so limit the agent to the operations it needs, such as reading the account, profile, or organizations. You choose the operations it may call, so sign-out is not included unless you add it.
- **Credential handling:** Your MotionTools sign-in credentials are stored once, encrypted, by your own Jentic One instance and exchanged for the short-lived bearer at execution time. The raw password never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a delivery booking' or 'assign a tour to a driver', and Jentic returns the matching MotionTools operation with its input schema, so the agent picks the right endpoint without browsing the docs.

## Related APIs

- **Routific API** — Routific optimises driver routes for the bookings MotionTools dispatches.
- **Track-POD API** — Track-POD covers proof-of-delivery and route execution as an alternative dispatch platform.
- **Slack API** — Slack notifies dispatchers when MotionTools bookings or tours change state.

## FAQ

### Why is there no official OpenAPI spec for MotionTools API?

MotionTools does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call MotionTools API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the MotionTools API use?

MotionTools uses bearer authentication. Sign in via `/auth/signin` to receive an access token, refresh via `/auth/refresh`, and sign out via `/auth/signout.` Through Jentic, sign-in credentials live in the encrypted vault and only the bearer token reaches the agent context.

### Can I create a delivery booking via the MotionTools API?

Yes. The /bookings endpoints support creating, listing, updating, and cancelling bookings, with pickup and dropoff details, services, and capability requirements specified in the request body.

### What are the rate limits for the MotionTools API?

MotionTools does not publish hard limits in the spec. Cache the bearer token returned by `/auth/signin` for its lifetime and use `/auth/refresh` rather than re-signing in on every request.

### How do I create a delivery through Jentic?

Run pip install jentic, search 'create a MotionTools delivery booking', load the /bookings operation, and execute it with pickup and dropoff details. Jentic supplies the bearer token from your vault.

### Is the MotionTools API free?

API access is part of the MotionTools subscription, priced per workspace and active driver. Contact MotionTools for current pricing tiers.

### Can I limit what my agent is allowed to do with the MotionTools API?

Yes. Because you run Jentic One yourself, your own rules decide which MotionTools operations and credentials the agent may use, so you can grant only the calls it needs, such as reading the account, profile, or organizations while withholding booking, tour, or driver writes. MotionTools carries its targets in the request body rather than the URL path, so scoping happens at the operation level: you pick the exact endpoints the agent can reach. Sign-out is not included unless you explicitly add it, and the stored sign-in credentials are only ever exchanged for the short-lived bearer token at execution time.
