# Create a bulk upload This endpoint generates signed URLs needed to upload plot files. The signed URLs are valid for 60 minutes. Any uploaded files for which an upload is not started within the 60 minute timeframe are deleted. After calling this endpoint, you need to upload each file to the provided Google Cloud Storage URLs. To do this with cURL, you can use: Examples showing how to do this in Python and Javascript can be found in the example scripts. The endpoint returns an that needs to be given to the endpoint to trigger the upload, after uploading the plot files to the signed URLs. Endpoint: POST /v1/bulk-uploads Version: v1 Security: bearerAuth ## Request fields (application/json): - `projectId` (string) Project ID (optional, defaults to user's 'active project') - `supplier` (string, required) Supplier name. Currently bulk uploads are only supported for one supplier at a time. Example: "Lumon Industries" - `fileNames` (array) List of file names to upload. If none is are provided, a single signed URL will be returned. ## Response 200 fields (application/json): - `uploadId` (string) ID of the upload. Store this id to use it for the /start and /status endpoints. Example: "556cd039-90c6-4091-9720-c761746f5972" - `signedUrls` (array) - `signedUrls.fileName` (string) The filename this URL is attached to, useful to keep track of which uploads contained which files. Example: "my-plots-to-upload.json" - `signedUrls.signedUrls` (string) The GCS url to upload this file to. It can be used by sending a PUT request with the header set. Additionally, the header must be set appropriately. Most upload tools like cURL will set it automatically when uploading files. Example: "https://storage.googleapis.com/bucket.appspot.com/api-uploads/plots/556cd039-90c6-4091-9720-c761746f5972..."