Storage Gateway lets you:
Connect your storage to one or more MASV Portals and have files automatically delivered to it.
Use the MASV Admin Console with Team members to access specific file locations on connected storage without requiring direct or remote access.
For an end-to-end walkthrough, see How to integrate storage devices with MASV .
Storage Gateway requires MASV Engine (formerly MASV Agent) to be installed on the server that provides storage. Choose one of the following installation methods:
# Store your gateway secret in an environment variable — never hardcode it.
# See /api/api-keys/ for key management best practices.
--secret " $GATEWAY_SECRET " \
--name " $CONNECTION_NAME " \
--root-path " $SHARED_FOLDER " \
--permissions " $PERMISSIONS " \
Name Type Required Description idString Yes ID of the existing Storage Device Integration. nameString Yes Connection name — use something descriptive and easy to recognize. permissionsString Yes File permissions for this connection. Valid values: r, w. root-pathString Yes This folder and everything within it becomes remotely accessible. Must be an absolute path. secretString Yes Unique secret key required to register this connection with the MASV API. gidInteger No Custom group ID override. Used to assign ownership of downloaded files on Linux. Not supported on Windows or read-only connections. uidInteger No Custom user ID override. Used to assign ownership of downloaded files on Linux. Not supported on Windows or read-only connections.
curl -X POST -H " Content-Type: application/json " \
http://localhost:8080/api/v1/storage_gateway/register -d ' {
"secret": "$GATEWAY_SECRET",
"name": "$CONNECTION_NAME",
"root_path": "$SHARED_FOLDER",
"permissions": "$PERMISSIONS",
Name Type Required Description idString Yes ID of the existing Storage Device Integration. nameString Yes Connection name — use something descriptive and easy to recognize. permissionsString Yes File permissions for this connection. Valid values: r, w. root_pathString Yes This folder and everything within it becomes remotely accessible. Must be an absolute path. secretString Yes Unique secret key required to register this connection with the MASV API. group_idInteger No Custom group ID override. Used to assign ownership of downloaded files on Linux. Not supported on Windows or read-only connections. user_idInteger No Custom user ID override. Used to assign ownership of downloaded files on Linux. Not supported on Windows or read-only connections.
curl -X GET http://localhost:8080/api/v1/storage_gateway/list
masv gateway rm CONNECTION_ID
curl -X POST -H " Content-Type: application/json " \
http://localhost:8080/api/v1/storage_gateway/unregister -d ' {
--root-path " $NEW_ROOT_PATH " \
Name Type Required Description idString Yes ID of the existing Storage Device Integration. root-pathString No New root folder. Must be an absolute path. gidInteger No Custom group ID override. Provide -1 to remove the override. uidInteger No Custom user ID override. Provide -1 to remove the override.
curl -X POST -H " Content-Type: application/json " \
http://localhost:8080/api/v1/storage_gateway/update -d ' {
"root_path": "$NEW_ROOT_PATH",
"user_id": <new-user-id>,
"group_id": <new-group-id>
Name Type Required Description idString Yes ID of the existing Storage Device Integration. root_pathString No New root folder. Must be an absolute path. group_idInteger No Custom group ID override. Provide -1 to remove the override. user_idInteger No Custom user ID override. Provide -1 to remove the override.
Authentication — Authenticate with API keys or credentials.
Uploads — Send files via team email, shareable link, or portal.
Downloads — Initiate, monitor, and manage file downloads.
Automations — Set up automated download and upload workflows.