Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Iterant 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%2Fiterant.ai%2Fiterant" | 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%2Fiterant.ai%2Fiterant" | 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 Iterant Public API.
List page opportunities ranked by priority score and filter by intent, role, archetype, status, or surface
Read one opportunity's thesis, target prompt, keywords, and drafted brief, with supporting citations through includeEvidence
Report a page's Search Console performance, traffic, conversions, or component anatomy over a 7d, 28d, or 90d window
Track AI visibility as share of voice, citation gaps, top sources, or prompt scores, split by platform such as chatgpt or gemini
GET STARTED
Get internal-linking advice: which existing pages should link to a target page, with anchor text and a relevance score
Start an Iterant agent task with a build_page command for an opportunityRef or a free-form prompt, and poll it to completion
Patterns agents use Iterant Public API for, with concrete tasks.
★ Agent-run content pipeline
An AI agent responsible for a brand's content picks the next page to build and hands it to Iterant. Through Jentic the agent searches for 'list page opportunities', reads the ranked list for the brand, and starts a task with command build_page and the chosen opportunityRef, with the bearer key injected at call time. It then polls the task until it reports succeeded and returns the resultingRoute.
Call GET /api/v1/public/brands/{brandSlug}/page-opportunities/ with status ready, then POST /api/v1/public/brands/{brandSlug}/tasks/ with command build_page and the top row's ref as opportunityRef, and poll GET /api/v1/public/brands/{brandSlug}/tasks/{taskId}/ until it settles
AI search visibility reporting
A marketing lead wants to know how often assistants cite the brand against competitors. The visibility overview returns one projection per call, such as kpis, share_of_voice, citation_gaps, or top_sources, filtered by platform and window, so a weekly report can show where competitors win citations on ChatGPT, Gemini, or Google AI Overviews.
Call GET /api/v1/public/brands/{brandSlug}/visibility/overview/ with view citation_gaps, platform chatgpt, and window 28d, and list the prompts where the brand is not cited
Page performance review
Before rewriting a page, an editor checks how it performs today. The page report takes a urlPath and asks only for the metrics needed, such as performance for Search Console clicks, impressions, CTR, and position, or traffic for sessions and conversions, over a 7d, 28d, or 90d window.
Call GET /api/v1/public/brands/{brandSlug}/reports/pages/ with urlPath /pricing, metrics performance, and window 28d, and report clicks and average position
Internal linking for new pages
When a page goes live it needs links from the rest of the site. The linking advisory returns which existing pages should link to the target, the suggested anchor text, and the passage the link would sit in, each with a relevance from 0 to 1, so an editor can act on the strongest placements first.
Call GET /api/v1/public/brands/{brandSlug}/linking/advisory/ with urlPath /pricing and list suggestions with relevance above 0.6
12 endpoints — the iterant public api reads a brand's website pages, ranked page opportunities, page performance reports, and ai visibility, and starts iterant's agent to build or change a page.
METHOD
PATH
DESCRIPTION
/api/v1/public/brands/
List accessible brands
/api/v1/public/brands/{brandSlug}/overview/
Get a brand overview
/api/v1/public/brands/{brandSlug}/page-opportunities/
List page opportunities
/api/v1/public/brands/{brandSlug}/reports/pages/
Get a page report
/api/v1/public/brands/{brandSlug}/visibility/overview/
Get AI visibility
/api/v1/public/brands/{brandSlug}/tasks/
Start an agent task
/api/v1/public/brands/{brandSlug}/tasks/{taskId}/
Get an agent task
/api/v1/public/brands/
List accessible brands
/api/v1/public/brands/{brandSlug}/overview/
Get a brand overview
/api/v1/public/brands/{brandSlug}/page-opportunities/
List page opportunities
/api/v1/public/brands/{brandSlug}/reports/pages/
Get a page report
/api/v1/public/brands/{brandSlug}/visibility/overview/
Get AI visibility
/api/v1/public/brands/{brandSlug}/tasks/
Start an agent task
/api/v1/public/brands/{brandSlug}/tasks/{taskId}/
Get an agent task
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Iterant by hand means minting an itr_ key, sending it as a bearer token, handling RateLimit fields and Retry-After on 429s, and sending an Idempotency-Key on task starts. Through Jentic you install once, import Iterant from the API Directory, store the key once, and your agent calls it.
Permission scoping
Iterant puts the brand slug in the URL path (/api/v1/public/brands/{brandSlug}/...), so a rule can pin your agent to one brand. You choose the operations it may call, so task starts that change the site, such as POST to the tasks route, are not included unless you add them.
Credential isolation
Your Iterant 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 'list page opportunities' or 'track AI visibility for a brand', and Jentic returns the matching Iterant operation with its input schema, including brandSlug and the view and window enums, so the agent calls the right endpoint.
Alternatives and complements available in the Jentic catalogue.
Specific to using Iterant Public API through Jentic.
What authentication does the Iterant Public API use?
Per its OpenAPI spec, every operation uses a bearer token: send Authorization: Bearer with an itr_ API key that an organization admin mints under Settings > Developers. An org-scoped key reads every brand in the organization, and a brand-pinned key reads only its own. 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 Iterant Public API?
The spec states 600 requests per minute per key and 30 task starts per minute, with RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset fields on responses. A 429 carries Retry-After in seconds. See https://iterant.ai/docs/developers/rest-api for details.
How long does an Iterant agent task take?
The spec says a typical task settles in about five minutes and recommends polling GET /api/v1/public/brands/{brandSlug}/tasks/{taskId}/ every 30 to 60 seconds. A build_page task reports the page it produced in resultingRoute, and the task create call accepts an Idempotency-Key header so a retry within 24 hours returns the first task.
Is there an Iterant MCP server?
You don't need an MCP server to give your agent Iterant. Jentic connects it directly from the API Directory: import it, store your key once, and your agent calls the page, opportunity, and visibility 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 Iterant Public API?
Yes. Write a rule that allows only the GET operations under /api/v1/public/brands/acme/, for example, and the agent can read that brand's pages, opportunities, reports, and visibility but cannot start tasks that change the site. Every call it makes is logged.
How do I read a brand's AI visibility through Jentic?
Search Jentic for 'track AI visibility for a brand', load the GET /api/v1/public/brands/{brandSlug}/visibility/overview/ operation, and execute it with the brandSlug from the brands list and a view such as kpis. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Read a brand's pages, ranked page opportunities, Search Console performance, and AI visibility in Iterant, get internal-linking suggestions, and start Iterant's agent to build a page or run a prompt.
Use for: List the highest-priority page opportunities for my brand, Get the drafted brief for a page opportunity, Check how the pricing page performed in Search Console over 28 days, Find citation gaps where competitors are cited by ChatGPT
Not supported: Does not run paid search campaigns, manage backlinks, or host sites outside Iterant. Use for reading Iterant page, opportunity, and AI visibility data and starting Iterant agent tasks only.
The Iterant Public API reads a brand's website pages, ranked page opportunities, page performance reports, and AI visibility, and starts Iterant's agent to build or change a page. Page opportunities carry a priority score, search intent, and a drafted brief with outline and FAQ, while page reports project Search Console performance, traffic, conversions, and component anatomy for a chosen window. The AI visibility overview returns share of voice, citation gaps, and prompt scores across assistants such as ChatGPT, Gemini, and Google AI Overviews, and internal-linking advisories suggest which pages should link to a target page.
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>