Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Remi Public API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fremihq.com%2Fremihq" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fremihq.com%2Fremihq" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Remi Public API.
Submit a roofing bid request with homeowner, property address, billing address, and files
Read every quote on a bid request and download a quote as PDF or image
Approve a quote, which triggers Remi to send the homeowner contract
Check homeowner contract signature status, sent date, and signed date
Submit a notice to proceed so Remi starts scheduling the work
GET STARTED
Retrieve completion-of-work photos and final inspection files for a project
Patterns agents use Remi Public API for, with concrete tasks.
★ Agent-driven roofing job intake
A partner's agent turns a homeowner enquiry into a Remi job. It creates a bid request with the required id, propertyAddress, billingAddress, homeowner, instructions, url, and files, then checks back on the quotes Remi produces for that bid request.
Call POST /v0/bid-request with id, propertyAddress, billingAddress, homeowner, instructions, url, and files, then call GET /v0/quotes with id set to that bid request id
Quote review and approval
Each bid request can carry several quotes, with one active. An agent fetches them, shares the quote PDF or image with the homeowner, and approves the chosen quote once the homeowner agrees. Approval makes Remi immediately email the homeowner contract through PandaDoc, so the homeowner should expect it first.
Call GET /v0/quotes/{quoteId}/pdf for the active quote, and after the homeowner confirms, call POST /v0/quotes/{quoteId}/approve
Track the contract and release work
After approval, the agent polls the homeowner contract status for signature and signed date, resends the contract if needed, and once it is signed submits the notice to proceed, after which Remi calls the homeowner and schedules the job.
Call GET /v0/homeowner-contract with id set to the bid request id, and once it shows signed, call POST /v0/ntp with id set to the bid request id
Close out a finished project
When the roof is done, the agent lists the bid request's projects and pulls the completion-of-work files, including completed work photos and final inspection documents, for the partner's records.
Call GET /v0/projects with id set to the bid request id, then GET /v0/projects/{projectId}/completion-of-work for each project
15 endpoints — the remi public api lets partners hand roofing jobs to remi and follow each one from bid to finished work.
METHOD
PATH
DESCRIPTION
/v0/bid-request
Create a bid request
/v0/quotes
Get quotes for a bid request
/v0/quotes/{quoteId}/approve
Approve a quote
/v0/homeowner-contract
Get homeowner contract status
/v0/ntp
Submit a notice to proceed
/v0/projects/{projectId}/completion-of-work
Get completion of work files
/v0/bid-request
Create a bid request
/v0/quotes
Get quotes for a bid request
/v0/quotes/{quoteId}/approve
Approve a quote
/v0/homeowner-contract
Get homeowner contract status
/v0/ntp
Submit a notice to proceed
/v0/projects/{projectId}/completion-of-work
Get completion of work files
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Remi by hand means sending the x-remi-key header, assembling the full bid request body with homeowner, addresses, and files, and sequencing quote approval, contract, and NTP calls in the right order. Through Jentic you install once, import Remi from the API Directory, store the key once, and your agent calls it.
Permission scoping
Remi puts the quote id in the URL path (/v0/quotes/{quoteId}/...), so a rule can limit your agent to one quote, while bid request ids travel as query parameters and in the NTP body. You choose the operations it may call, so high-impact ones like quote approval or NTP submission are not included unless you add them.
Credential isolation
Your Remi API key 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.
Intent-based discovery
Agents search Jentic by intent such as 'submit a roofing bid request' or 'check homeowner contract status', and Jentic returns the matching Remi operation with its input schema so the agent sends the right fields.
Alternatives and complements available in the Jentic catalogue.
Specific to using Remi Public API through Jentic.
What authentication does the Remi Public API use?
Per its OpenAPI spec, the Remi Public API authenticates with an API key sent in the x-remi-key header. The homeowner-facing claim-intro operation also takes a per-claim access token in the x-claim-token header. Through Jentic, your Remi key is stored encrypted by your own Jentic One instance and injected at execution time.
What happens when I approve a quote through the Remi API?
Approving a quote with POST /v0/quotes/{quoteId}/approve makes Remi immediately send the homeowner contract, which arrives as an email from PandaDoc. Remi asks partners to tell the homeowner to expect that email before approving.
How do I know when a homeowner has signed the Remi contract?
Call GET /v0/homeowner-contract with the bid request id. It returns the signature status along with the sent date, signed date, and other contract details, and GET /v0/homeowner-contract/pdf returns the document itself.
What are the rate limits for the Remi Public API?
The OpenAPI spec does not specify rate limits. Check with Remi at https://remihq.com for current limits.
Is there a Remi MCP server?
You don't need an MCP server to give your agent Remi. Jentic connects it directly from the API Directory: import it, store your x-remi-key once, and your agent calls it. 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 Remi Public API?
Yes. A status-tracking agent can be given only the GET operations on quotes, homeowner contracts, and projects, so it reports job progress while POST /v0/quotes/{quoteId}/approve and POST /v0/ntp, which send contracts and start scheduling, stay out of its reach. Every call it makes is logged.
For Agents
Submit roofing bid requests to Remi, read and approve quotes, send and track homeowner contracts, submit notices to proceed, and retrieve project completion files. Authenticated with the x-remi-key header.
Use for: Submit a new roofing job to Remi for this homeowner, Get the quotes Remi prepared for bid request 123, Download the PDF of the active roof quote, Check whether the homeowner has signed the contract
Not supported: Does not handle homeowner financing, contractor search, or roofing material ordering. Use for submitting and tracking Remi roofing jobs from bid request to completion only.
The Remi Public API lets partners hand roofing jobs to Remi and follow each one from bid to finished work. A job starts as a bid request built from a homeowner and a property address, gathers quotes for the cost of the roof, and moves forward when a quote is approved, the homeowner contract (HIC) is signed, and a notice to proceed (NTP) is submitted. Projects are then generated from the approved quote's scope, and completion-of-work files such as finished work photos and final inspection documents can be retrieved at the end.
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.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>