Leak Detection API

πŸŽ‰ Get FREE Screen Watermarking with your subscription!

Document protection that deters unauthorized use. Aquamark applies broker and funders attributions in the form of visible watermarks and embedded metadata, creating a strong deterrent against theft.

Sample watermarked PDF
Setup time: 2-4 hours. Standard HTTP requests, simple polling pattern. Most developers complete integration same day.
Your workflow, your way. This API is a tooling layer that plugs into your existing workflows. Send us PDFs and funder names, we send back unique watermarked PDFs for each funder. Call the endpoint as many times as needed for each of your customers. Integrates seamlessly into automated workflows or manual processes.

How It Works

The API uses asynchronous processing to handle large volumes without timeouts:

3-Step Process:

1 Submit job β†’ Get job_id instantly

2 Poll status β†’ Check if complete

3 Download β†’ Get your watermarked PDFs

Endpoints

Submit Job

POST https://aquamark-broker-funder.onrender.com/watermark-broker-funder

Check Status

GET https://aquamark-broker-funder.onrender.com/job-status/:job_id

Authentication

Authorization: Bearer aqua-api-watermark-77204041104282

This API key is universal and can be used immediately for testing.

Parameters

Required

Parameter Type Description
user_email String Your Aquamark account email
Use [email protected] for testing with Aquamark branding
funder String or Array Funder name(s) - max 15 per request, no special characters.

File Input

Parameter Type Description
file_url String or Array One or more PDF URLs
Works with single file or multiple files

Max 25MB per file.

Note: Examples use cURL for clarity. Translate to your preferred language (Python, JavaScript, Java, etc.). Standard HTTP requestsβ€”nothing custom.

Complete Example

1 Submit Job

curl -X POST https://aquamark-broker-funder.onrender.com/watermark-broker-funder \
  -H "Authorization: Bearer aqua-api-watermark-77204041104282" \
  -H "Content-Type: application/json" \
  -d '{
    "user_email": "[email protected]",
    "file_url": [
      "https://example.com/jan-statement.pdf",
      "https://example.com/feb-statement.pdf",
      "https://example.com/credit-app.pdf"
    ],
    "funder": ["Forward Financing", "OnDeck Capital", "Kapitus"]
  }'

Response (instant):

{
  "job_id": "abc-123-def-456",
  "status": "processing",
  "message": "Job created successfully. Poll /job-status/{job_id} for updates."
}

2 Poll Status

Use the job_id from Step 1 to check status every 10 seconds:

curl https://aquamark-broker-funder.onrender.com/job-status/abc-123-def-456

While processing:

{
  "job_id": "abc-123-def-456",
  "status": "processing",
  "progress": "Processing 2 of 3 files",
  "created_at": "2025-01-06T10:00:00Z"
}

When complete:

{
  "job_id": "abc-123-def-456",
  "status": "complete",
  "download_url": "https://...broker-job-results/abc-123-def-456.zip",
  "message": "Ready for download. Files expire after 1 hour.",
  "created_at": "2025-01-06T10:00:00Z",
  "completed_at": "2025-01-06T10:01:30Z"
}

On error:

{
  "job_id": "abc-123-def-456",
  "status": "error",
  "error_message": "Job timed out after 10 minutes",
  "created_at": "2025-01-06T10:00:00Z",
  "completed_at": "2025-01-06T10:10:00Z"
}

3 Download

Use the download_url from Step 2 to download the ZIP:

curl "https://...broker-job-results/abc-123-def-456.zip" --output watermarked.zip

Example ZIP Contents

watermarked.zip/
β”œβ”€β”€ jan-statement-forward-financing.pdf
β”œβ”€β”€ jan-statement-ondeck-capital.pdf
β”œβ”€β”€ jan-statement-kapitus.pdf
β”œβ”€β”€ feb-statement-forward-financing.pdf
β”œβ”€β”€ feb-statement-ondeck-capital.pdf
β”œβ”€β”€ feb-statement-kapitus.pdf
β”œβ”€β”€ credit-app-forward-financing.pdf
β”œβ”€β”€ credit-app-ondeck-capital.pdf
└── credit-app-kapitus.pdf

Polling Interval

File Availability

Additional Examples

Single File, Multiple Funders

curl -X POST https://aquamark-broker-funder.onrender.com/watermark-broker-funder \
  -H "Authorization: Bearer aqua-api-watermark-77204041104282" \
  -H "Content-Type: application/json" \
  -d '{
    "user_email": "[email protected]",
    "file_url": ["https://example.com/statement.pdf"],
    "funder": ["Forward Financing", "OnDeck Capital"]
  }'

Error Codes

Code Meaning Example Response
400 Bad request At least one funder required
401 Invalid API key Invalid API key
402 Account not authorized Requires the Leak Detection plan
404 Job not found Job not found
413 File too large File statement.pdf (30.5MB) exceeds 25MB limit
429 Rate limit exceeded Too many requests. Please wait 15 minutes and try again.
500 Server error Processing failed: [error details]

Limits

Important Notes

Unzip required. Downloads are ZIP files. Use standard extraction libraries in your language.

Storage tip: Consider deleting watermarked files from your system after sending to funders to save local storage space.

Ready for Production?

The examples above use test credentials with Aquamark branding. To deploy with your own branding:

  1. Sign up: Create an account at aquamark.io/signup
  2. Upload your logo: Go to the Watermark Console in your portal
  3. Subscribe: Select the Leak Detection plan
  4. Update your code: Replace [email protected] with your Aquamark account email in the user_email parameter

That's it. Your documents will now be watermarked with your branding and funder names.

Support

Questions? Email [email protected]