Destinations
Destinations determine where photos are delivered once an end-user uploads them. Apertur supports a wide range of delivery methods to fit your infrastructure.
Webhook
Webhooks are the most common delivery method. Apertur sends an HTTP POST request to your URL with the photo data as soon as each image is uploaded.
- Set delivery_mode to "webhook" when creating a session.
- Provide your endpoint URL in the webhook_url parameter.
- Optionally choose a format:
json_base64(default) ormultipart. - Your endpoint must respond with a 2xx status code within 30 seconds.
- If delivery fails, Apertur retries with exponential backoff up to 5 times.
curl -X POST https://api.apertur.ca/v1/sessions \
-H "Authorization: Bearer aptr_live_xxxx" \
-H "Content-Type: application/json" \
-d '{
"delivery_mode": "webhook",
"webhook_url": "https://your-app.com/api/photos",
"webhook_format": "json_base64"
}'For advanced configuration including custom headers and signature verification, see the webhook documentation.
Amazon S3
Deliver photos directly to an Amazon S3 bucket. Ideal for workflows that process images from S3 using Lambda or other cloud services.
Compatible S3 providers
- Navigate to Project Settings > Destinations and add a new S3 destination.
- Enter your bucket name, region, and credentials (access key ID and secret).
- Optionally configure a key template for custom file paths.
- Test the connection to verify Apertur can write to your bucket.
- When creating sessions, set delivery_mode to
s3and reference this destination. - Click Save to finish.
How to get your Access Key and Secret Key
Amazon S3 (AWS)
- Sign in to the AWS Management Console and go to IAM (Identity and Access Management).
- Create a new IAM user (or use an existing one) with Programmatic access enabled.
- Attach a policy granting s3:PutObject permission on your target bucket (e.g. arn:aws:s3:::my-bucket/*).
- On the final screen, copy the Access Key ID and Secret Access Key. The secret is shown only once — save it securely.
MinIO
- Open the MinIO Console and navigate to Access Keys in the left menu.
- Click Create Access Key, copy both the access key and secret key, and store them securely.
Other S3-compatible providers
Most providers (DigitalOcean Spaces, Backblaze B2, Wasabi, Cloudflare R2, etc.) have a similar workflow: create an API key or access key in your dashboard's storage/S3 section. Use the provider's endpoint URL (e.g. https://nyc3.digitaloceanspaces.com) instead of the default AWS endpoint.
// Example destination config (via API)
{
"type": "s3",
"bucket": "my-photos-bucket",
"region": "us-east-1",
"access_key_id": "AKIA...",
"secret_access_key": "wJal...",
"key_template": "uploads/{session_id}/{image_index}.{ext}"
}Tip
Use IAM roles with minimal permissions. Grant only s3:PutObject on the specific bucket and prefix you need.
Google Drive
Deliver photos to a Google Drive folder. Great for teams that already use Google Workspace for collaboration.
- Go to Project Settings > Destinations and add a Google Drive destination.
- Click Connect Google Account to authorise Apertur via OAuth.
- Select the target folder (or let Apertur create one).
- Optionally configure a subfolder template using session variables.
- Click Save. Photos will be delivered to the selected folder.
Apertur requests only the minimum scopes required to write files to your Drive. You can revoke access at any time from your Google Account settings.
Dropbox
Deliver photos to a Dropbox folder. Useful for workflows that rely on Dropbox for file sharing and storage.
- Navigate to Project Settings > Destinations and add a Dropbox destination.
- Click Connect Dropbox to authorise via OAuth.
- Choose the target folder path.
- Optionally configure a subfolder template.
- Click Save to finish setup.
Files are uploaded to the path /Apps/Apertur/{your_folder}/{session_id}/ by default.
OneDrive
Deliver photos to a OneDrive folder. Works with both personal and OneDrive for Business accounts.
- Go to Project Settings > Destinations and add a OneDrive destination.
- Click Connect Microsoft Account to authorise via OAuth.
- Select the target folder or enter a custom path.
- Optionally configure a subfolder template.
- Click Save to complete the setup.
OneDrive for Business may require admin consent in your Microsoft 365 tenant before connecting.
FTP / SFTP
Deliver photos to an FTP or SFTP server. Commonly used in enterprise environments and legacy integrations.
- Navigate to Project Settings > Destinations and add an FTP/SFTP destination.
- Enter your server host, port, username, and password (or SSH key for SFTP).
- Specify the remote directory path where photos should be uploaded.
- Test the connection to ensure Apertur can authenticate and write files.
- Click Save to finish.
Security Note
Plain FTP transmits credentials in cleartext. We strongly recommend using SFTP (SSH File Transfer Protocol) whenever possible.
Azure Blob Storage
Deliver photos to an Azure Blob Storage container. Works well with Azure Functions, Logic Apps, and other Azure services.
- Go to Project Settings > Destinations and add an Azure Blob destination.
- Enter your storage account name, container name, and SAS token (or connection string).
- Optionally configure a blob path template.
- Test the connection to verify write access.
- Click Save to finish.
// Example destination config (via API)
{
"type": "azure_blob",
"account_name": "mystorageaccount",
"container_name": "photos",
"sas_token": "sv=2023-01-03&st=...",
"blob_template": "uploads/{session_id}/{image_index}.{ext}"
}WebDAV
Deliver photos to any WebDAV-compatible server. Supports Nextcloud, ownCloud, and other WebDAV implementations.
- Navigate to Project Settings > Destinations and add a WebDAV destination.
- Enter the server URL, username, and password.
- Specify the remote directory path.
- Test the connection to ensure Apertur can write files.
- Click Save to finish.
Make sure your WebDAV server supports the PUT method and that the target directory exists.
Testing Your Destination
Before using a destination in production, we recommend testing it with a sample session.
- Create a session using a test API key.
- Set
max_imagesto 1 for a quick test. - Scan the QR code and upload a test photo.
- Verify the photo arrived at your destination.
Tip
Test mode sessions are free and don't count towards your usage quota. Use them liberally during development.
Related Articles
Was this article helpful?
Need more help? Contact our support team.