Signiant Media Shuttle
List portals
Gets a list of portals associated with the account.
Filter the response by specifying a `url` in the request to get details about a specific portal location.
Create a new portal
Creates a new portal.
If no values are specified, a Share portal with default values is created.
Update portal details
Update a portal's details. Only values that are sent will be updated. <br> Set the contactForm `url` property to an empty string to use the **default portal Contact Admin form**. Set the contactForm `width` or `height` property to 0 to reset any set values and use the default width and height sizes for the **custom portal Contact Admin form**.
Create a new package
Create an empty file package.
Get package information
Returns information about a package, including all package metadata.
Show package events
Show a list of transfer events associated with a package.
Show package contents
Returns an array of all files contained within a package.
Add files to a package
Add files to a package. This endpoint accepts an array of files.
Create transfer link
Create a package upload or download token by creating a `grant` to allow the user to transfer files either as an `upload` or `download`. This generates a URL to provide to a user to complete a file transfer.
**Note**: Send/Share portals accept upload or download grants, Sumbit portals can only accept upload grants.
List the storage locations assigned to a portal
Gets a list of all storage locations assigned to a portal.
Assign storage to a portal
Assigns an existing storage location to a portal.
You can only assign new storage to a portal there are no other storage locations assigned to the portal. Storage can only be unassigned using the Media Shuttle IT Administration console.
A `storageId` sent as part of the request body must match the `storageId` request parameter. The value is not required in the body.
If **local storage** is being assigned, a repository path can be provided in the request body. If a repository path is sent as part of a request to assign Azure or AWS storage, the path will be ignored.
Get portal subscriptions
Get all subscriptions for a portal.
Subscribe to portal events
Create a subscription to receive Media Shuttle event notifications. You can receive notifications for:
Package Events:
- package.upload.complete: When a package upload completes.
- package.upload.canceled: When a package upload is canceled.
- package.upload.failed: When a package upload fails.
- package.download.complete: When a package download completes.
- package.download.canceled: When a package download is canceled.
- package.download.failed: When a package download fails.
File Events:
- file.rename.complete: When a file in a package is successfully renamed.
- file.rename.failed: When a file in a package cannot be renamed.
- file.move.complete: When a file in a package is successfully moved to a new file path.
- file.move.failed: When a file in a package cannot be moved to a new file path.
- file.delete.complete: When a file in a package is successfully deleted.
- file.delete.failed: When a file in a package cannot be deleted.
- folder.creation.complete: When a new folder is created in a package.
- folder.creation.failed: When a new folder cannot be created in a package.
The webhook URL will receive a http POST call whenever there is an event. The event details structure is defined in the PortalSubscriptionEvent Model
Webhook handlers must check the event type to ensure future compatibility.
Delete a portal subscription
Delete a subscription from a portal.
Retrieve all members from a portal
Return a list of all email addresses and last login dates for all members from a portal. Any error returned during a response will appear in the response body.
Add a user to a portal with a role and permissions
Adds a user with a given email, role, and permissions to a portal. The role value can be either `Member` or `Ops`. If permissions aren't specified, default permissions will be populated.
Fetch a portal member
Fetch a portal member identified by their email address. The response body contains the permissions assigned to the portal member for this portal, their role, the expiry date for the member's account if set and the last login date for the member if set.
Update the user's role and/or permissions
Updates the user's role and/or permissions. The email value is mandatory. The role value can be either `Member` or `Ops`. If permissions aren't specified, the member permissions will be unchanged. When an email is set as part of the request body, it is validated against the email in the path. This value is not required in the body.
Remove a user from a portal
Removes a user from a portal and returns the removed user record.
If the user was not assigned to the portal, an HTTP 204 No Content response is returned with an empty response body. Any customized folder settings for that user are deleted.
List storage locations
Retrieves a list of all storage locations associated with the account.
Filter the response by specifying an `installationKey` in the request to get details about a specific local storage location.
Create a new storage location
Add a new storage location to an account.
Media Shuttle portals store content on an on-premises Signiant SDCX Server, or to **S3 compatible storage**, **Amazon S3**, **Microsoft Azure blob** or **Google Cloud** storage.
- **Local Storage** generates a new Storage Server Installation Key. Use the installation key when installing an SDCX server.
- **Amazon S3** storage requires a valid [policy, role and Role ARN](https://help.signiant.com/media-shuttle/account-administration/storage/cloud-storage#amazon-s3-storage).
- **Microsoft Azure** container storage requires a valid [access key](https://help.signiant.com/media-shuttle/account-administration/storage/cloud-storage#microsoft-azure-blob-storage).
- **S3 Compatible Storage** requires a valid serviceEndpoint, accessKey, secretKey as well as a SDCX server to proxy the requests through.
- **Google Cloud Storage** requires a valid [service account key JSON file](https://help.signiant.com/media-shuttle/account-administration/storage/cloud-storage#google-cloud-storage) and must use the `multipart/form-data` a the request content type.
Display information about a specific storage location
Returns details about a specific storage location associated with the account by its `storageId`.
List current active transfers
Return a list of active transfers across all portals associated with the account. All requests must include `state=active`.
To return a list of transfers from a specific portal, include the `portalId` parameter in the request.