import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/connections/{connection_id}/import-preview/"
payload = {
"folders": [
{
"id": "<string>",
"name": "<string>",
"drive_id": "<string>"
}
],
"files": [
{
"id": "<string>",
"name": "<string>",
"drive_id": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
folders: [{id: '<string>', name: '<string>', drive_id: '<string>'}],
files: [{id: '<string>', name: '<string>', drive_id: '<string>'}]
})
};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/connections/{connection_id}/import-preview/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/connections/{connection_id}/import-preview/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"folders": [
{
"id": "<string>",
"name": "<string>",
"drive_id": "<string>"
}
],
"files": [
{
"id": "<string>",
"name": "<string>",
"drive_id": "<string>"
}
]
}
'{
"to_create": 123,
"to_update": 123,
"to_delete": 123,
"total_remote": 123,
"truncated": true,
"cap": 123
}Dry-run count of what an import would do
Enumerates provider metadata (no downloads) for the given folder/file selection and
diffs it against already-imported documents. An empty selection falls back to the
connection’s stored selection. Enumeration is budgeted (item, request, and wall-clock
caps): when truncated is true, to_create/to_update are partial lower bounds and
to_delete is null (a partial enumeration cannot prove a file was removed).
import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/connections/{connection_id}/import-preview/"
payload = {
"folders": [
{
"id": "<string>",
"name": "<string>",
"drive_id": "<string>"
}
],
"files": [
{
"id": "<string>",
"name": "<string>",
"drive_id": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
folders: [{id: '<string>', name: '<string>', drive_id: '<string>'}],
files: [{id: '<string>', name: '<string>', drive_id: '<string>'}]
})
};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/connections/{connection_id}/import-preview/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/connections/{connection_id}/import-preview/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"folders": [
{
"id": "<string>",
"name": "<string>",
"drive_id": "<string>"
}
],
"files": [
{
"id": "<string>",
"name": "<string>",
"drive_id": "<string>"
}
]
}
'{
"to_create": 123,
"to_update": 123,
"to_delete": 123,
"total_remote": 123,
"truncated": true,
"cap": 123
}Authorizations
Use Authorization: Bearer
Path Parameters
UUID of the project
UUID of the connection
Response
Dry-run diff
Dry-run diff of what starting an import would do with a selection.
Null when truncated — a partial enumeration cannot prove deletions.
Distinct files enumerated under the selection (post-dedupe)
True when an enumeration budget (items/requests/time) was hit
The item cap in force (for "N+" display)