Integrate

Generate documentation from a script or an agent

A REST API, a CLI and an agent skill for Claude Code, Cursor and other agents call the same actions the app does. Generate documentation from a video, edit an article and publish, on the Solo / Small Team plan and above.

A call from outside the app
POST/api/external/v2/generate
202Accepted, job queued

One documentation API, eight endpoint groups

Articles, folders, templates, videos, generation, project settings, publishing and export are documented in a single OpenAPI spec, the same reference a browser or a code generator can read. Translation, version restore and regeneration sit inside those groups.

Articles, folders and templates

Create, update, move and delete articles and folders, and read templates, with an X-API-Key header authenticating each request.
How this works
PUT/api/external/v2/articles/{id}X-API-Key: <your key>{ "title": "Reset your password" }

Generate, then check on the job

Point the generate endpoint at a video and it queues a job. Poll the job by id for its status, the same async pattern the app itself uses for a long-running run.
How this works
POST/api/external/v2/generate{ "videoId": "<video id>" }202 { "jobId": "<job id>", "type": "generate_article" }GET/api/external/v2/generate/{jobId}200 { "status": "completed" }

Project settings and publishing

Read and update project settings, and publish, republish or unpublish, through the same publishing pipeline the in-app settings screen uses.
How this works
POST/api/external/v2/publishPOST/api/external/v2/publish/republishDELETE/api/external/v2/publish

Get a signed callback instead of polling

Add a callbackUrl to a generate, regenerate, translate or publish call, and Hinto posts to it when the job finishes or fails. Add a callbackSecret and each call carries an X-Hinto-Signature header, an HMAC-SHA256 of the body, so you can check it came from Hinto. A failed delivery is tried up to 5 times.
How this works
POST/api/external/v2/generate{ "videoId": "<video id>", "callbackUrl": "<your url>" }POST<your url>X-Hinto-Signature: <hmac>{ "event": "generation.completed", "jobId": "<job id>" }

Four scopes, enforced per endpoint

Every v2 request checks the key's scopes before it runs. Generate starts a job, write creates, edits or moves content, publish publishes or republishes, and read covers everything else. A key acts only on the project it was issued for. Every key carries all four scopes today, since issuing a restricted key isn't built yet.

ScopeWhat it allowsFor example
readReading articles, folders, templates, videos, exports and job statusGET /articlesGET /generate/{jobId}
writeCreating, moving, duplicating and restoring content, and uploading videosPOST /articles/emptyPATCH /folders/{id}/move
generateStarting generation, regeneration and translation, and importing a video from a linkPOST /generatePOST /videos/import
publishPublishing and republishing the projectPOST /publishPOST /publish/republish

Run it from a terminal, or hand it to an agent

The CLI wraps the same API, and the agent skill wraps the CLI, so a person, a script and an agent such as Claude Code or Cursor all reach the same commands. Add --json for output a script can read, and --wait to block until a job is done.

$npm install -g @hintoai/cli

Install the CLI

$hinto articles list

List every article in the project

$npx skills add hintoai/hinto-cli

Install the agent skill

Webhooks: four events, one URL, your own headers

A project fires a webhook on publish, republish, unpublish and archive, carrying any headers you add for authentication. Each call sends an event name, the project and publication id, a timestamp, and the project's name and URL slug, a notice that something happened and where to find it, not the content itself.

  • project.publishWhen the project is published for the first time
  • project.republishWhen the project is republished with changes
  • project.unpublishWhen the project is unpublished
  • project.archiveWhen the project is archived
POSThttps://api.example.com/webhooksContent-Type: application/json
{
  "event": "project.republish",
  "projectId": "<project id>",
  "publicationId": "<publication id>",
  "timestamp": "2026-09-15T10:24:00.000Z",
  "data": {
    "projectName": "Acme Help Center",
    "urlSlug": "acme"
  }
}
Sent as a POST with your custom headers added. Hinto tries up to 3 times, waits up to 30 seconds for each attempt, and does not retry a 4xx response.How this works

Connects to the tools you already run

A webhook, a support inbox and a website builder can all read from the same project.

A webhook for your own systems

Point a webhook at your own endpoint and react to a publish, republish, unpublish or archive as it happens.

Intercom Fin answers from it

Sync a project's content into Intercom so Fin, Intercom's support agent, answers from what Hinto generated.

Framer imports it into your site

A Framer plugin imports articles and folders into the Framer CMS, for a site built and hosted in Framer.

Questions about the Hinto API, CLI and agent skill

No. Each request carries an X-API-Key header, for a key created in one project's settings.

Ready to Build a Better
Knowledge Base, Faster?

Get Started Free & Create Your First Article in Minutes