Mobile Apps & API Documentation

Access DocAssure on mobile devices and integrate with your applications using our REST API

Mobile Apps

iOS App

Access your documents on the go with the DocAssure iOS app. Available for iPhone and iPad.

Download on App Store

Android App

Manage your documents wherever you are with the DocAssure Android app for phones and tablets.

Get it on Google Play

DocAssure Mobile Access

Our mobile apps support both Personal and Enterprise tenants, allowing you to securely manage, share, and access documents from anywhere. Enterprise users enjoy additional security features and team collaboration tools.

API Overview

The DocAssure REST API allows you to integrate document management and AI-powered search capabilities into your applications. All API endpoints use HTTPS and return JSON responses.

Base URL

https://doc-assure.app/api

Request Format

  • All requests must include proper authentication headers
  • Content-Type: application/json
  • Requests use standard HTTP methods (GET, POST, PUT, DELETE)
  • Query parameters for filtering and pagination

Authentication

DocAssure API uses session-based authentication. Include your session token in the request headers:

// Request header
Authorization: Bearer YOUR_SESSION_TOKEN

Security Note

Never expose your API tokens in client-side code. Always make API calls from your backend server to keep credentials secure. Tokens are automatically scoped to your tenant for multi-tenant security.

AI Search Endpoints

These endpoints provide AI-powered document search and analysis capabilities.

Intelligent Query (Recommended)

AI-Powered
POST /api/rag/intelligent-query

AI automatically detects query intent and routes to optimal strategy (SQL for metadata, intelligent search for content).

Request Body:

{
  "query": "How many documents do I have?",
  "llmId": "default",            // optional, uses system default
  "max_documents": 15            // optional, default: 15
}

Response:

{
  "success": true,
  "query": "How many documents do I have?",
  "intent": "metadata",                  // metadata|retrieval|analytical
  "execution_strategy": "sql",           // sql|hybrid_rag|both
  "answer": "You have 30 documents...",
  "metadata": {
    "query_time_ms": 145,
    "rows_returned": 1
  }
}

Hybrid Search

AI
POST /api/rag/hybrid-search

Direct access to hybrid search combining keyword, semantic, graph, and visual search methods.

Request Body:

{
  "query": "Find GDPR compliance documents",
  "llmId": "default",                   // optional
  "generate_answer": true,              // optional, default: true
  "limit": 20,                          // optional, default: 20
  "enable_graph": true,                 // optional, default: true
  "enable_vision": true,                // optional, default: true
  "filters": {                          // optional
    "document_ids": ["uuid1", "uuid2"]  // specific documents
  }
}

Response:

{
  "answer": "Based on your documents, here are...",
  "results": [
    {
      "document_id": "uuid",
      "filename": "GDPR-Policy.pdf",
      "hybrid_score": 0.95,
      "component_scores": {
        "bm25_score": 0.89,
        "vector_score": 0.92,
        "graph_score": 0.85,
        "vision_score": 0.0
      },
      "matched_text": "Excerpt from document..."
    }
  ],
  "metadata": {
    "query_time_ms": 1250,
    "documents_analyzed": 15
  }
}

Document Management Endpoints

List Documents

GET
GET /api/documents?limit=50&offset=0

Returns paginated list of documents for the authenticated tenant.

Upload Document

POST
POST /api/documents/upload

Upload new document with multipart/form-data.

Form Fields: file (required), title, description, category

Get Document

GET
GET /api/documents/:documentId

Retrieve metadata and content for a specific document.

Code Examples

JavaScript / Node.js

// Intelligent Query Example
const response = await fetch('https://doc-assure.app/api/rag/intelligent-query', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_SESSION_TOKEN'
  },
  body: JSON.stringify({
    query: 'How many compliance documents do I have?',
    llmId: 'deepseek-v3'
  })
});

const data = await response.json();
console.log('Intent:', data.intent);
console.log('Answer:', data.answer);

Python

import requests

# Hybrid Search Example
response = requests.post(
    'https://doc-assure.app/api/rag/hybrid-search',
    headers={
        'Content-Type': 'application/json',
        'Authorization': 'Bearer YOUR_SESSION_TOKEN'
    },
    json={
        'query': 'Find documents about data privacy',
        'generate_answer': True,
        'limit': 20
    }
)

data = response.json()
print(f"Found {len(data['results'])} documents")
print(f"Answer: {data['answer']}")

cURL

curl -X POST https://doc-assure.app/api/rag/intelligent-query \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -d '{
    "query": "Give me a summary of all documents",
    "llmId": "deepseek-v3"
  }'

Rate Limits & Best Practices

Rate Limits

  • Standard tier: 100 requests per minute per tenant
  • Enterprise tier: 500 requests per minute per tenant
  • Rate limit headers: Returned in all API responses

Best Practices

  • • Cache responses when appropriate to reduce API calls
  • • Implement exponential backoff for retry logic
  • • Use webhooks for long-running operations instead of polling
  • • Batch operations when possible
  • • Monitor rate limit headers to avoid throttling

Error Responses

400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing authentication
429Too Many Requests - Rate limit exceeded
500Internal Server Error - Server-side issue