Quick Start
Finovox analyzes the document's IT structure, so the document must remain unaltered before submission. The API should be connected upstream to prevent any potential sources of alteration and ensure the integrity of the document.
Authentication​
All API requests require an API key. You can generate your API key from the Finovox dashboard.
Include your API key in the request headers:
api-key: your_api_key_here
API Endpoint​
Supported File Formats​
- PDF (
.pdf) - JPEG (
.jpg,.jpeg) - PNG (
.png)
Your First Request​
In this example, we make a call to retrieve the fraud analysis:
- Python
- Javascript
import requests
import json
url = "https://api-v2.finovox.com/analyse"
headers = {"api-key": "YOUR_API_KEY_HERE"}
payload = {
"analyse_type": ["risk"]
}
with open("sample.pdf", "rb") as f:
files = [("file", ("sample.pdf", f.read()))]
data = {"payload": json.dumps(payload)}
response = requests.post(
url,
headers=headers,
files=files,
data=data,
timeout=150 # Required: minimum 150 seconds
)
print(response.json())
// npm install axios form-data
const fs = require('fs')
const axios = require('axios')
const FormData = require('form-data')
const url = 'https://api-v2.finovox.com/analyse'
const headers = { 'api-key': 'YOUR_API_KEY_HERE' }
const form = new FormData()
form.append('file', fs.createReadStream('sample.pdf'))
axios.post(url, form, {
headers: {
...headers,
...form.getHeaders()
},
timeout: 150000 // Required: minimum 150 seconds (in ms)
}).then(response => {
console.log(response.data)
})
Set a timeout of at least 150 seconds as analysis time varies with document complexity. For timeout constraints, use asynchronous requests.
Do not run more than 10 analyses in parallel per API key. Beyond this, requests start queuing server-side and individual latencies degrade. For bulk workloads, cap your client-side concurrency at 10 and use asynchronous requests so you can fan out more work without blocking on timeouts.
Response​
{
"name": "sample.pdf",
"global_risk": "high",
"software_risk": "high",
"metadata_risk": "high",
"datastructure_risk": "low",
"vision_risk": "low",
"coherence_risk": "medium",
"document_quality": "acceptable",
"software": "photoshop"
}
HTTP Status Codes​
| Code | Meaning | Action |
|---|---|---|
| 200 | Success | Analysis completed |
| 400 | Bad Request | Check file format/size |
| 401 | Unauthorized | Verify API key |
| 429 | Too Many Requests | Rate limit exceeded, slow down |
| 500 | Server Error | Retry request |