Document protection that deters unauthorized use. Aquamark applies funder and broker attributions in the form of visible watermarks and embedded metadata, creating a strong deterrent against internal theft while signaling to brokers and merchants that their documents are safe with you.
The API uses asynchronous processing to handle submissions without timeouts:
Authorization: Bearer aqua-funder-api-101060-042858-101812
This API key is universal and can be used immediately for testing.
| Parameter | Type | Description |
|---|---|---|
user_email |
String | Your company email (authorized funder account) Use [email protected] for testing |
broker_name |
String | Name of submitting broker Letters, numbers, spaces, and hyphens only |
file_url |
String or Array | One or more PDF URLs from broker submission |
Max file size: 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-funder-broker.onrender.com/watermark-funder-broker \
-H "Authorization: Bearer aqua-funder-api-101060-042858-101812" \
-H "Content-Type: application/json" \
-d '{
"user_email": "[email protected]",
"broker_name": "ABC Capital Partners",
"file_url": [
"https://your-portal.com/submissions/jan-statement.pdf",
"https://your-portal.com/submissions/feb-statement.pdf",
"https://your-portal.com/submissions/credit-app.pdf"
]
}'
Response (instant):
{
"success": true,
"job_id": "abc-123-def-456",
"file_count": 3,
"message": "Watermarking job started",
"status_url": "/job-status/abc-123-def-456"
}
Use the job_id from Step 1 to check status every 10 seconds:
curl https://aquamark-funder-broker.onrender.com/job-status/abc-123-def-456
While processing:
{
"job_id": "abc-123-def-456",
"status": "processing",
"progress": "Watermarking file 2 of 3",
"created_at": "2025-01-06T10:00:00Z"
}
When complete:
{
"job_id": "abc-123-def-456",
"status": "completed",
"download_url": "https://...funder-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": "failed",
"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://...funder-job-results/abc-123-def-456.zip" --output watermarked.zip
watermarked.zip/
├── jan-statement-abc-capital-partners.pdf
├── feb-statement-abc-capital-partners.pdf
└── credit-app-abc-capital-partners.pdf
Each file is watermarked with your funder logo and the broker's name.
completed or faileddownload_url is a signed URL with built-in expiration| Code | Meaning | Example Response |
|---|---|---|
| 400 | Bad request | Validation error (missing params, invalid format) |
| 401 | Invalid API key | Invalid API key |
| 403 | User not authorized | User not found or inactive |
| 404 | Job not found | Job not found |
| 413 | File too large | File exceeds 25MB limit |
| 429 | Rate limit exceeded | Too many requests. Please wait 15 minutes and try again. |
| 500 | Server error | Internal server error |
To integrate watermarking API:
Questions? Contact [email protected]