---
title: Unified File Storage API — Truto Unified API
slug: file-storage
canonical: "https://truto.one/unified-apis/file-storage/"
---

# Cloud Storage Unified API

Integrate Cloud Storage data across 9 providers with one API. 10 normalized resources, real-time pass-through, fully customizable.

**Base URL:** `https://api.truto.one/unified/file-storage`  
**Resources:** 10  
**Integrations:** 9

## Resources

### Drive-items

Drive Items are the files and folders present in a file storage system. These items are usually part of a Drive. You can differentiate between files and folders using the type attribute. (16 fields)

- `id` (string) — The unique identifier for a drive item
- `name` (string) — The name of the drive item
- `public_url` (string) — The public URL of the drive item
- `path` (string) — The path of the drive item
- `urls` (array) — The URLs of the drive item
- `type` (string) — The type of the drive item
- `has_children` (boolean) — Whether the drive item has children
- `size` (integer) — The size of the drive item
- `mime_type` (string) — The mime type of the drive item
- `description` (string) — The description of the drive item
- `parent` (object) — The parent folder of the drive item
- `drive` (object) — The drive of the drive item
- `creator` (object) — The creator of the drive item
- `tags` (array) — The tags associated with the drive item
- `created_at` (string) — The date and time the drive item was created
- `updated_at` (string) — The date and time the drive item was last updated

### Drives

Drives is a collection of files and folders. They could have multiple Drive Items within them. Users could have multiple Drives accessible to them in a file storage system. (7 fields)

- `id` (string) — The unique identifier for a drive
- `name` (string) — The name of the drive
- `workspace` (object) — 
- `drive_url` (string) — The URL of the drive
- `path` (string) — The  path that points to this drive within the storage provider
- `created_at` (string) — The date and time the drive was created
- `updated_at` (string) — The date and time the drive was last updated

### Files

[DEPRECATED] The file represent a file in File Storage. (11 fields)

- `id` (string) — The unique identifier for a file
- `name` (string) — The name of the file
- `file_url` (string) — The URL of the file
- `file_thumbnail_url` (string) — The URL of the thumbnail preview of file
- `size` (integer) — The size of the file
- `mime_type` (string) — The mime type of the file
- `description` (string) — The description of the file
- `folder` (string) — The folder of the file where it belongs
- `drive` (string) — The drive of the file where it belongs
- `created_at` (string) — The date and time the file was created
- `updated_at` (string) — The date and time the file was last updated

### Folders

[DEPRECATED] The folder represent a folder in File Storage. (9 fields)

- `id` (string) — The unique identifier for a folder
- `name` (string) — The name of the folder
- `folder_url` (string) — The URL of the folder
- `size` (integer) — The size of the folder
- `description` (string) — The description of the folder
- `parent_folder` (string) — The folder where this folder belongs
- `drive` (string) — The drive of the folder where it belongs
- `created_at` (string) — The date and time the folder was created
- `updated_at` (string) — The date and time the folder was last updated

### Groups

Groups represent a collection of users. They could be grouped based on departments, projects, permissions, etc. (4 fields)

- `id` (string) — The unique identifier for a group
- `name` (string) — The name of the group
- `created_at` (string) — The date and time the group was created
- `updated_at` (string) — The date and time the group was last updated

### Permissions

Permissions can answer your questions around which User has access to do what on a Drive Item or a Drive. (4 fields)

- `id` (string) — Unique identifier for the permission
- `resources` (array) — The resources for which the permission is applicable for
- `user` (object) — The user for whom the permission is applicable for
- `permissions` (array) — The list of permissions

### Tags

Represents the tags in a file storage system (6 fields)

- `id` (string) — The unique identifier for the tag
- `name` (string) — The name of the tag
- `description` (string) — The description of the tag
- `options` (array) — A list of selectable options under this tag
- `created_at` (string) — The date and time the tag was created
- `updated_at` (string) — The date and time the tag was last updated

### Users

Users represent the people using the underlying file storage system. (8 fields)

- `id` (string) — The unique identifier for a user
- `first_name` (string) — The first name of the user
- `last_name` (string) — The last name of the user
- `name` (string) — The name of the user
- `emails` (array) — The emails of the user
- `roles` (array) — The roles of the user
- `created_at` (string) — The date and time the user was created
- `updated_at` (string) — The date and time the user was last updated

### Webhooks

 (0 fields)

### Workspaces

Workspaces represent the top-level subdivision in a file storage system. They usually have their own set of drives, groups and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. (4 fields)

- `id` (string) — The unique identifier for a workspace
- `name` (string) — The name of the workspace
- `created_at` (string) — The date and time the workspace was created
- `updated_at` (string) — The date and time the workspace was last updated

## Supported integrations

- [Box](https://truto.one/integrations/detail/box/)
- [Dropbox - Business](https://truto.one/integrations/detail/dropbox/)
- [Dropbox - Personal](https://truto.one/integrations/detail/dropboxpersonal/)
- [Egnyte](https://truto.one/integrations/detail/egnyte/)
- [Google](https://truto.one/integrations/detail/google/)
- [Google Drive](https://truto.one/integrations/detail/googledrive/)
- [Microsoft 365](https://truto.one/integrations/detail/microsoft/)
- [OneDrive](https://truto.one/integrations/detail/onedrive/)
- [SharePoint](https://truto.one/integrations/detail/sharepoint/)

## Related reading

- [How to Integrate Google Drive, SharePoint, and Box: What It Really Takes](https://truto.one/blog/how-to-integrate-google-drive-sharepoint-and-box/) — Explore the engineering trade-offs of building Google Drive, SharePoint, and Box integrations versus using a Unified File Storage API.
- [Moving Past Checkboxes: Automating Immutable Policy Evidence](https://truto.one/blog/moving-past-checkboxes-automating-immutable-policy-evidence/) — Simple checkboxes for policy acknowledgement no longer satisfy enterprise auditors. Learn how to automate legally binding e-signatures using Unified APIs.
- [Challenges we face while building integrations: SharePoint](https://truto.one/blog/challenges-sharepoint/) — Discover the real-world engineering challenges of building a SharePoint integration, from Graph API limitations to complex permission hierarchies and sandbox setups.
- [The Unholy Mess of File Picker APIs (and How We Tamed It)](https://truto.one/blog/the-unholy-mess-of-file-picker-apis-and-how-we-tamed-it/) — Implementing native cloud file pickers for Google Drive, OneDrive, and Box is an architectural nightmare. Here is how we unified them into a single API.
- [Your Unified APIs Are Lying to You: The Hidden Cost of Rigid Schemas](https://truto.one/blog/your-unified-apis-are-lying-to-you-the-hidden-cost-of-rigid-schemas/) — Standard unified APIs force you into rigid schemas and black-box architectures. Learn why engineering teams need a programmable integration layer with raw API access.
- [How to Integrate with the SharePoint API: 2026 Architecture Guide](https://truto.one/blog/how-to-integrate-with-the-sharepoint-api-2026-architecture-guide/) — A technical guide to integrating with the SharePoint API in 2026 — covering Microsoft Graph hierarchies, OAuth with Entra ID, File Picker v8 pitfalls, rate limits, and pagination.
