Overview

Financing Integration Guide

Slate allows you to surface pre-qualified financing offers directly inside your product. Businesses are evaluated automatically, and approved offers are displayed via an embeddable banner.

This guide walks you through the full integration flow — from registering businesses to embedding financing offers and monitoring financing agreements.


How It Works

  1. Send business data — Share your customer's business information and revenue data with Slate
  2. Automatic evaluation — Slate evaluates businesses and generates pre-approval offers
  3. Create session token — Generate a secure token on your backend for each business
  4. Display offers — Embed Slate's script in your frontend to show financing banners
  5. Customer application — Users click the banner and complete their application on Slate's hosted page
  6. Financing agreement — Approved applications result in financing agreements, with webhook notifications sent to your system

Integration Steps

Step 1 — Create a Business

First, register each business in Slate's system. Use your own stable identifier as the externalId to easily reference the business later.

POST https://api.tryslatehq.com/businesses

Request:

{
  "externalId": "biz_123",
  "legalName": "Acme Corp",
  "dba": "Acme",
  "website": "https://acme.com",
  "type": "PARTNERSHIP",
  "address": {
    "address1": "123 Main St",
    "address2": null,
    "city": "San Francisco",
    "postalCode": "94105",
    "country": "US",
    "state": "AL"
  },
  "contact": {
    "fullName": "John Doe",
    "email": "john@acme.com",
    "phone": "+15551234567"
  }
}

Step 2 — Attach Financial Data

Provide financial information to enable Slate to evaluate the business for pre-approval. You can submit data in two formats:

POST https://api.tryslatehq.com/businesses/{id}/attach-financial-data

Request:

{
  "externalId": "biz_123",
  "timeseries": [
    {
      "date": "2025-01-01",
      "data" {
        "propertyName*": "anything"
      }
    }
  ]
}

Step 3 — Create a User Session Token

Generate a secure session token on your backend for each business that will view financing offers. This token authenticates the embedded banner.

POST https://api.tryslatehq.com/user-sessions

Request:

{
  "externalId": "biz_123"
}

Response:

{
  "token": "ust_a1b2c3d4e5f6g7h8i9j0"
}

⚠️ Important

Generate this token server-side to protect your API key. Never expose your API key in frontend code.


Step 4 — Embed the Financing Banner

Add Slate's script to your frontend and pass the session token. The banner will automatically appear if the business has an active pre-approval.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Your Application</title>
  </head>
  <body>
    <div id="slate-pre-approval-banner"></div>
    <script 
      src="https://integrations.tryslatehq.com/pre-approval-banner.js" 
      data-user-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
      data-target-id="slate-pre-approval-banner"
    ></script>
  </body>
</html>

⚠️ Important

The sandbox URL for testing is https://integrations-sandbox.tryslatehq.com/pre-approval-banner.js

Behavior:

  • If the business has an ACTIVE pre-approval, the banner displays the offer details
  • If no pre-approval exists, nothing is rendered
  • Clicking the banner opens Slate's application flow in a new window or modal

Step 5 — Access Financing Agreements

Once an application is approved, retrieve the financing agreement details:

GET https://api.tryslatehq.com/financing-agreements?externalId=biz_123

Response:

{
  "data": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "businessId": "123e4567-e89b-12d3-a456-426614174000",
      "type": "fixed_mca",
      "fixedMCA": {
        "paybackAmount": 12000,
        "factorRate": 1.2
      },
      "fundedAmount": 10000,
      "fundedDate": "2025-01-01T00:00:00Z",
      "currency": "CAD",
      "firstPaymentDate": "2025-02-01T00:00:00Z",
      "estimatedLastPaymentDate": "2026-01-01T00:00:00Z",
      "status": "IN_PROGRESS",
      "term": 12,
      "termUnit": "month",
      "repaymentFrequency": 1,
      "repaymentFrequencyUnit": "month",
      "remainingBalance": 12000,
      "totalPaid": 0,
      "createdAt": "2025-01-01T00:00:00Z",
      "updatedAt": "2025-01-01T00:00:00Z"
    }
  ],
  "page": 1,
  "limit": 1,
  "total": 1,
  "totalPages": 1
}

Webhook notifications

Slate will notify you of important events via webhooks. You will be able to configure your endpoints ant the suscribed events in the dashboard.

Common events:

  • Created business
  • Application created
  • Application submitted
  • Financing agreement created
  • Financing agreement payment received

Testing

For testing your integration sign up to the sandbox.

  • In the sandbox environment pre-approvals are created automatically when you upload financial data for a business.
  • The sandbox is a completely isolated environment so webhooks, branding and any other configurations are not automatically applied to live environment.
  • Base URL's for API an scripts are different between live and sandbox.

Best practices

Keep business data current — Update business information and revenue data regularly to ensure accurate pre-approvals.

Handle missing offers gracefully — The banner won't render if there's no active pre-approval. Design your UI to work with or without the financing offer.

Test thoroughly — Verify the integration in your staging environment before going live.