{ "opencollection": "1.0.0", "info": { "name": "Benchling AA Sequences Blobs API", "version": "2.0.0" }, "request": { "auth": { "type": "oauth2", "flow": "client_credentials", "accessTokenUrl": "/api/v2/token", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "items": [ { "info": { "name": "Blobs", "type": "folder" }, "items": [ { "info": { "name": "Upload single-part blob", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/blobs", "body": { "type": "json", "data": "{}" } }, "docs": "\nThis endpoint uploads a blob in a single API call.\n\nBlobs larger than 10MB should be uploaded in [multiple parts](#/Blobs/createMultipartBlob). The data64 parameter is the base64-encoded part contents, and the md5 parameter is the hex-encoded MD5 hash of the part contents. For example, given the string hello, data64 is aGVsbG8= and md5 is 5d41402abc4b2a76b9719d911017c592.\n" }, { "info": { "name": "Get a Blob", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/blobs/:blob_id", "params": [ { "name": "blob_id", "value": "", "type": "path" }, { "name": "returning", "value": "", "type": "query", "description": "Comma-separated list of fields to return. Modifies the output shape. To return all keys at a given level, enumerate them or use the wildcard, '*'. For more information, [click here](https://docs.benchling.com/docs/getting-started-1#returning-query-parameter)." } ] }, "docs": "Get a Blob" }, { "info": { "name": "Download a blob", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/blobs/:blob_id/download", "params": [ { "name": "blob_id", "value": "", "type": "path" } ] }, "docs": "Download a blob.\n\nThis endpoint issues a 302 redirect to a pre-signed download link.\nIt does not consume from the standard rate-limit.\n\nExample `wget` usage with a User API Key:\n```bash\nexport BLOB_ID=\"ffe43fd5-b928-4996-9b7f-40222cd33d8e\"\nwget \"https://tenant.benchling.com/api/v2/blobs/$BLOB_ID/download\" \\\n --user $API_TOKEN \\ # Your API Key\n --password '' \\ # Leave password empty\n --content-disposition # Save file with original filename\n```\n\n**Note: Calling this endpo" }, { "info": { "name": "Get a Blob's download url", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/blobs/:blob_id/download-url", "params": [ { "name": "blob_id", "value": "", "type": "path" } ] }, "docs": "Get a Blob's download url" }, { "info": { "name": "Upload a part of a multi-part blob", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/blobs/:blob_id/parts", "params": [ { "name": "blob_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "\nUpload a part of the blob. This part must be at least 5MB, unless it's the last or only part. It's recommended to keep the part size around 10MB.\n\nThe data64 parameter is the base64-encoded part contents, and the md5 parameter is the hex-encoded MD5 hash of the part contents. For example, given the string hello, data64 is aGVsbG8= and md5 is 5d41402abc4b2a76b9719d911017c592.\n\n## Multipart Upload\n\nIf a blob is larger than 10MB, it should be uploaded in multiple parts using the following endpoint" }, { "info": { "name": "Abort multi-part blob upload", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/blobs/:blob_id:abort-upload", "params": [ { "name": "blob_id", "value": "", "type": "path" } ] }, "docs": "Abort multi-part blob upload" }, { "info": { "name": "Complete multi-part blob upload", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/blobs/:blob_id:complete-upload", "params": [ { "name": "blob_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "\nCombine blob parts into a single blob.\n\n## Multipart Upload\n\nIf a blob is larger than 10MB, it should be uploaded in multiple parts using the following endpoints:\n- [Start a multi-part blob upload](#/Blobs/createMultipartBlob)\n- [Upload a blob part](#/Blobs/createBlobPart)\n- [Complete a blob upload](#/Blobs/completeMultipartBlob)\n\nEach part must be at least 5MB in size, except for the last part. We recommend keeping each part to under 10MB when uploading.\n\nEach part has a *partNumber* and an *e" }, { "info": { "name": "Bulk get Blobs by UUID", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/blobs:bulk-get", "params": [ { "name": "blobIds", "value": "", "type": "query", "description": "Comma-separated list of blob IDs." }, { "name": "returning", "value": "", "type": "query", "description": "Comma-separated list of fields to return. Modifies the output shape. To return all keys at a given level, enumerate them or use the wildcard, '*'. For more information, [click here](https://docs.benchling.com/docs/getting-started-1#returning-query-parameter)." } ] }, "docs": "Bulk get Blobs by UUID" }, { "info": { "name": "Initiate multi-part blob upload", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/blobs:start-multipart-upload", "body": { "type": "json", "data": "{}" } }, "docs": "\nBlobs may be uploaded using multi-part upload. This endpoint initiates the upload process - blob parts can then be uploaded in multiple blob parts.\n\n## Multipart Upload\n\nIf a blob is larger than 10MB, it should be uploaded in multiple parts using the following endpoints:\n- [Start a multi-part blob upload](#/Blobs/createMultipartBlob)\n- [Upload a blob part](#/Blobs/createBlobPart)\n- [Complete a blob upload](#/Blobs/completeMultipartBlob)\n\nEach part must be at least 5MB in size, except for the la" } ] } ], "bundled": true }