Open API

Setup in Minutes

Test for free, deploy with confidence.

Choose Your Response Type

Select how you want to receive your watermarked files

Testing Environment

Watermarks will reflect Aquamark's brand. Once subscribed, we'll collect your logo and transition you to production.

Endpoint
https://aquamark-decrypt.onrender.com/watermark
API Key
aqua-api-watermark-10182013040420111015
Test Email

Choose Your Input Type

Sending PDF Files

Example Request
POST https://aquamark-decrypt.onrender.com/watermark

Headers:
Authorization: Bearer aqua-api-watermark-10182013040420111015

Body (form-data):
user_email: [email protected]
file: [Select File] statement.pdf

Sending Blob Data

For Salesforce, databases, or cloud storage systems

Example with Blob Data
// Set your email and blob data
const userEmail = '[email protected]';
const docs = YOUR_BLOB_DATA; // Single blob or array of blobs

// Process documents
const docsToProcess = Array.isArray(docs) ? docs : [docs];

async function processDocuments() {
    for (const doc of docsToProcess) {
        const formData = new FormData();
        
        // Use blob filename or fallback
        const filename = doc.name || 'document.pdf';
        formData.append('file', doc, filename);
        formData.append('user_email', userEmail);
        
        try {
            const response = await fetch('https://aquamark-decrypt.onrender.com/watermark', {
                method: 'POST',
                headers: {
                    'Authorization': 'Bearer aqua-api-watermark-10182013040420111015'
                },
                body: formData
            });
            
            if (!response.ok) {
                throw new Error(`API Error ${response.status}`);
            }
            
            const watermarkedBlob = await response.blob();
            
            // Download the watermarked file
            const url = URL.createObjectURL(watermarkedBlob);
            const link = document.createElement('a');
            link.href = url;
            link.download = filename.replace('.pdf', '-protected.pdf');
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link);
            URL.revokeObjectURL(url);
            
        } catch (error) {
            console.error('Watermark failed:', error);
        }
    }
}

processDocuments();

Blob Requirements

Your blob data must include a name property with the file extension (e.g., 'document.pdf'). Works with Salesforce ContentVersion, database BLOB fields, or any JavaScript Blob objects.

API Response

200Success

The watermarked document is returned directly as binary data.

400Bad Request

Missing required parameters: file or user_email

401Unauthorized

Invalid or missing API key

500Server Error

Document processing failed