scraper_upload_urls— generate presigned GCS PUT URLs so you can upload files directly to Soria’s storagescraper_confirm_uploads— confirm the uploads and trigger the full processing pipeline
scraper_upload_urls
Generates presigned GCS PUT URLs for one or more files. Each URL is valid for a single upload of the exact file described by itscontent_hash and size_bytes.
Parameters
string
required
The name of a manual-type scraper. The scraper must already exist.
object[]
required
A list of file descriptors. Each item must include:
filename(string) — the name of the file, e.g.report-q1-2024.csvcontent_hash(string) — SHA-256 hex digest of the file contentssize_bytes(integer) — file size in bytes
content_hash on the command line:Response
For each file, the tool returns anupload_url (the presigned PUT URL) and a storage_key (used later in scraper_confirm_uploads). Files whose content hash already exists in storage are marked as duplicates and skipped.
Uploading a file
Usecurl to PUT the file to the presigned URL. Set Content-Type to match the file type.
scraper_confirm_uploads
Ingests uploaded files into a scraper and triggers the full processing pipeline: file record creation, group assignment, CSV schema mapping, and PDF table detection.Parameters
string
required
The name of the manual scraper to ingest files into.
object[]
required
A list of file descriptors. Each item uses one of two formats depending on how the file was provided:Presigned URL flow (after using
scraper_upload_urls):filename(string) — file namestorage_key(string) — thestorage_keyreturned byscraper_upload_urlscontent_hash(string) — SHA-256 hex digest, same value used inscraper_upload_urls
filename(string) — file namefile_path(string) — absolute path to the file on disk
string
Optional workspace context for the scraper. Provide this if the scraper is associated with a specific workspace.
Response
Full two-step flow
1
Compute file hashes and sizes
For each file you want to upload, compute its SHA-256 hash and byte size.
2
Request presigned upload URLs
upload_url and storage_key from the response.3
Upload the file with curl
4
Confirm the upload and trigger ingestion
Local file alternative
If you have files on disk that the Soria server can access directly, you can skipscraper_upload_urls and confirm them in a single call using file_path: