canonical: https://jentic.com/apis/exoapi.dev/exoapi

# ExoAPI

ExoAPI is a universal utility API that bundles common developer building blocks behind a single bearer-authenticated endpoint surface. The five operations cover barcode generation, content moderation checks, headless HTML rendering, reverse geocoding, and unit conversion. It is intended for builders who need quick, well-typed utility calls rather than a full SaaS platform per task.

## For AI agents

Call a small toolbox of developer utilities - generate barcodes, render HTML, reverse-geocode coordinates, run content moderation, and convert units - through a single bearer-authenticated API.

## Scope

Does not handle persistent storage, full mapping or routing, or rich content management - use for stateless utility calls (barcodes, HTML rendering, reverse geocoding, moderation, unit conversion) only.

## Capabilities

- Generate barcode images for product codes, URLs, or arbitrary strings
- Render HTML to a screenshot or PDF using a headless browser
- Reverse-geocode latitude and longitude pairs to a postal address
- Run text content moderation checks against user-submitted strings
- Convert values between units across length, weight, currency, and other domains

## Use cases

### On-Demand Barcode and Label Generation

Use POST /barcode-generator to produce barcode images for shipping labels, product tags, or ticketing flows. The endpoint returns a barcode for the supplied value and format without requiring a separate barcode service. Useful for one-off generation inside a workflow that already uses other ExoAPI utilities.

Example prompt: Call POST /barcode-generator with value=ABC12345 and format=code128 and store the returned image.

### HTML-to-Image and HTML-to-PDF Rendering

Send HTML to POST /html-renderer and receive back a rendered image or PDF, useful for invoice generation, social-preview cards, or report exports. This avoids running a headless browser inside the agent's environment and keeps the rendering layer behind a single API call.

Example prompt: Call POST /html-renderer with html=<invoice template> and output=pdf, then attach the result to an outbound email.

### Lightweight Geocoding and Unit Conversion

Combine GET /reverse-geocoding and GET /unit-converter to enrich data inside agent workflows - for example, turning device GPS coordinates into a city name and converting reported distances into the user's preferred unit before display. Both endpoints are stateless and bearer-authenticated.

Example prompt: Call GET /reverse-geocoding with lat=51.5074&lng=-0.1278 to resolve the address, then GET /unit-converter with value=10&from=km&to=mi to localise distance.

### AI Utility Toolkit via Jentic

An AI assistant loads ExoAPI's small operation set through Jentic so it can pick the right utility on demand - barcode, HTML render, geocode, moderate, or convert - without each utility requiring its own integration. The bearer token sits in your Jentic One instance and is injected per request.

Example prompt: Through Jentic, search 'render html to pdf', load the POST /html-renderer operation, and execute it with the agent's invoice HTML.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/barcode-generator` | Generate a barcode |
| GET | `/content-moderation` | Run content moderation on text |
| POST | `/html-renderer` | Render HTML to image or PDF |
| GET | `/reverse-geocoding` | Reverse-geocode coordinates |
| GET | `/unit-converter` | Convert values between units |

## Key resources

- **Barcode Generator** — Generate barcode images from values
- **Content Moderation** — Check user-submitted text for unsafe content
- **HTML Renderer** — Render HTML to image or PDF
- **Reverse Geocoding** — Convert coordinates to postal addresses
- **Unit Converter** — Convert values between units

## Why Jentic

- **Setup:** Wiring ExoAPI by hand means learning its bearer token auth and tracking the separate barcode, HTML render, geocoding, moderation, and unit-conversion endpoints yourself. Through Jentic you install once, import ExoAPI from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** ExoAPI offers stateless utility calls that take their input in the request body or query, so scope the agent to the operations it needs, such as reverse geocoding or unit conversion. Utilities you leave out, like barcode generation or HTML rendering, stay unavailable unless you add them.
- **Credential handling:** Your ExoAPI 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 'render html to pdf' or 'reverse geocode coordinates', and Jentic returns the matching ExoAPI operation with its input schema so the agent picks the right utility without browsing the reference docs.

## Related APIs

- **Positionstack API** — Positionstack offers dedicated forward and reverse geocoding beyond ExoAPI's utility endpoint
- **MapQuest API** — MapQuest provides full mapping, routing, and geocoding services
- **Cloudinary Upload API** — Cloudinary handles image and PDF storage and transformation alongside ExoAPI's HTML renderer

## FAQ

### What authentication does the ExoAPI use?

ExoAPI uses HTTP bearer authentication. Pass an Authorization: Bearer <token> header where the token is issued from your ExoAPI dashboard. Through Jentic the token is held in the vault and injected per call so it does not appear in agent prompts or logs.

### What output formats does the HTML renderer support?

POST /html-renderer accepts HTML and returns a rendered image or PDF depending on the output parameter you set in the request body. It is stateless - each call renders from the supplied HTML rather than persisting a document.

### Can I generate any barcode format with ExoAPI?

POST /barcode-generator generates barcodes from a value and format pair. The supported formats are listed in the operation's request schema; common ones such as code128 and qr are supported. The endpoint returns the generated image directly.

### How accurate is the reverse-geocoding endpoint?

GET /reverse-geocoding returns the address corresponding to a latitude and longitude pair. Accuracy depends on the underlying geocoding source ExoAPI uses; for high-precision use cases compare against a dedicated geocoder such as Google Maps or HERE.

### How do I render an HTML invoice to PDF through Jentic?

Run pip install jentic, then search 'render html to pdf', load the POST /html-renderer operation, and execute it with html=<your template> and output=pdf. Jentic injects the bearer token at execution time and returns the rendered PDF bytes.

### What are the rate limits for ExoAPI?

The OpenAPI spec does not declare numeric rate limits. ExoAPI applies plan-based limits on its dashboard; check 429 responses for Retry-After and consult your account tier for current quotas.

### Can I limit what my agent is allowed to do with the ExoAPI?

Yes. Because Jentic One is self-hosted, your own rules decide which ExoAPI operations and credentials the agent can use, so you can scope it to just the utilities it needs, such as GET /reverse-geocoding or GET /unit-converter. Since every ExoAPI call is stateless and takes its input in the request body or query, the operations you leave out, like POST /barcode-generator or POST /html-renderer, stay unavailable to the agent unless you add them. Your bearer token is held by your own instance and injected only for the operations you permit.
