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

# MotionOps API

Jentic publishes the only available OpenAPI specification for MotionOps API, keeping it validated and agent-ready. MotionOps is a field service management platform whose Open API exposes account login and logout flows alongside external webhook account management. The 9 endpoints cover authentication, registering and finding webhook accounts, tagging webhook accounts, and registering external webhook handlers by type. Authentication uses bearer tokens issued by /login.

## For AI agents

Authenticate to MotionOps and register external webhook handlers that receive field-service events such as job updates, account changes, and tag triggers.

## Scope

Does not handle scheduling, dispatching, billing, or technician location tracking - use for MotionOps authentication and external webhook registration only.

## Capabilities

- Log into MotionOps via /login to receive a bearer token for subsequent calls
- Log out of an active MotionOps session via /logout
- Register a new external webhook account that will receive MotionOps event callbacks
- Find an existing external webhook account through /external-webhook-account-find
- Manage tags on external webhook accounts via /external-webhook-account-tags
- Register a webhook handler for a specific webhook type via `/external-webhook/{webhookType}`

## Use cases

### Field Service Event Integration

Operations teams that want MotionOps job and account events flowing into their internal systems register an external webhook account, attach handlers per event type, and authenticate ongoing reads with the bearer token from /login. This wires field service activity into ticketing, billing, or analytics pipelines without polling.

Example prompt: Log in via /login, register a webhook account via /external-webhook-accounts, then attach a handler URL via `/external-webhook/{webhookType}.`

### Webhook Account Tagging for Multi-Tenant Routing

When a service partner manages many MotionOps tenants, tags on external webhook accounts let them route inbound events to the right downstream system. The /external-webhook-account-tags endpoint manages those labels so a single endpoint can fan out to per-tenant handlers downstream.

Example prompt: Find an external webhook account by ID, then add a tenant-id tag via /external-webhook-account-tags so downstream routing can dispatch on it.

### Agent-Driven Webhook Setup via Jentic

An operations agent provisioning a new MotionOps integration searches Jentic for the login and webhook registration operations, loads the schemas, and executes them in sequence. The agent never holds the long-lived MotionOps credentials - Jentic injects them - and receives only the resulting bearer token and webhook account ID.

Example prompt: Search Jentic for 'register a MotionOps external webhook', load /external-webhook-accounts, and execute it after acquiring a bearer token from /login.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/login` | Authenticate and receive a bearer token |
| POST | `/logout` | Invalidate the current session |
| POST | `/external-webhook-accounts` | Register a new external webhook account |
| POST | `/external-webhook-account-find` | Look up an existing webhook account |
| POST | `/external-webhook-account-tags` | Manage tags on a webhook account |
| POST | `/external-webhook/{webhookType}` | Register a handler for a webhook type |

## Key resources

- **Auth** — Login and logout flows that issue and revoke bearer tokens.
- **Accounts** — Manage external webhook accounts at the tenant level.
- **Webhooks** — Register handlers per webhook type and tag webhook accounts.

## Why Jentic

- **Setup:** Wiring MotionOps by hand means calling /login to exchange your credentials for a bearer, targeting its openapi host, and refreshing the token before it expires. Through Jentic you install once, import the MotionOps API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** MotionOps carries its targets in the request body rather than a resource path, so limit the agent to the operations it needs, such as finding or registering an external webhook account. You choose the operations it may call, so logout is not included unless you add it.
- **Credential handling:** Your MotionOps login credentials are stored once, encrypted, by your own Jentic One instance and exchanged for the short-lived bearer at execution time. The username and password never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'register a MotionOps webhook' or 'find a webhook account', and Jentic returns the matching operation with its input schema, so the agent registers a handler without consulting the docs.

## Related APIs

- **Routific API** — Routific solves vehicle routing for the jobs MotionOps schedules.
- **Track-POD API** — Track-POD is another field operations platform with stronger proof-of-delivery focus.
- **Slack API** — Slack receives MotionOps webhook events relayed to a team channel.

## FAQ

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

MotionOps does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call MotionOps 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 MotionOps API use?

MotionOps uses bearer-token authentication. POST credentials to /login to receive a token, then attach it as a Bearer header on the webhook endpoints. Through Jentic, the login credentials sit in the encrypted vault and only the issued token reaches the agent.

### Can I receive job events from MotionOps via webhooks?

Yes. Register an external webhook account via /external-webhook-accounts, then register a handler URL for each event type via `/external-webhook/{webhookType}.` MotionOps will POST to those URLs when matching events occur.

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

MotionOps does not publish hard rate limits in the spec. Cache the bearer token from /login for its lifetime and avoid re-authenticating on every webhook write.

### How do I register a webhook through Jentic?

Run pip install jentic, search 'register a MotionOps external webhook', load /external-webhook-accounts, then load `/external-webhook/{webhookType}` and execute both. Jentic supplies the bearer token from your vault.

### Is the MotionOps API free?

API access is included with a MotionOps subscription. There is no separate API tier; pricing is per workspace on the MotionOps platform.

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

Yes. Because you run Jentic One yourself, your own rules decide which MotionOps operations and credentials the agent may use. Since MotionOps carries its targets in the request body rather than a resource path, you allow only the operations the agent needs, such as finding a webhook account via /external-webhook-account-find or registering one via /external-webhook-accounts, while leaving out /logout or `/external-webhook/{webhookType}` unless you add them. The stored login credentials are exchanged for a short-lived bearer token at execution time, so the agent never holds your username and password.
