Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the NUM Agent 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%2Fitsnum.com%2Fitsnum" | 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%2Fitsnum.com%2Fitsnum" | 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 NUM Agent API.
Search the directory by city or country and narrow by area, q, and category, with closed places never returned
Read one place by place_id with its open_status and booking method, from request or venue_system to phone
Submit a business for human review with its name, vertical such as restaurant or hotel, country, and city
Post a promotion, special, event, or ad against a business you submitted
GET STARTED
Search licensable photos of places and get a quote for one use such as web or ai_training
License one photo use from the wallet within a max_price_cents ceiling, with an idempotency_key for safe retries
Patterns agents use NUM Agent API for, with concrete tasks.
★ Agent travel planning with bookable places
An AI travel agent building an itinerary needs places that are open and a clear way to book each one. Through Jentic the agent searches for 'find places to eat in a destination', loads the NUM directory search, and then reads each candidate's full record, which carries open_status and a booking method with url, system, or phone. The numa_live_ key is injected at call time, so the agent works from the listings without handling the credential.
Call GET /api/agent/destinations, then GET /api/agent/search with a covered city and category restaurant, and GET /api/agent/business/{place_id} with party_size 4 for the top result to report its booking method
Listing a business for travellers
An agency managing local businesses submits them to NUM on the owner's behalf. The business submission takes a relationship of owner, authorized_agent, or third_party, a name, country, and city, with optional vertical, hours, and languages, and every submission is reviewed by a person before travellers see it. The submissions list reports review status, and a callback_url can receive the outcome.
Call POST /api/agent/business with relationship authorized_agent, name Sea Breeze Cafe, vertical cafe, country TH, and city Koh Phangan, then call GET /api/agent/submissions with status to check its review
Promoting specials and events
A venue running a happy hour or hosting an event wants it in front of travellers. The promo operation posts a promo, special, event, or ad with a title and optional detail, start and end times, discount_pct, and terms, tied to a business you submitted by submission_id or external_ref.
Call POST /api/agent/promo with submission_id from a prior submission, kind special, title Sunset happy hour, and discount_pct 20
Licensing place photos within a budget
A content team needs photos of real places for a travel guide and an operator-set spending limit. Photo search returns person-checked images with no recognisable people and a price per use, the quote operation returns price and full terms, and the license operation refuses any price above max_price_cents without charging. Spending is capped per UTC day and the wallet shows today's spend.
Call GET /api/agent/photos/search with city and use web, GET /api/agent/photos/quote for the first photo_id, then POST /api/agent/photos/license with photo_id, use web, and max_price_cents 500
15 endpoints — the num agent api lets ai agents search num's traveller directory of places such as restaurants, hotels, tours, spas, and shops by destination city or country, and read one place in full with its open status and how to book it on the venue's terms.
METHOD
PATH
DESCRIPTION
/api/agent/search
Search the directory
/api/agent/business/{place_id}
Get one place with booking details
/api/agent/destinations
List covered destinations
/api/agent/business
Submit a business for review
/api/agent/promo
Post a promotion against a business
/api/agent/photos/search
Search licensable photos
/api/agent/photos/license
License one photo use
/api/agent/signup
Register an agent and receive a key
/api/agent/search
Search the directory
/api/agent/business/{place_id}
Get one place with booking details
/api/agent/destinations
List covered destinations
/api/agent/business
Submit a business for review
/api/agent/promo
Post a promotion against a business
/api/agent/photos/search
Search licensable photos
/api/agent/photos/license
License one photo use
/api/agent/signup
Register an agent and receive a key
What agents get from Jentic-routed access to this vendor.
Setup
Wiring NUM by hand means signing up for a numa_live_ key, sending it as a bearer token, tracking the daily read quota, and rotating the key when needed. Through Jentic you install once, import the NUM Agent API from the API Directory, store the key once, and your agent calls it.
Permission scoping
NUM splits directory reads, submissions, and photo purchases into separate operations, and most targets travel in the query or request body, so rules bound which operations your agent may call rather than which place. You choose the operations it may call, so spending actions like POST /api/agent/photos/license or key rotation are not included unless you add them.
Credential isolation
Your NUM 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 'find places in a travel destination' or 'submit a business listing', and Jentic returns the matching NUM operation with its input schema, including the vertical and kind enums, so the agent calls the right endpoint.
Alternatives and complements available in the Jentic catalogue.
Specific to using NUM Agent API through Jentic.
What authentication does the NUM Agent API use?
Per its OpenAPI spec, operations take a bearer token: the numa_live_ key returned by POST /api/agent/signup. Signup and GET /api/agent/destinations need no key, and POST /api/agent/me/rotate issues a new key and revokes the old one immediately. Through Jentic the key is stored by your own instance and attached at call time, so the agent never sees it.
What are the rate limits for the NUM Agent API?
The spec states that writes are free and unmetered while reads are metered against a daily quota, and GET /api/agent/me returns today's quota. It does not give the numbers; see https://itsnum.com/agents/ for current quotas and pricing.
Does the NUM Agent API publish my submission straight away?
No. Every business and promotion submission is reviewed by a person before a traveller sees it, and an approved-looking response is never returned automatically. GET /api/agent/submissions lists your submissions with their review status.
Is there a NUM MCP server?
You don't need an MCP server to give your agent NUM. Jentic connects it directly from the API Directory: import it, store your key once, and your agent calls the search, submission, and photo operations it needs without loading another server's tool definitions into its context.
Can I limit what my agent is allowed to do with the NUM Agent API?
Yes. Write a rule that allows only GET /api/agent/search, GET /api/agent/destinations, and GET /api/agent/business/{place_id}, for example, and the agent can plan trips from the directory but cannot license photos, request wallet top-ups, or rotate your key. Every call it makes is logged.
How do I search NUM's directory through Jentic?
Search Jentic for 'find places in a travel destination', load the GET /api/agent/search operation, and execute it with a city from GET /api/agent/destinations or a country, plus optional area, q, and category. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Search NUM's traveller directory by destination, read a place's open status and booking method, submit businesses and promotions for human review, and license place photos per use from a capped wallet.
Use for: Find vegetarian restaurants in a NUM destination city, Get booking details for a guesthouse by its place id, List all destinations NUM covers, I want to submit my client's cafe to the NUM directory
Not supported: Does not book flights, take hotel reservations, or process traveller payments. Use for NUM directory search, listing submissions, and place photo licensing only.
The NUM Agent API lets AI agents search NUM's traveller directory of places such as restaurants, hotels, tours, spas, and shops by destination city or country, and read one place in full with its open status and how to book it on the venue's terms. Agents can also submit businesses and post promotions, specials, events, or ads against them, and every submission is reviewed by a person before a traveller sees it. A photo marketplace returns person-checked photos of places with a per-use price in US cents for social, web, ad, or ai_training use, and licenses a use from a prepaid wallet with a daily spending cap.
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>