Send SCIENTI file
curl --request POST \
--url https://api.dev.impactu.colav.co/submit/scienti \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.dev.impactu.colav.co/submit/scienti"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.dev.impactu.colav.co/submit/scienti', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.impactu.colav.co/submit/scienti",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dev.impactu.colav.co/submit/scienti"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dev.impactu.colav.co/submit/scienti")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.impactu.colav.co/submit/scienti")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"success": true,
"msg": "Archivo SCIENTI recibido con éxito para ser validado.",
"upload_date": "15/10/2026 14:32",
"file_msg": "Archivo scienti_example-institution-id_2026-10-15_14:32.zip guardado correctamente."
}
{ "success": false, "msg": "Archivo requerido" }
{ "success": false, "msg": "El archivo cargado está vacío. Verifique que contenga información." }
{"msg": "Token inválido o expirado", "success": false}
{
"success": false,
"msg": "Tipo de archivo no permitido. Los formatos soportados son: .zip, .rar, .7z, .tar, .gz, .tgz, .bz2, .tar.gz y .tar.bz2."
}
{
"success": false,
"msg": "Archivo recibido pero falló el guardado",
"storage_error": {
"success": false,
"msg": "Error al guardar el archivo tanto en Drive como en local. Detalle: ...",
"location": null
}
}
Submit
Send SCIENTI file
Uploads a compressed SCIENTI export file for processing.
POST
/
submit
/
scienti
Send SCIENTI file
curl --request POST \
--url https://api.dev.impactu.colav.co/submit/scienti \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.dev.impactu.colav.co/submit/scienti"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.dev.impactu.colav.co/submit/scienti', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.impactu.colav.co/submit/scienti",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dev.impactu.colav.co/submit/scienti"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dev.impactu.colav.co/submit/scienti")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.impactu.colav.co/submit/scienti")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"success": true,
"msg": "Archivo SCIENTI recibido con éxito para ser validado.",
"upload_date": "15/10/2026 14:32",
"file_msg": "Archivo scienti_example-institution-id_2026-10-15_14:32.zip guardado correctamente."
}
{ "success": false, "msg": "Archivo requerido" }
{ "success": false, "msg": "El archivo cargado está vacío. Verifique que contenga información." }
{"msg": "Token inválido o expirado", "success": false}
{
"success": false,
"msg": "Tipo de archivo no permitido. Los formatos soportados son: .zip, .rar, .7z, .tar, .gz, .tgz, .bz2, .tar.gz y .tar.bz2."
}
{
"success": false,
"msg": "Archivo recibido pero falló el guardado",
"storage_error": {
"success": false,
"msg": "Error al guardar el archivo tanto en Drive como en local. Detalle: ...",
"location": null
}
}
Requires an active session. The JWT is read from the
access_token_cookie cookie
and the request must carry the X-CSRF-TOKEN header. It is sent as
multipart/form-data.Request body
file
required
Compressed SCIENTI export file. Allowed formats:
.zip,
.rar, .7z, .tar, .gz, .tgz, .bz2, .tar.gz, .tar.bz2. An
empty file returns 400.Response
boolean
true if the file was saved and the confirmation email was sent.string
Message with the result of the processing.
string
Date and time the file was received, in the format
DD/MM/YYYY HH:MM (Bogotá
time zone).string
Result of saving, with the name under which the file was stored.
If the file cannot be saved, or it is saved but the confirmation email
fails, it returns
500 with the detail in storage_error or
email_error.{
"success": true,
"msg": "Archivo SCIENTI recibido con éxito para ser validado.",
"upload_date": "15/10/2026 14:32",
"file_msg": "Archivo scienti_example-institution-id_2026-10-15_14:32.zip guardado correctamente."
}
{ "success": false, "msg": "Archivo requerido" }
{ "success": false, "msg": "El archivo cargado está vacío. Verifique que contenga información." }
{"msg": "Token inválido o expirado", "success": false}
{
"success": false,
"msg": "Tipo de archivo no permitido. Los formatos soportados son: .zip, .rar, .7z, .tar, .gz, .tgz, .bz2, .tar.gz y .tar.bz2."
}
{
"success": false,
"msg": "Archivo recibido pero falló el guardado",
"storage_error": {
"success": false,
"msg": "Error al guardar el archivo tanto en Drive como en local. Detalle: ...",
"location": null
}
}