Hinto AI logo

Hinto AI

Hinto AI Website
Hinto AI Website

Documentation

Getting Started with Hinto AI
Generating Content
Editing and Organizing Content
Publishing documentation
Exporting content
Managing Users and Permissions
Managing Projects
Managing Your Account
Integrations
Analyzing User Interviews
Lessons
Home/Integrations
Hinto AI logo

Hinto AI

llms.txt
Hinto AI logo

Hinto AI

llms.txt
© 2026 Hinto AI. All rights reserved.
Made withHinto AI

API Documentation

This document describes the external API system that allows external applications to access project data using API keys.

Overview

The external API provides secure, project-specific access to:

  • Project structure (folders and articles metadata)
  • Individual articles in HTML or Markdown format
  • Complete project exports as ZIP archives

Authentication

All external API endpoints require API key authentication using the X-API-Key header. API keys are tied to a specific project and provide access only to that project's data.

Base URL: app.hintoai.com/api/external/v1

curl -H "X-API-Key: your-api-key-here" \
     https://app.hintoai.com/api/external/v1/projects/structure

Getting Started

Obtaining an API Key

API Key Properties

  • Project-Specific: Each API key provides access to only one project
  • Read-Only: API keys provide read-only access to project data
  • Expiration: Keys may have expiration dates set by the project owner
  • Revocation: Project owners can deactivate or delete keys at any time

Available Endpoints

1. Get Project Structure

Endpoint: GET /api/external/v1/projects/structure Authentication: Required (Project API Key)

Returns the hierarchical structure of folders and articles within the authenticated project.

Response:

{
  "project": {
    "id": "uuid",
    "name": "Project Name",
    "description": "Project description",
    "url": "https://project-website.com",
    "logoUrl": "https://logo-url.com/logo.png",
    "projectBrandData": { /* branding data */ },
    "isSearchEngineIndexed": true
  },
  "structure": {
    "folders": [
      {
        "id": 1,
        "name": "Folder Name",
        "articles": [
          {
            "id": 1,
            "title": "Article Title",
            "created_at": "2024-01-01T00:00:00Z",
            "updated_at": "2024-01-01T00:00:00Z",
            "video_id": "uuid"
          }
        ],
        "children": [/* nested folders */]
      }
    ],
    "rootArticles": [
      {
        "id": 2,
        "title": "Root Article",
        "created_at": "2024-01-01T00:00:00Z",
        "updated_at": "2024-01-01T00:00:00Z",
        "video_id": "uuid"
      }
    ]
  }
}

2. Get Single Article

Endpoint: GET /api/external/v1/articles/{id} Authentication: Required (Project API Key)

Returns a specific article with its content in HTML or Markdown format.

Query Parameters:

  • format (optional): Export format
  • html (default): Returns HTML content
  • markdown: Returns Markdown content
  • clean (optional): Set to true or 1 for clean HTML export with processed article links (HTML format only)

Response (HTML format):

{
  "article": {
    "id": 1,
    "title": "Article Title",
    "project_id": "uuid",
    "folder_id": 1,
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z"
  },
  "content": {
    "html": "<h1>Article Title</h1><p>Article content...</p>",
    "format": "html"
  },
  "project": {
    "slug": "project-slug",
    "name": "Project Name"
  }
}

Response (Markdown format):

{
  "article": {
    "id": 1,
    "title": "Article Title",
    "project_id": "uuid",
    "folder_id": 1,
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z"
  },
  "content": {
    "markdown": "# Article Title\n\nArticle content...",
    "format": "markdown"
  },
  "project": {
    "slug": "project-slug",
    "name": "Project Name"
  }
}

3. Export Complete Project

Endpoint: GET /api/external/v1/projects/export Authentication: Required (Project API Key)

Downloads the entire project as a ZIP archive or single file.

Query Parameters:

  • format (optional): Export format
  • html (default): HTML files in ZIP archive
  • markdown: Markdown files in ZIP archive
  • llm-text: Single plain text file (all articles combined)

Response:

  • For html/markdown: Binary ZIP file download with folder structure
  • Content-Type: application/zip
  • Content-Disposition: attachment; filename="project-name.zip"
  • For llm-text: Plain text file download (single file)
  • Content-Type: text/plain
  • Content-Disposition: attachment; filename="project-name.txt"

Error Responses

All endpoints return consistent error responses:

{
  "error": "Error type",
  "message": "Detailed error message"
}

Common error codes:

  • 401 - Missing or invalid API key
  • 403 - Access denied to resource
  • 404 - Resource not found
  • 405 - Method not allowed
  • 500 - Internal server error

Usage Examples

Get Project Structure

curl -H "X-API-Key: your-api-key" \
     https://app.hintoai.com/api/external/v1/projects/structure

Get Specific Article (HTML)

curl -H "X-API-Key: your-api-key" \
     https://app.hintoai.com/api/external/v1/articles/123

Get Article in Markdown Format

curl -H "X-API-Key: your-api-key" \
     https://app.hintoai.com/api/external/v1/articles/123?format=markdown

Get Article with Clean HTML

curl -H "X-API-Key: your-api-key" \
     https://app.hintoai.com/api/external/v1/articles/123?clean=true

Export Project as ZIP

curl -H "X-API-Key: your-api-key" \
     https://app.hintoai.com/api/external/v1/projects/export?format=html \
     -o project-export.zip

Export Project as LLM Text

curl -H "X-API-Key: your-api-key" \
     https://app.hintoai.com/api/external/v1/projects/export?format=llm-text \
     -o project-export.txt

Export Project as Markdown

curl -H "X-API-Key: your-api-key" \
     https://app.hintoai.com/api/external/v1/projects/export?format=markdown \
     -o project-export.zip
On this page