Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Seven Bridges Storage API
version: unknown
description: 'Operations tagged Storage across 2 of this provider''s published API definitions: seven-bridges-cgc-openapi.json, seven-bridges-platform-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://cgc-api.sbgenomics.com/v2
- url: https://api.sbgenomics.com/v2
security:
- {}
tags:
- name: Storage
paths:
/storage/exports/{export_id}:
get:
summary: Get details of an export job
description: ''
operationId: get-details-of-an-export-job-v2
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Storage
servers:
- url: https://cgc-api.sbgenomics.com/v2
/storage/volumes/{volume_id}/list:
get:
summary: List the contents of a volume
description: ''
operationId: list-the-contents-of-a-volume
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Storage
servers:
- url: https://cgc-api.sbgenomics.com/v2
/v2/storage/volumes/{volume_id}/{object_id}:
get:
summary: Get details of a file within a volume
description: ''
operationId: get-details-of-a-file-within-a-volume
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Storage
servers:
- url: https://cgc-api.sbgenomics.com/v2
/storage/volumes/{volume_owner}/{volume_name}/{object_id}:
get:
summary: Get details of a file within a volume
description: This call lists the details of a file (object) in a specific volume. The volume is specified as `volume_id` and consists of the owner and name of a volume (for example `rfranklin/my-first-volume`).
operationId: get-details-of-a-file-within-a-volume
parameters:
- name: volume_owner
in: path
description: The username of the volume owner.
schema:
type: string
required: true
- name: volume_name
in: path
description: The name of the volume you want to query.
schema:
type: string
required: true
- name: object_id
in: path
description: This is the `href` from the request to [list the contents of a volume](ref:list-the-contents-of-a-volume).
schema:
type: string
required: true
- name: X-SBG-Auth-Token
in: header
description: Your Seven Bridges Platform [authentication token](doc:get-your-authentication-token). For security reasons, token will not be automatically populated in the generated code sample. Please replace `<your-token-here>` with your token before executing this call.
required: true
schema:
type: string
- name: Content-type
in: header
schema:
type: string
default: application/json
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"href\": \"https://gcp-api.sbgenomics.com/v2/storage/volumes/rfranklin/my-first-volume/object?location=20.intervals\",\n \"location\": \"20.intervals\",\n \"volume\": \"rfranklin/my-first-volume\",\n \"type\": \"gcs\",\n \"metadata\": {\n \"bucket\": \"example-bucket\",\n \"contentType\": \"binary/octet-stream\",\n \"crc32c\": \"D5ETaQ==\",\n \"etag\": \"CNrand0Mvc0CEAE=\",\n \"generation\": 1466668676135000,\n \"id\": \"example-bucket/input-files/20.intervals/12345678676135000\",\n \"kind\": \"storage#object\",\n \"md5Hash\": \"0SevLZ/y5a/TiHXpzkfX0A==\",\n \"mediaLink\": \"https://www.googleapis.com/download/storage/*********\",\n \"metageneration\": 1,\n \"name\": \"input-files/20.intervals\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/example-bucket/o/input-files%2F20.intervals\",\n \"size\": 9,\n \"storageClass\": \"STANDARD\",\n \"timeCreated\": {\n \"value\": 1466668676132,\n \"dateOnly\": false,\n \"timeZoneShift\": 0\n },\n \"updated\": {\n \"value\": 1466668676132,\n \"dateOnly\": false,\n \"timeZoneShift\": 0\n },\n \"timeStorageClassUpdated\": \"2016-06-23T07:57:56.132Z\"\n }\n}"
schema:
type: object
properties:
href:
type: string
example: https://gcp-api.sbgenomics.com/v2/storage/volumes/rfranklin/my-first-volume/object?location=20.intervals
location:
type: string
example: 20.intervals
volume:
type: string
example: rfranklin/my-first-volume
type:
type: string
example: gcs
metadata:
type: object
properties:
bucket:
type: string
example: example-bucket
contentType:
type: string
example: binary/octet-stream
crc32c:
type: string
example: D5ETaQ==
etag:
type: string
example: CNrand0Mvc0CEAE=
generation:
type: integer
example: 1466668676135000
default: 0
id:
type: string
example: example-bucket/input-files/20.intervals/12345678676135000
kind:
type: string
example: storage#object
md5Hash:
type: string
example: 0SevLZ/y5a/TiHXpzkfX0A==
mediaLink:
type: string
example: https://www.googleapis.com/download/storage/*********
metageneration:
type: integer
example: 1
default: 0
name:
type: string
example: input-files/20.intervals
selfLink:
type: string
example: https://www.googleapis.com/storage/v1/b/example-bucket/o/input-files%2F20.intervals
size:
type: integer
example: 9
default: 0
storageClass:
type: string
example: STANDARD
timeCreated:
type: object
properties:
value:
type: integer
example: 1466668676132
default: 0
dateOnly:
type: boolean
example: false
default: true
timeZoneShift:
type: integer
example: 0
default: 0
updated:
type: object
properties:
value:
type: integer
example: 1466668676132
default: 0
dateOnly:
type: boolean
example: false
default: true
timeZoneShift:
type: integer
example: 0
default: 0
timeStorageClassUpdated:
type: string
example: '2016-06-23T07:57:56.132Z'
deprecated: false
x-readme:
code-samples:
- language: python
code: "from sevenbridges import Api\n\napi = Api(url='https://api.sbgenomics.com/v2',\n token='3210a98c1db9318fa9d9273156740f74')\n\nvolume = api.volumes.get(id='rfranklin/my-first-volume')\n\n# send GET request to SB API\nvolume_object = volume.get_volume_object_info(location='20.intervals')\n\nprint(volume_object.location)"
samples-languages:
- python
tags:
- Storage
servers:
- url: https://api.sbgenomics.com/v2
/storage/volumes:
post:
summary: Create a volume
description: "This call creates a new volume. Volumes authorize the Platform to access and query objects on a specified cloud storage (Amazon Web Services or Google Cloud Storage) on your behalf. \n\nLearn more about using the Volumes API for [Amazon S3](doc:aws-cloud-storage-tutorial) and for [Google Cloud Storage](doc:google-cloud-storage-tutorial). These tutorials also detail how to configure your bucket."
operationId: create-a-volume-v2
parameters:
- name: X-SBG-Auth-Token
in: header
description: Your Seven Bridges Platform [authentication token](doc:get-your-authentication-token). For security reasons, token will not be automatically populated in the generated code sample. Please replace `<your-token-here>` with your token before executing this call.
required: true
schema:
type: string
- name: Content-Type
in: header
schema:
type: string
default: application/json
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- service
properties:
name:
type: string
description: The name of the volume. It must be unique from all other volumes for this user.
access_mode:
type: string
description: Signifies whether this volume should be used for read-write (`RW`) or read-only (`RO`) operations. The access mode is consulted independently of the credentials granted to Seven Bridges when the volume was created, so it is possible to use a read-write credentials to register both read-write and read-only volumes using it. _default:_ `"RW"`
description:
type: string
description: An optional description of this volume.
service:
type: object
description: This object should contain the information about the cloud service that this volume represents.
required:
- bucket
properties:
type:
type: string
description: The type of cloud service. Use `s3` for Amazon Web Services or `gcs` for Google Cloud Storage.
prefix:
type: string
description: A service-specific prefix to prepend to all objects created in this volume. If the service supports folders, and this prefix includes them, the API will attempt to create any missing folders when it outputs a file.
bucket:
type: string
description: The name of the AWS S3 or GCS bucket you wish to register as a volume.
endpoint:
type: string
description: '**AWS only!** AWS API endpoint to use when accessing this bucket. For a list of AWS-supported endpoints, see <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region" target="blank">AWS Regions and Endpoints</a>. Default: `s3.amazonaws.com`'
root_url:
type: string
description: '**GCS only!** Google Cloud Storage API endpoint for accessing this bucket. Default: `https://www.googleapis.com`.'
credentials:
type: object
description: 'Contains credentials for the underlying cloud provider. AWS IAM user: * `access-key-id` * `secret_access-key`'
properties:
access_key_id:
type: string
description: '**AWS only!** AWS access key ID of the IAM user shared with Seven Bridges to access this bucket.'
secret_access_key:
type: string
description: '**AWS only!** AWS secret access key of the IAM user shared with Seven Bridges to access this bucket.'
client_email:
type: string
description: '**GCS only!** The client email address for the Google Cloud service account to use for operations on this bucket. This can be found in the JSON containing your service account credentials.'
private_key:
type: string
description: '**GCS only!** Google Cloud Platform private key.'
properties:
type: object
description: Contains the properties of a specific service. These values set the defaults for operations performed with this volume. **Individual** operations can override these defaults by providing a custom `properties` object.
properties:
sse_algorithm:
type: string
description: 'S3 server-side encryption to use when exporting to this bucket. Supported values: * `AES256` (SSE-S3 encryption) * ''aws:kms` * null (no server-side encryption). _default: `AES256`_'
sse_aws_kms_key_Id:
type: string
description: 'Applies to type: `s3`. If AWS KMS encryption is used, this should be set to the required KMS key. If not set and `aws:kms` is set as `sse_algorithm`, default KMS key is used.'
aws_canned_acl:
type: string
description: 'S3 canned ACL to apply on the object on during export. Supported values: * any one of [S3 canned ACLs](http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl); * `null` (do not apply canned ACLs). _default: `null`_'
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"href\": \"https://api.sbgenomics.com/v2/storage/volumes/rfranklin/my_volume\",\n \"id\": \"rfranklin/my_volume\",\n \"name\": \"my_volume\",\n \"access_mode\": \"RO\",\n \"service\": {\n \"type\": \"S3\",\n \"bucket\": \"sb-demo-rfranklin-ro\",\n \"prefix\": \"input-files\",\n \"endpoint\": \"s3.amazonaws.com\",\n \"credentials\": {\n \"access_key_id\": \"REDACTED_AWS_ACCESS_KEY_ID\"\n },\n \"properties\": {\n \"sse_algorithm\": \"aws:kms\",\n \t\t\t\t\t\"sse_aws_kms_key_id\": \"test_kms_key_id\"\n }\n },\n \"created_on\": \"2017-07-21T08:23:39Z\",\n \"modified_on\": \"2017-07-21T08:23:39Z\",\n \"active\": true\n}"
schema:
type: object
properties:
href:
type: string
example: https://api.sbgenomics.com/v2/storage/volumes/rfranklin/my_volume
id:
type: string
example: rfranklin/my_volume
name:
type: string
example: my_volume
access_mode:
type: string
example: RO
service:
type: object
properties:
type:
type: string
example: S3
bucket:
type: string
example: sb-demo-rfranklin-ro
prefix:
type: string
example: input-files
endpoint:
type: string
example: s3.amazonaws.com
credentials:
type: object
properties:
access_key_id:
type: string
example: REDACTED_AWS_ACCESS_KEY_ID
properties:
type: object
properties:
sse_algorithm:
type: string
example: aws:kms
sse_aws_kms_key_id:
type: string
example: test_kms_key_id
created_on:
type: string
example: '2017-07-21T08:23:39Z'
modified_on:
type: string
example: '2017-07-21T08:23:39Z'
active:
type: boolean
example: true
default: true
deprecated: false
x-readme:
code-samples:
- language: python
code: "from sevenbridges import Api, VolumeAccessMode\n\napi = Api(url='https://api.sbgenomics.com/v2',\n token='3210a98c1db9318fa9d9273156740f74')\n\n# send POST request to SB API\nnew_volume = api.volumes.create_s3_volume(\n name='my_s3_volume',\n bucket='input_files',\n access_key_id='REDACTED_AWS_ACCESS_KEY_ID',\n secret_access_key='wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',\n access_mode=VolumeAccessMode.READ_ONLY,\n properties={\n 'sse_algorithm': 'aws:kms',\n 'sse_aws_kms_key_id': 'test_kms_key_id'\n }\n)\n\nprint(new_volume.name, new_volume.id)"
name: Python (AWS IAM user)
- language: python
code: "from sevenbridges import Api, VolumeAccessMode\n\napi = Api(url='https://api.sbgenomics.com/v2',\n token='3210a98c1db9318fa9d9273156740f74')\n\n# send POST request to SB API\nnew_volume = api.volumes.create_google_volume(\n name='my_gcs_volume',\n bucket='output_files',\n client_email='user@service.iam.gserviceaccount.com',\n private_key='REDACTED_PRIVATE_KEY_EXAMPLE',\n access_mode=VolumeAccessMode.READ_WRITE,\n description='New google volume'\n)\n\nprint(new_volume.name, new_volume.id)"
name: Python (Google Cloud)
samples-languages:
- python
tags:
- Storage
get:
summary: List volumes
description: 'This call lists all the volumes you''ve registered.
See also [get details of a volume](ref:get-details-of-a-volume-v2) for a detailed explanation of the fields in the response.
Learn more about using the Volumes API for [Amazon S3](doc:aws-cloud-storage-tutorial) and for [Google Cloud Storage](doc:google-cloud-storage-tutorial).'
operationId: list-volumes-v2
parameters:
- name: X-SBG-Auth-Token
in: header
description: Your Seven Bridges Platform [authentication token](doc:get-your-authentication-token). For security reasons, token will not be automatically populated in the generated code sample. Please replace `<your-token-here>` with your token before executing this call.
required: true
schema:
type: string
- name: Content-Type
in: header
schema:
type: string
default: application/json
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"href\": \"https://api.sbgenomics.com/v2/storage/volumes?offset=0&limit=3\",\n \"items\": [\n {\n \"href\": \"https://api.sbgenomics.com/v2/storage/volumes/rfranklin/gcs_ro\",\n \"id\": \"rfranklin/gcs_ro\",\n \"name\": \"gcs_ro\"\n },\n {\n \"href\": \"https://api.sbgenomics.com/v2/storage/volumes/rfranklin/gcs_rw\",\n \"id\": \"rfranklin/gcs_rw\",\n \"name\": \"gcs_rw\"\n },\n {\n \"href\": \"https://api.sbgenomics.com/v2/storage/volumes/rfranklin/my_s3_volume\",\n \"id\": \"rfranklin/my_s3_volume\",\n \"name\": \"my_s3_volume\"\n }\n ],\n \"links\": []\n}"
schema:
type: object
properties:
href:
type: string
example: https://api.sbgenomics.com/v2/storage/volumes?offset=0&limit=3
items:
type: array
items:
type: object
properties:
href:
type: string
example: https://api.sbgenomics.com/v2/storage/volumes/rfranklin/gcs_ro
id:
type: string
example: rfranklin/gcs_ro
name:
type: string
example: gcs_ro
links:
type: array
deprecated: false
x-readme:
code-samples:
- language: python
code: "from sevenbridges import Api\n\napi = Api(url='https://api.sbgenomics.com/v2',\n token='3210a98c1db9318fa9d9273156740f74')\n\n# send GET request to SB API\nvolumes = api.volumes.query()\n\nfor volume in volumes:\n print(volume.id, volume.name, volume.active)"
name: Python
samples-languages:
- python
tags:
- Storage
servers:
- url: https://api.sbgenomics.com/v2
/storage/volumes/{volume_owner}/{volume_name}:
get:
summary: Get details of a volume
description: This call returns details of the specified volume. The volume is referred to by its ID, which you can obtain by making the call to [list all the volumes you've registered](ref:list-volumes-v2).
operationId: get-details-of-a-volume-v2
parameters:
- name: volume_owner
in: path
description: The username of the volume owner.
schema:
type: string
required: true
- name: X-SBG-Auth-Token
in: header
description: Your Seven Bridges Platform [authentication token](doc:get-your-authentication-token). For security reasons, token will not be automatically populated in the generated code sample. Please replace `<your-token-here>` with your token before executing this call.
required: true
schema:
type: string
- name: Content-type
in: header
schema:
type: string
default: application/json
- name: volume_name
in: path
description: The name of the volume you want to query.
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"href\":\"https://api.sbgenomics.com/v2/storage/volumes/rfranklin/output\",\n \"active\":true,\n \"description\":\"task outputs bucket\",\n \"id\":\"rfranklin/output\",\n \"name\":\"output\",\n \"access_mode\":\"RW\",\n \"service\":{\n \"type\":\"s3\",\n \"bucket\":\"sbg-test-output\",\n \"hostname\":\"s3.amazonaws.com\",\n \"credentials\":{\n \"access_key_id\":\"REDACTED_AWS_ACCESS_KEY_ID\"\n },\n \"prefix\":\"\",\n \"sse_enabled\":true\n },\n \"created_on\":\"2016-06-29T11:13:10+02:00\",\n \"updated_on\":\"2016-06-29T12:15:10+02:00\"\n}"
schema:
type: object
properties:
href:
type: string
example: https://api.sbgenomics.com/v2/storage/volumes/rfranklin/output
active:
type: boolean
example: true
default: true
description:
type: string
example: task outputs bucket
id:
type: string
example: rfranklin/output
name:
type: string
example: output
access_mode:
type: string
example: RW
service:
type: object
properties:
type:
type: string
example: s3
bucket:
type: string
example: sbg-test-output
hostname:
type: string
example: s3.amazonaws.com
credentials:
type: object
properties:
access_key_id:
type: string
example: REDACTED_AWS_ACCESS_KEY_ID
prefix:
type: string
example: ''
sse_enabled:
type: boolean
example: true
default: true
created_on:
type: string
example: '2016-06-29T11:13:10+02:00'
updated_on:
type: string
example: '2016-06-29T12:15:10+02:00'
deprecated: false
x-readme:
code-samples:
- language: python
code: "from sevenbridges import Api\n\napi = Api(url='https://api.sbgenomics.com/v2',\n token='3210a98c1db9318fa9d9273156740f74')\n\n# send GET request to SB API\nvolume = api.volumes.get(id='rfranklin/output')\n\nprint(volume.name, volume.active, volume.access_mode)"
samples-languages:
- python
tags:
- Storage
patch:
summary: Update a volume
description: 'This call updates the details of a specific volume.
Learn more about using the Volumes API for [Amazon S3](doc:aws-cloud-storage-tutorial) and for [Google Cloud Storage](doc:google-cloud-storage-tutorial).'
operationId: update-a-volume-v2
parameters:
- name: X-SBG-Auth-Token
in: header
description: Your Seven Bridges Platform [authentication token](doc:get-your-authentication-token). For security reasons, token will not be automatically populated in the generated code sample. Please replace `<your-token-here>` with your token before executing this call.
required: true
schema:
type: string
- name: Content-Type
in: header
schema:
type: string
default: application/json
- name: volume_owner
in: path
description: Username of the volume owner.
schema:
type: string
required: true
- name: volume_name
in: path
description: The name of the volume you want to update.
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
access_mode:
type: string
description: Signifies whether this volume should be used for read-write (`"RW"`) or read-only (`"RO"`) operations. The access mode is consulted independently of the credentials granted to Seven Bridges when the volume was created, so it is possible to use a read-write credentials to register both read-write and read-only volumes using it. _default:_ `"RW"`
default: RW
description:
type: string
description: An optional description of this volume.
service:
type: object
description: This object should contain the information about the cloud service that this volume represents.
required:
- bucket
properties:
type:
type: string
description: The type of cloud service. Use `s3` for Amazon Web Services or `gcs` for Google Cloud Storage.
prefix:
type: string
description: A service-specific prefix to prepend to all objects created in this volume. If the service supports folders, and this prefix includes them, the API will attempt to create any missing folders when it outputs a file.
bucket:
type: string
description: The name of the AWS S3 or GCS bucket you wish to register as a volume.
endpoint:
type: string
description: '**AWS only!** AWS API endpoint to use when accessing this bucket. For a list of AWS-supported endpoints, see <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region" target="blank">AWS Regions and Endpoints</a>. Default: `s3.amazonaws.com`'
root_url:
type: string
description: '**GCS only!** Google Cloud Storage API endpoint for accessing this bucket. Default: `https://www.googleapis.com`.'
credentials:
type: object
description: 'Contains credentials for the underlying cloud provider. AWS IAM user: * `access-key-id` * `secret_access-key`'
properties:
access_key_id:
type: string
description: '**AWS only!** AWS access key ID of the IAM user shared with Seven Bridges to access this bucket.'
secret_access_key:
type: string
description: '**AWS only!** AWS secret access key of the IAM user shared with Seven Bridges to access this bucket.'
client_email:
type: string
description: '**GCS only!** The client email address for the Google Cloud service account to use for operations on this bucket. This can be found in the JSON containing your service account credentials.'
private_key:
type: string
description: '**GCS only!** Google Cloud Platform private key.'
properties:
type: object
# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/seven-bridges/refs/heads/main/openapi/seven-bridges-storage-api-openapi.yml