Developer API

    Integrate Underwriting Intelligence into Your Stack

    RESTful API with comprehensive documentation, SDKs, and webhooks. Get bank statement insights programmatically.

    API Endpoints

    Simple, predictable endpoints for the complete statement lifecycle.

    POST/api/v1/statements
    GET/api/v1/statements
    GET/api/v1/statements/:id

    Quick Start Example

    Create a customer, upload a statement, and retrieve the underwriting report in just a few API calls.

    API Key Auth

    Scoped API keys with read/write/delete permissions.

    Webhooks

    Optional callback URL when processing completes.

    JSON Responses

    Clean, structured JSON for all endpoints.

    Secure

    SHA-256 hashed keys, tenant isolation, HTTPS only.

    JavaScript / TypeScript
    // Submit a bank statement for processing
    const response = await fetch('https://jxotizeshtohvmeuavdc.supabase.co/functions/v1/api-v1-statements', {
      method: 'POST',
      headers: {
        'X-API-Key': 'tdiq_your_api_key_here',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        business_name: 'Acme Corp',
        customer_external_id: 'cust-123',  // Optional: your internal ID
        file_base64: pdfFileAsBase64,
        webhook_url: 'https://your-server.com/webhook',  // Optional
      }),
    });
    
    const { id, status } = await response.json();
    // id: "uuid-of-statement"
    // status: "uploaded"
    
    // Poll for results or wait for webhook
    const resultRes = await fetch(
      `https://jxotizeshtohvmeuavdc.supabase.co/functions/v1/api-v1-statements/${id}`,
      { headers: { 'X-API-Key': 'tdiq_your_api_key_here' } }
    );
    
    const data = await resultRes.json();
    // {
    //   id, status, bank_name, statement_period,
    //   customer, accounts, transactions,
    //   underwriting_report: { scores_json, metrics_json, fraud_json, ... }
    // }

    Webhook Callbacks

    Optionally provide a webhook URL when submitting statements to receive real-time notifications.

    Webhook Payload
    // Webhook payload sent to your URL when processing completes:
    {
      "event": "statement.processed",
      "statement_id": "uuid-of-statement",
      "status": "complete",
      "bank_name": "Chase",
      "transaction_count": 142,
      "processed_at": "2026-02-09T12:34:56Z",
      "timing_ms": 45320
    }

    Integration Flow

    Embed TraceDataIQ into your existing lending workflow.

    1
    Generate API key from Settings → API Keys (requires write permission)
    2
    POST to /api/v1/statements with base64 PDF and customer info
    3
    Receive job ID and poll for status, or wait for webhook
    4
    GET /api/v1/statements/:id to retrieve full results
    5
    Access transactions, scores, and underwriting report JSON

    Ready to Integrate?

    Get your API key and start sending statements in minutes.