API Documentation

Complete guide to integrate FrameSentinel fraud detection

Quick Start

1. Get Your API Key

Sign up and get your API key from the dashboard:

API_KEY=your-api-key-here
API_URL=https://api.framesentinel.com/v1

2. Install SDK

TypeScript/JavaScript:

npm install @framesentinel/sdk

Python:

pip install framesentinel

3. Basic Usage

import { FrameSentinelClient } from '@framesentinel/sdk';

const client = new FrameSentinelClient({
  apiKey: 'your-api-key',
  apiUrl: 'https://api.framesentinel.com/v1'
});

// Create verification session
const session = await client.createSession('user-123');

// Upload video
await client.uploadVideo(session.session_id, videoFile);

// Get results
const result = await client.pollUntilComplete(session.session_id);

console.log('Risk Level:', result.risk_level);
console.log('Score:', result.authenticity_score);

API Endpoints

POST/api/v1/sessions

Create a new verification session

Request:

{
  "user_id": "user-123",
  "metadata": {
    "ip_address": "192.168.1.1"
  }
}

Response:

{
  "session_id": "sess_abc123",
  "state": "PENDING",
  "created_at": "2024-01-15T10:30:00Z"
}
POST/api/v1/sessions/{id}/upload

Upload video for analysis

Request:

multipart/form-data with video file

Response:

{
  "session_id": "sess_abc123",
  "state": "PROCESSING",
  "upload_complete": true
}
GET/api/v1/sessions/{id}/result

Get verification results

Request:

No body required

Response:

{
  "session_id": "sess_abc123",
  "state": "COMPLETED",
  "authenticity_score": 0.95,
  "risk_level": "VERIFIED",
  "detection_flags": {
    "deepfake_detected": false,
    "replay_detected": false,
    "injection_detected": false,
    "face_swap_detected": false,
    "metadata_anomaly": false
  }
}

Authentication

All API requests require authentication using your API key in the header:

X-API-Key: your-api-key-here

Keep your API key secure. Never expose it in client-side code or public repositories.

Error Codes

400
Bad Request
Invalid request parameters
401
Unauthorized
Invalid or missing API key
403
Forbidden
API key lacks required permissions
404
Not Found
Session not found
413
Payload Too Large
Video exceeds 100MB limit
429
Too Many Requests
Rate limit exceeded (100 req/min)
500
Internal Server Error
Server error, contact support