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

# Checkmob API

Jentic publishes the only available OpenAPI specification for Checkmob API, keeping it validated and agent-ready. Checkmob is a Brazil-headquartered field service management platform used to dispatch technicians, track work orders, and capture data from the field on mobile devices. The API spans 50 endpoints across clients, addresses, work orders, services, checklists, questionnaires, users, segments, and custom fields, with a token-exchange flow for authentication. It is suited to teams integrating field operations with their CRM, billing, or BI stack.

## For AI agents

Manage Checkmob clients, work orders, services, questionnaires, and users so an agent can dispatch field jobs, pull checklist answers, and sync field data with other systems.

## Scope

Does not handle payment processing, payroll, or marketing campaigns - use for managing field service clients, work orders, checklists, and users only.

## Capabilities

- Create, list, update, activate, and deactivate client records
- Create and look up work orders dispatched to field technicians
- List services and checklist questionnaires tied to a client
- Pull checklist answers captured by technicians on site
- Provision users and assign them to groups or segments
- Manage segments and link or unlink clients from each segment
- Define custom fields and service types for the account

## Use cases

### Field Work Order Dispatch

Mirror work orders between an internal scheduling system and Checkmob so technicians see assignments on their mobile app. Listing work orders via `/api/OrdemServico/List` shows current state, and `/api/OrdemServico/Post` creates new orders when scheduling produces a job. Useful for service businesses already running a homegrown scheduler.

Example prompt: Create a work order via `/api/OrdemServico/Post` for client_id 42 with service_type 'maintenance' scheduled for 2026-06-15.

### Checklist Answer Sync

Pull checklist answers captured by field technicians into a BI tool or QA dashboard. `/api/RespostasQuestionario/List` returns the answers for a given questionnaire and date range, which a scheduled job can normalise into a warehouse. Useful for compliance reviews or customer-facing service reports.

Example prompt: Pull `/api/RespostasQuestionario/List` for questionnaire_id 7 over the last 7 days and return the count of completed responses.

### Client and Segment Management

Provision new clients in Checkmob from a CRM and slot them into the right segment so the field team picks up the relationship correctly. `/api/Cliente/Post` creates the client, `/api/Endereco/Post` adds an address, and `/api/SegmentoClientes/Add` links them to one or more segments for routing.

Example prompt: Create a client via `/api/Cliente/Post` named 'Acme Co', add an address, and link them to segment_id 3.

### AI Agent for Field Service Operations

An autonomous agent receives natural-language requests from a dispatcher ('schedule a maintenance visit for Acme tomorrow', 'how many open jobs does Maria have?') and translates them into Checkmob calls through Jentic. The bearer token never enters the agent's prompt - Jentic handles token exchange and injection.

Example prompt: Through Jentic, search 'create a work order', load the schema for `/api/OrdemServico/Post`, and execute with the requested client and service type.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/Cliente/Post` | Create a client |
| POST | `/api/Cliente/List` | List clients |
| POST | `/api/OrdemServico/Post` | Create a work order |
| POST | `/api/OrdemServico/List` | List work orders |
| POST | `/api/RespostasQuestionario/List` | Pull checklist answers |
| POST | `/api/Usuario/Post` | Create a user |
| GET | `/token` | Request an access token |

## Key resources

- **Clients** — Create, list, fetch, update, activate, and deactivate client records
- **Work Orders** — Create, list, and fetch work orders dispatched to technicians
- **Services** — List services and their status types
- **Questionnaires** — List checklists and pull responses captured in the field
- **Users** — Provision technicians and field users with groups and roles
- **Segments** — Define segments and link clients to them
- **Addresses** — Manage client addresses for visit routing

## Why Jentic

- **Setup:** Wiring Checkmob by hand means minting a bearer token at /token, refreshing it, and finding the right call among 50 endpoints for clients, work orders, and checklists. Through Jentic you install once, import the Checkmob API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** Checkmob identifies records through the request body rather than the URL path, so scope the agent to the operations it needs, such as listing work orders and reading checklist answers. You choose that set, so creating clients or users is not included unless you add it.
- **Credential handling:** Your Checkmob credentials and the token minted at /token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a work order' or 'pull checklist answers', and Jentic returns the matching Checkmob operation with its input schema so the agent picks the right endpoint among 50 without browsing the reference docs.

## Related APIs

- **Checkfront API** — Booking management - different domain (customer reservations vs field technician dispatch)
- **Chatwoot** — Customer support platform you can pair with Checkmob to track field-related tickets
- **Checkly Public API** — Synthetic monitoring you can use to verify Checkmob endpoints stay reachable

## FAQ

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

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

Checkmob uses HTTP bearer authentication. You exchange credentials at GET /token to receive a bearer token, which is then sent in the Authorization header on subsequent requests. Through Jentic, both the credentials and the resulting token are stored encrypted in your Jentic One instance, and Jentic refreshes the token transparently.

### Can I create work orders with the Checkmob API?

Yes. POST `/api/OrdemServico/Post` creates a new work order tied to a client and service type. `/api/OrdemServico/List` returns existing orders with filters, and `/api/OrdemServico/Get` fetches a specific order by ID.

### How do I read checklist answers via the Checkmob API?

Use POST `/api/RespostasQuestionario/List` with the questionnaire and date range. The endpoint returns the completed responses captured by technicians on the mobile app, which you can then transform into reports or compliance evidence.

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

The OpenAPI specification does not declare formal rate limits. Plan for retry-with-backoff on 429 responses and avoid polling `/api/OrdemServico/List` in tight loops - pull on a schedule and react to webhooks if available.

### How do I create a Checkmob work order through Jentic?

Install the SDK with `pip install jentic`, then call Jentic.search('create a work order'), load the schema for `/api/OrdemServico/Post`, and execute with the client_id, service_type, and scheduled date. Jentic handles the /token exchange and bearer injection.

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

Yes. Because you run Jentic One yourself, your own rules decide which Checkmob operations and credentials the agent may use. You can scope it to only the calls it needs, such as listing work orders with `/api/OrdemServico/List` and reading checklist answers with `/api/RespostasQuestionario/List`, while leaving out write operations. Since Checkmob identifies records through the request body rather than the URL, creating clients via `/api/Cliente/Post` or provisioning users via `/api/Usuario/Post` is excluded unless you add it to that set.
