API Documentation
Complete reference for the Danaya REST API. All endpoints require authentication unless stated otherwise.
https://danaya-backend-one.vercel.app/api/v1Authentication
All API requests must include your API key in the X-API-Key header. API keys follow the format rs_live_*.
// Example request header
X-API-Key: rs_live_abc123def456...You can generate and manage API keys from your Dashboard. Keep your keys secret and never expose them in client-side code.
Seals
Create, list, retrieve, and delete content authenticity seals.
/api/v1/seals// Option 1: JSON body with pre-computed hashes
{
"name": "My Evidence",
"hashes": [
{ "hash": "a1b2c3d4e5f6...", "index": 0, "type": "photo" }
],
"location": { "latitude": 48.8566, "longitude": 2.3522 },
"mediaType": "photo"
}
// Option 2: multipart/form-data with images
images: <binary files>
name: "My Evidence"
location: '{"latitude":48.8566,"longitude":2.3522}'/api/v1/seals// Query parameters
page=1
limit=10
search="inspection" // Optional: search by name/shortId
mediaType="photo" // Optional: photo | video | mixed
sortOrder="newest" // Optional: newest | oldest
isAiGenerated="true" // Optional: filter by AI detection/api/v1/seals/:shortId{
"shortId": "RS-7K2M",
"status": "sealed",
"hashes": ["sha256:a1b2c3d4..."],
"location": { "lat": 48.8566, "lng": 2.3522 },
"createdAt": "2025-06-15T10:30:00Z"
}/api/v1/seals/:shortId{
"message": "Seal deleted successfully"
}Capture Sessions
Capture sessions allow users to create seals via web browser by scanning a QR code from the dashboard. This enables capturing photos on any device with a browser.
Capture sessions are not available for API-only plans. Sessions expire after 15 minutes and can be reused within that time window.
/api/capture-sessions{
"sessionToken": "abc123def456...",
"expiresAt": "2025-06-15T10:45:00Z",
"expiresIn": 900
}/api/capture-sessions/validate/:token{
"user": {
"email": "user@example.com",
"name": "John Doe",
"plan": "pro",
"sealsThisMonth": 12
},
"sessionToken": "abc123def456..."
}/api/capture-sessions/:token{
"isValid": true,
"isUsed": false,
"expiresAt": "2025-06-15T10:45:00Z",
"remainingSeconds": 720
}/api/capture-sessions/:token/seals{
"name": "My Photo Evidence",
"hashes": [
{ "hash": "a1b2c3...", "index": 0, "type": "photo" }
],
"location": { "latitude": 48.8566, "longitude": 2.3522, "accuracy": 10 },
"deviceInfo": { "platform": "web", "deviceId": "...", "appVersion": "web-1.0" },
"mediaType": "photo"
}AI Analysis
Submit media for AI-powered authenticity and manipulation analysis.
/api/v1/ai-analysis// multipart/form-data
Content-Type: multipart/form-data
// Form field
images: <binary file>Verification
Verify the authenticity of sealed content. These endpoints are open to everyone and require no account or API key.
/api/v1/verify/:shortId{
"verified": true,
"shortId": "RS-7K2M",
"status": "sealed",
"sealedAt": "2025-06-15T10:30:00Z"
}/api/v1/verify/check{
"hash": "sha256:a1b2c3d4..."
}