VoiceStamps API
Complete REST API for VoiceStamp creation, management, sharing, and conversion. Create voice-annotated content with audio, images, and interactive elements.
Quick Start
1. Create a draft: POST /api/v1/security/vst/draft
2. Upload files: POST /api/v1/security/vst/{vstId}/audio
3. Complete package: POST /api/v1/security/vst/{vstId}/complete-package
4. Share: POST /api/v1/voicestamps/{id}/share
Core CRUD Operations
5 endpoints/api/v1/voicestampsList VoiceStamps
Get all VoiceStamps for the authenticated user with pagination and filtering.
Query Parameters
pagelimitstatussearch/api/v1/voicestampsCreate VoiceStamp
Create a new VoiceStamp with metadata.
Request Body
titledescriptionvoice_tagsmetadata/api/v1/voicestamps/{id}Get VoiceStamp
Retrieve detailed information about a specific VoiceStamp.
Query Parameters
include_manifestinclude_sharing/api/v1/voicestamps/{id}Update VoiceStamp
Update VoiceStamp metadata, title, description, or voice tags.
Request Body
titledescriptionvoice_tagsmetadata/api/v1/voicestamps/{id}Delete VoiceStamp
Permanently delete a VoiceStamp and all associated files.
Sharing & Collaboration
6 endpoints/api/v1/voicestamps/{id}/shareCreate Share Link
Generate a shareable link for a VoiceStamp with privacy controls.
Request Body
privacyexpires_atpassword/api/v1/voicestamps/{id}/share/emailShare via Email
Share a VoiceStamp directly via email using template ID 100.
Request Body
recipient_emailrecipient_namemessage/api/v1/voicestamps/{id}/share/smsShare via SMS
Share a VoiceStamp directly via SMS using template ID 100.
Request Body
recipient_phonemessage/api/v1/voicestamp/public/{code}Access Public Share
Access a publicly shared VoiceStamp using the share code.
Query Parameters
track_view/api/v1/voicestamp/public/{code}/dataGet Public Share Data
Get metadata for a publicly shared VoiceStamp.
Returns
VoiceStamp metadata, sharing info, view counts
/api/v1/security/vst/reply/{token}Submit Reply
Submit a reply to a shared VoiceStamp using reply token.
Request Body
messageaudio_fileFile Management
6 endpoints/api/v1/security/vst/draftCreate Draft
Create a new VoiceStamp draft for file uploads.
Returns
VST ID for subsequent file operations
/api/v1/security/vst/{vstId}/imageUpload Image
Upload an image file to associate with a VoiceStamp.
Request Body
image_fileposition/api/v1/security/vst/{vstId}/image/{filename}Get Image
Retrieve an uploaded image file.
Returns
Binary image data
/api/v1/security/vst/{vstId}/audioUpload Audio
Upload an audio file for voice recording.
Request Body
audio_filedurationformat/api/v1/security/vst/{vstId}/audio/{filename}Get Audio
Retrieve an uploaded audio file.
Returns
Binary audio data
/api/v1/files/{filename}Serve File
Serve any VoiceStamp file by filename.
Returns
Binary file data
Package & Conversion
7 endpoints/api/v1/security/vst/{vstId}/manifestGet Manifest
Retrieve the VoiceStamp package manifest with all metadata.
Returns
Complete manifest JSON with voice tags, timestamps, files
/api/v1/security/vst/{vstId}/manifestUpdate Manifest
Update the VoiceStamp manifest with new voice tags or metadata.
Request Body
voice_tagsmetadatatimestamps/api/v1/security/vst/{vstId}/drawingsSave Drawings
Save drawing/annotation data to the VoiceStamp package.
Request Body
drawing_datacoordinates/api/v1/security/vst/{vstId}/upload-txtUpload Text
Upload text content or transcription to the package.
Request Body
text_contenttype/api/v1/security/vst/{vstId}/complete-packageComplete Package
Finalize the VoiceStamp package and trigger conversion.
Returns
Package completion status and download info
/api/v1/security/vst/{vstId}/packageGet Package
Download the complete VoiceStamp package as ZIP.
Returns
ZIP file containing all VoiceStamp assets
/api/v1/security/vst/{vstId}/convertConvert to VST
Convert uploaded assets to final VST format.
Returns
Conversion job status and progress
Advanced Features
6 endpoints/api/v1/security/vst/{vstId}/thumbnailGet Thumbnail
Get the auto-generated thumbnail for a VoiceStamp.
Returns
Binary thumbnail image
/api/v1/security/vst/{vstId}/thumbnail/generateGenerate Thumbnail
Generate a new thumbnail from the VoiceStamp content.
Request Body
timestampstyle/api/v1/security/vst/{vstId}/thumbnail/regenerateRegenerate Thumbnail
Regenerate the thumbnail with updated parameters.
Request Body
timestampstyleforce/api/v1/voicestamps/{id}/transcribeTranscribe Audio
Generate text transcription of the voice recording.
Returns
Transcription text and confidence scores
/api/v1/security/vst/{vstId}/downloadDownload Package
Download the complete VoiceStamp package.
Returns
Download URL or direct file stream
/api/v1/security/ai/translateAI Translation
Translate VoiceStamp text content using AI.
Request Body
texttarget_languagesource_languageVSTFile Data Structure
Complete data model for VoiceStamp files returned by API endpoints.
{
"id": integer,
"user_id": string,
"voice_note_id": string|null,
"title": string,
"description": string|null,
"draft_image_path": string|null,
"thumbnail_path": string|null,
"draft_audio_path": string|null,
"vst_file_path": string|null,
"file_size_bytes": integer,
"conversion_status": enum: draft|processing|completed|failed,
"aws_s3_bucket": string|null,
"aws_s3_key": string|null,
"manifest_s3_key": string|null,
"package_s3_key": string|null,
"metadata": object,
"voice_tags": array,
"created_at": timestamp,
"updated_at": timestamp
}Complete Workflow Example
1. Create Draft VoiceStamp
POST /api/v1/security/vst/draft
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
"title": "My First VoiceStamp",
"description": "Testing the API workflow"
}
// Response
{
"success": true,
"vst_id": 12345,
"status": "draft"
}2. Upload Audio File
POST /api/v1/security/vst/12345/audio
Authorization: Bearer YOUR_TOKEN
Content-Type: multipart/form-data
{
"audio_file": [binary audio data],
"duration": 30.5,
"format": "mp3"
}
// Response
{
"success": true,
"audio_url": "https://voicestamp.vps.webdock.cloud/api/v1/security/vst/12345/audio/recording.mp3"
}3. Complete Package
POST /api/v1/security/vst/12345/complete-package
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
"voice_tags": [
{
"timestamp": 5.2,
"x": 120,
"y": 80,
"note": "Important point here"
}
]
}
// Response
{
"success": true,
"status": "completed",
"download_url": "https://voicestamp.vps.webdock.cloud/api/v1/security/vst/12345/download"
}4. Share via Email
POST /api/v1/voicestamps/12345/share/email
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
"recipient_email": "friend@example.com",
"recipient_name": "Friend Name",
"message": "Check out my first VoiceStamp!"
}
// Response
{
"success": true,
"share_code": "ABC123",
"public_url": "https://voicestamp.app/share/ABC123",
"email_sent": true
}Error Handling
Authentication Errors
HTTP 401 Unauthorized
{
"error": "invalid_token",
"message": "The provided token is invalid or expired"
}Validation Errors
HTTP 422 Unprocessable Entity
{
"error": "validation_failed",
"message": "The given data was invalid",
"errors": {
"title": ["The title field is required"]
}
}Resource Not Found
HTTP 404 Not Found
{
"error": "resource_not_found",
"message": "VoiceStamp not found"
}