File is a document, image or generic file that is stored in your Dotfile workspace and attached to an entity.
Upload a file and use it for checks
For Document or Identity Document checks you need to send File to process. This is pretty simple, here the 2 steps to do it:
First upload your file with our upload API. You will get an upload_ref
you can use in any upload_ref
input.
{
"upload_ref": "dG1wL3Rlc3QtMTY3NDE0MjAzMjMxNy5wZGYsYXBwbGljYXRpb24vcGRmLHRlc3QucGRm"
}
Second in the request body that needs an upload_ref
for example on create Document check:
{
"company_id": "a7402197-0314-4c8f-8146-15ec0fa02193",
"settings": {
"document_type": "financial_statements"
},
"data": {
"files": [
{
"upload_ref": "dG1wL3Rlc3QtMTY3NDE0MjAzMjMxNy5wZGYsYXBwbGljYXRpb24vcGRmLHRlc3QucGRm"
}
]
}
}
And you’re done ✅
Download a File
You can get and download any file with the *_file_id
you can find on another response. It will stream you a binary/octet-stream
File.
Here is an example in NodeJs
to download and save a file:
import { saveAs } from 'file-saver';
import { axios } from 'axios';
const file = {
id: '07cc0ad3-99a6-4395-887f-92a2c7cbd129',
name: 'report.pdf'
}
// Download from API
// @NOTE don't forget to configure X-DOTFILE-API-KEY header with your API key in axios client
const res = await axios.get(`/v1/files/${file.id}`, {
responseType: 'blob',
headers: {
'X-DOTFILE-API-KEY': 'dotkey....'
}
});
// Save file
saveAs(res.data, file.name);