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.
The API uses asynchronous processing to handle large volumes without timeouts:
Authorization: Bearer aqua-api-watermark-77204041104282
This API key is universal and can be used immediately for testing.
| 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. |
| 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.
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."
}
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"
}
Use the download_url from Step 2 to download the ZIP:
curl "https://...broker-job-results/abc-123-def-456.zip" --output watermarked.zip
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
complete or errordownload_url is a signed URL with built-in expirationcurl -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"]
}'
| 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] |
Storage tip: Consider deleting watermarked files from your system after sending to funders to save local storage space.
The examples above use test credentials with Aquamark branding. To deploy with your own branding:
[email protected] with your Aquamark account email in the user_email parameterThat's it. Your documents will now be watermarked with your branding and funder names.
Questions? Email [email protected]