canonical: https://jentic.com/apis/metquay.co/metquay

# Metquay Odoo API

The Metquay Odoo API creates records in Metquay, the calibration management system for instrument labs, from an outside system such as an ERP. It adds customers with company codes, billing and shipping addresses, and tax settings, registers the instruments each customer sends in with serial number, make, model, and calibration frequency, and defines instrument categories. It also opens calibration works against a customer instrument, carrying details such as inDate, deliveryDate, accreditation, and salesOrderNo. Every operation is a create, so the API pushes data into Metquay rather than reading it back.

## For AI agents

Push customers, customer instruments, instrument categories, and calibration works into Metquay from another system, using a bearer token.

## Scope

Does not read, update, or delete records, issue calibration certificates, or handle invoicing. Use for creating Metquay customers, instruments, categories, and calibration works only.

## Capabilities

- Create a Metquay customer with companyName, companyCode, and workspaceCode, plus billing and shipping addresses
- Register a customer instrument with serialNo, make, model, range, and a calibrationFrequency and calibrationFrequencySpan
- Define an instrument category by name so new instruments can be grouped under it
- Open a calibration work for a customerInstrumentId with inDate, deliveryDate, accreditation, and scope
- Carry ERP references into Metquay, such as salesOrderNo on a work or taxCode on a customer

## Use cases

### Agent-driven intake of calibration jobs through Jentic

When instruments arrive at a calibration lab, an agent can register them and open the job without anyone retyping the paperwork. Through Jentic it finds the Metquay customer-instrument and work operations, creates the instrument with its serialNo and calibrationFrequency, then opens a work with the returned customerInstrumentId and today's inDate. The bearer token stays on your own Jentic One instance.

Example prompt: POST /customer-instrument-details with name 'Digital Caliper', companyId 'D1', serialNo 'DC-20931', calibrationFrequency '12', calibrationFrequencySpan 'MONTH', workspaceCode 'LAB1', then POST /works with the new customerInstrumentId and inDate '2026-11-09'

### ERP-to-Metquay customer sync

Labs that run accounting and sales in an ERP such as Odoo can create matching Metquay customers when a new account is opened. The create-customer operation requires companyName, companyCode, and workspaceCode and accepts billing and shipping address fields, paymentMethod, isTaxable, and taxCode.

Example prompt: POST /customers with companyName 'Acme Instruments Ltd', companyCode 'ACME01', workspaceCode 'LAB1', email 'qa@acme.example', and billing address fields

### Setting up instrument categories

Before importing a customer's instrument list, a lab can define the categories those instruments belong to. The instrument-categories operation needs only a name, with an optional description, and new instruments reference the category through instrumentCategoryName.

Example prompt: POST /instrument-categories with name 'Torque Wrenches' and description 'Click and dial torque tools'

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/customers` | Create a customer |
| POST | `/customer-instrument-details` | Create a customer instrument |
| POST | `/instrument-categories` | Create an instrument category |
| POST | `/works` | Create a calibration work |

## Key resources

- **Customers** — Create calibration customers with addresses, payment and tax settings
- **Customer instruments** — Register customer-owned instruments with serial numbers and calibration frequency
- **Instrument categories** — Create categories to group instruments
- **Works** — Open calibration works against a customer instrument

## 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:** 71 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 100 / 100
  - Developer Experience & Jentic Compatibility: 81 / 100
  - AI-Readiness & Agent Experience: 54 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 59 / 100
- **View full report:** https://jentic.com/apis/metquay.co/metquay/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 Metquay by hand means attaching its bearer token, picking the right workspace host, and assembling large create payloads with required fields such as companyCode and workspaceCode. Through Jentic you install once, import Metquay from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Metquay identifies customers and instruments in the request body, not the URL path, so rules bound which operations your agent may call, not which customer. Limit the agent to the operations it needs, such as opening works, so customer creation is not included unless you add it.
- **Credential handling:** Your Metquay bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'register a customer instrument' or 'open a calibration work', and Jentic returns the matching Metquay operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Fiix API** — Maintenance management with assets and work orders
- **UpKeep API** — Maintenance work orders, assets, and requests
- **Zoho FSM API** — Field service scheduling and dispatch

## FAQ

### What authentication does the Metquay Odoo API use?

Per its OpenAPI spec, the Metquay Odoo API uses HTTP bearer authentication (the apiAuth scheme), sent as `Authorization: Bearer <token>` on each of its create operations. Through Jentic the token is stored encrypted by your own Jentic One instance and injected when the agent calls.

### Can I read or update records with the Metquay Odoo API?

No. The spec contains four create operations: customers, customer instruments, instrument categories, and works. There are no list, get, update, or delete operations, so keep the IDs Metquay returns when you create a record if you need to reference it later, such as the customerInstrumentId a work requires.

### How do I open a calibration work through Jentic?

Install Jentic One with `curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh`, import the Metquay API from the directory, and store your bearer token. Your agent searches 'create a calibration work in Metquay', gets POST /works with its schema, and sends the required customerInstrumentId plus fields such as inDate and deliveryDate. To run it on your own infrastructure, install Jentic One from its GitHub repo.

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

Yes. For example, write a rule that allows only POST /customer-instrument-details and POST /works, so an intake agent can register instruments and open jobs but cannot create customers or change your instrument categories. Every call it makes is logged.

### Is there a Metquay MCP server?

You don't need an MCP server to give your agent Metquay. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it.

### What are the rate limits for the Metquay Odoo API?

The OpenAPI spec does not specify numeric rate limits, though most operations list a 429 response. Check the Metquay documentation at https://metquay.co for current limits.

### Which server does the Metquay Odoo API use?

The spec's live server is https://trial.metquay.co/api/v1/, and it also lists a SwaggerHub mock server for testing. Confirm the host for your own Metquay workspace before sending production data.
