Skip to main content
POST
/
data_entries
/
raw_data
/
staged
/
upload_urls
from atomscale import Client

client = Client(api_key="YOUR_API_KEY")
# The SDK handles multi-part upload automatically
client.upload(files=["rheed_video.mp4"])
[
  {
    "upload_id": "abc123",
    "new_filename": "staged_rheed_video.mp4",
    "url": "https://storage.atomscale.ai/uploads/staged_rheed_video.mp4?token=...",
    "data_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "part": 1
  }
]
Generates pre-signed URLs for uploading raw data files to Atomscale using multi-part upload. Each part gets its own pre-signed URL.
original_filename
string
required
Original filename with extension (e.g., rheed_video.mp4)
num_parts
integer
required
Number of upload parts to generate URLs for
staging_type
string
default:"core"
Staging bucket type: core, instrument, or stream
physical_sample_id
string
Physical sample UUID to associate with the upload
physical_sample_name
string
Name for a new physical sample to create and associate
notes
string
Notes to attach to the data entry
data_stream
string
Data stream type (e.g., rheed, optical, metrology)

Response

Returns an array of pre-signed upload URL objects, one per part.
upload_id
string
Upload session identifier
new_filename
string
Server-assigned filename for this part
url
string
Pre-signed URL for uploading this part (PUT request)
data_id
string
Data entry UUID created for this upload
part
integer
Part number
from atomscale import Client

client = Client(api_key="YOUR_API_KEY")
# The SDK handles multi-part upload automatically
client.upload(files=["rheed_video.mp4"])
[
  {
    "upload_id": "abc123",
    "new_filename": "staged_rheed_video.mp4",
    "url": "https://storage.atomscale.ai/uploads/staged_rheed_video.mp4?token=...",
    "data_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "part": 1
  }
]