Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the OneBookPlus 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%2Fonebookplus.com.au%2Fonebookplus" | 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%2Fonebookplus.com.au%2Fonebookplus" | 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 OneBookPlus Public API.
Create, update, and soft-delete customer contacts, and look a contact up by email
Book a service for a contact with a service_name and start_time, then mark it confirmed, completed, cancelled, or no_show
Raise a quote with line items and a valid_until date, then track it through statuses such as sent, accepted, or declined
Open a job with a site address, priority, and scheduled window, and move it from scheduled to in_progress to completed
GET STARTED
Read invoices and filter them by status, such as overdue or paid, or by invoice number
Subscribe a URL to events such as invoice.paid, booking.cancelled, or job.completed
Sync only changed records with the updated_since filter and cursor pagination on every list endpoint
Patterns agents use OneBookPlus Public API for, with concrete tasks.
★ AI front-desk agent that books and quotes
An AI agent handling inbound customer requests through Jentic finds or creates the customer with the contacts operations, books the requested service with POST /bookings, and raises a quote with POST /quotes against the same contact_id. The bearer key is injected at call time by your own Jentic One instance, so the agent gets the booking and quoting operations without holding the key.
Look up the contact by email with GET /contacts, create one with POST /contacts if none exists, then call POST /bookings with that contact_id, service_name 'Site inspection', and a start_time of tomorrow 09:00
Overdue invoice follow-up
A small trades or services business wants a daily list of unpaid work. GET /invoices accepts a status filter with values including overdue and partial, so an agent can pull every overdue invoice, fetch each with GET /invoices/{id}, and join it to the contact record to prepare follow-up messages. Invoices are read-only through this API, so the follow-up never changes billing data.
Call GET /invoices with status=overdue, then GET /contacts/{id} for each invoice's contact and return a list of names, emails, and invoice numbers
Job scheduling and status tracking
Field jobs move through statuses such as quoted, scheduled, in_progress, on_hold, completed, and invoiced. An agent can open a job with POST /jobs carrying a title, site address, and scheduled_start, then update its status and actual_total with PATCH /jobs/{id} as the work progresses, giving the office an up-to-date job board without manual edits.
Create a job with POST /jobs titled 'Replace hot water unit' with a site_address and scheduled_start, then later PATCH /jobs/{id} to set status completed and actual_total
Event-driven sync to other tools
Instead of polling, register a webhook with POST /webhooks listing events such as invoice.paid, quote.accepted, booking.created, and contact.updated. OneBookPlus then posts each event to your URL, and for backfill the list endpoints accept updated_since so a sync job can catch up on anything changed while it was offline.
Call POST /webhooks with url https://example.org/hooks/obp and events ['invoice.paid','quote.accepted','job.completed']
25 endpoints — the onebookplus public api reads and writes a tenant's business records in onebookplus: contacts, bookings, quotes, jobs, and invoices.
METHOD
PATH
DESCRIPTION
/contacts
Create a contact
/bookings
Create a booking
/bookings/{id}
Update booking status or time
/quotes
Create a quote
/jobs
Create a job
/jobs/{id}
Update a job
/invoices
List invoices by status or number
/webhooks
Create a webhook subscription
/contacts
Create a contact
/bookings
Create a booking
/bookings/{id}
Update booking status or time
/quotes
Create a quote
/jobs
Create a job
/jobs/{id}
Update a job
/invoices
List invoices by status or number
/webhooks
Create a webhook subscription
What agents get from Jentic-routed access to this vendor.
Setup
Wiring OneBookPlus by hand means waiting for developer access approval, generating an obp_ key, sending it as a bearer token, and handling cursor pagination and the X-RateLimit headers yourself. Through Jentic you install once, import OneBookPlus from the API Directory, store the key once, and your agent calls it.
Permission scoping
OneBookPlus puts each record id in the URL path (/jobs/{id}, /bookings/{id}), so a rule can bound your agent by operation and, where a task needs it, to a single record. You choose the operations it may call, so destructive ones like DELETE /contacts/{id} or DELETE /webhooks/{id} are not included unless you add them.
Credential isolation
Your OneBookPlus 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 'create a booking' or 'list overdue invoices', and Jentic returns the matching OneBookPlus operation with its input schema, including required fields like contact_id and start_time, so the agent calls the right endpoint directly.
Alternatives and complements available in the Jentic catalogue.
Specific to using OneBookPlus Public API through Jentic.
What authentication does the OneBookPlus Public API use?
The OneBookPlus Public API authenticates with a bearer token per its OpenAPI spec: send Authorization: Bearer with a key that starts with obp_, issued from the API keys page in your OneBookPlus dashboard after developer access is approved. The spec applies this requirement to every operation, including GET /ping. Through Jentic the key is stored by your own instance and attached to each call, so the agent never sees it.
Can I create bookings and move them through statuses with the OneBookPlus Public API?
Yes. POST /bookings creates a booking and requires contact_id, service_name, and start_time, with optional end_time and notes. PATCH /bookings/{id} then updates status to values such as confirmed, completed, cancelled, or no_show, and can reschedule start_time and end_time.
What are the rate limits for the OneBookPlus Public API?
The OpenAPI spec does not state a numeric limit. Responses carry X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers describing a sliding window, so an agent can read its remaining budget from any response and back off before the window resets. Contact support@onebookplus.com.au for the limit on your account.
Is there a OneBookPlus MCP server?
You don't need an MCP server to give your agent OneBookPlus. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the contact, booking, quote, and job operations it needs on demand without loading another server's tool definitions into its context.
How do I find overdue invoices with the OneBookPlus Public API through Jentic?
Search Jentic for 'list overdue invoices', load the GET /invoices operation, and execute it with status set to overdue. Page through results with the cursor parameter, then fetch any single invoice with GET /invoices/{id}. 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 OneBookPlus Public API?
Yes. For a bookings assistant, write a rule that allows GET /contacts, POST /bookings, and PATCH /bookings/{id}, and the agent can find customers and book or reschedule appointments while contact deletion, webhook changes, and job edits stay outside its reach. Every call it makes is logged for review.
For Agents
Create and update OneBookPlus contacts, bookings, quotes, and jobs, read invoices by status or number, and subscribe to events like invoice.paid and job.completed.
Use for: I need to add a new customer contact with their email and phone, Find all overdue invoices for this tenant, Create a booking for a contact tomorrow at 9am, Get the details of job number J-1042
Not supported: Does not process card payments, run payroll, or keep a general ledger. Use for managing a OneBookPlus tenant's contacts, bookings, quotes, jobs, and invoices only.
The OneBookPlus Public API reads and writes a tenant's business records in OneBookPlus: contacts, bookings, quotes, jobs, and invoices. Contacts can be created, updated, filtered by email, and soft-deleted, while bookings, quotes, and jobs can be created and moved through their status lifecycles. Invoices are readable and filterable by status or number, and webhook subscriptions push events such as invoice.paid, quote.accepted, or job.completed to your own URL. List endpoints share cursor pagination and an updated_since filter for incremental sync.
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>