Welcome to the ScientistCloud Data Portal documentation. These pages cover the public portal, the signed-in account portal, dashboards, and the REST API.
ScientistCloud is a web platform for managing, uploading, and visualizing scientific datasets. It provides:
requests-based examples (no separate pip SDK)The ScientistCloud Data Portal offers two access modes.
Location: https://scientistcloud.com/portal/public/
Anyone can browse and view publicly available datasets without creating an account.
Features:
Location: https://scientistcloud.com/portal/index.php
Registered users get the public portal features plus:
requests examplesAPI services:
https://scientistcloud.com/api/
Portal PHP endpoints (session cookie from the website):
https://scientistcloud.com/portal/api/
Website: Sign in at https://scientistcloud.com/portal/index.php with Auth0.
API / curl / Python: Exchange your ScientistCloud account email for a JWT, then send it as Authorization: Bearer.
See the Authentication API documentation.
# 1. Get authentication token
TOKEN=$(curl -s -X POST "https://scientistcloud.com/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email": "your@email.com"}' | \
jq -r '.data.access_token')
# 2. Upload file
curl -X POST "https://scientistcloud.com/api/upload/upload" \
-H "Authorization: Bearer $TOKEN" \
-F "file=@/path/to/file.nxs" \
-F "user_email=your@email.com" \
-F "dataset_name=My Dataset" \
-F "sensor=4D_NEXUS"
curl -s "https://scientistcloud.com/api/v1/datasets/by-user?user_email=your@email.com" \
-H "Authorization: Bearer $TOKEN" | jq
curl -X GET "https://scientistcloud.com/api/upload/status/JOB_ID" \
-H "Authorization: Bearer $TOKEN" | jq
Trailing slashes are required on these health URLs:
# Authentication service
curl https://scientistcloud.com/api/health/
# Upload service
curl https://scientistcloud.com/api/upload-health/
Utility checks that do not require a token:
curl https://scientistcloud.com/api/upload/limits
curl https://scientistcloud.com/api/upload/supported-sources