Everything an AI agent can do with the Egnyte API.

A reference guide for building AI agents: every method, how to authenticate, and the permissions each one needs.

Endpoints32
API versionv1
Last updated23 June 2026
Orientation

How the Egnyte API works.

The Egnyte API is how an app or AI agent works with an Egnyte domain: listing and downloading files, uploading new ones, creating folders, setting who can see a folder, creating shared links, and running audit reports. Access is granted through an OAuth token, and each area maps to its own scope, with every call limited to the files and folders the person the token acts as can already reach. Egnyte does not push changes; it records a stream of file-system events an app reads on a schedule.

32Endpoints
8Capability groups
17Read
15Write
5Permissions
Authentication
Egnyte uses OAuth 2.0. An app obtains an access token, sent as 'Authorization: Bearer ', through the authorization-code flow or the resource-owner password flow against the token endpoint on the customer's own Egnyte domain. The token acts as a specific Egnyte user, so it can never reach files that user could not reach in the web interface. Scopes are requested space-delimited at authorization time.
Permissions
Access is governed by two things at once: the OAuth scopes the token was granted, and the calling user's own file permissions. The scopes are Egnyte.filesystem for files and folders, Egnyte.permission for folder permissions, Egnyte.user for user management, Egnyte.link for shared links, and Egnyte.audit for audit reporting. A call needs the matching scope, and even with it, the user only ever sees or changes what their Egnyte permissions allow.
Versioning
Egnyte versions its API in the URL path rather than by date. The file system, folder permissions, shared links, audit reporting, and events areas are served under v1, while user management, group management, and the newest search interface are served under v2. There is no version header to pin; each area is called at its published path version.
Data model
Egnyte is a folder tree. Files and folders are addressed by their full path under a root like Shared or Private, with metadata and structure calls under one base path and the file bytes streamed under a separate content path. Folder permissions, shared links, users, groups, search, audit reports, and the events feed are each their own resource. The API runs against the customer's own domain host, not a shared endpoint.
Connect & authenticate

Connection & authentication methods.

How an app or AI agent connects to Egnyte determines what it can reach. There is a route for calling the API, an events feed for learning about file changes, and a hosted server that exposes Egnyte content to agents, and each is governed by the OAuth token behind it and the file permissions of the person it acts as.

Ways to connect

REST API

The Public API runs against the customer's own Egnyte domain host, not a shared endpoint. Metadata and structure calls use the fs path, file bytes stream from a separate fs-content path, and each area is at the path version Egnyte publishes for it (v1 for files, permissions, links, audit, and events; v2 for users, groups, and search).

Best forConnecting an app or AI agent to Egnyte.
Governed byThe OAuth token and the scopes it carries, plus the user's own file permissions.
Docs ↗

Events feed

Egnyte does not push file changes. An app reads the events feed on a schedule, advancing a cursor so it sees only file and folder operations newer than the last id it processed. The feed retains the most recent 300,000 events, and Egnyte advises polling no more often than every 5 minutes.

Best forLearning about file and folder changes without polling whole folders.
Governed byThe OAuth token and the user's own file permissions.
Docs ↗

MCP server (Model Context Protocol)

Egnyte publishes an official Model Context Protocol server that lets an AI agent reach Egnyte content while respecting the organization's existing permissions. A fully managed remote server is hosted at mcp-server.egnyte.com, and an open-source self-hosted option lives at github.com/egnyte/egnyte-mcp-server, which uses an Egnyte domain and access token. The remote server connects to clients including Claude Desktop, ChatGPT, and VS Code.

Best forConnecting an AI agent to Egnyte through MCP.
Governed byThe OAuth grant or access token, and the user's own file permissions.
Docs ↗
Authentication

OAuth 2.0 authorization code

An app sends the user to Egnyte to sign in and approve the requested scopes, then exchanges the returned code for an access token at the token endpoint on the customer's domain. The token acts as that user, so it reaches only what the user can.

TokenBearer access token
Best forApps acting on behalf of a signed-in Egnyte user.
Docs ↗

OAuth 2.0 resource-owner password

A server-side integration exchanges an Egnyte username and password directly for an access token, without a browser redirect. The resulting token still acts as that user and is bound to the same scopes and file permissions.

TokenBearer access token
Best forServer-side integrations with stored credentials.
Docs ↗
Capability map

What an AI agent can do in Egnyte.

The Egnyte API is split into areas an agent can act on, like files and folders, folder permissions, users, groups, shared links, search, and audit reporting. Each area maps to its own OAuth scope, and writes in some areas move files, change who can see a folder, or create or remove people.

Files & folders

8 endpoints

List folder contents, read file or folder metadata, download a file, upload a file, create a folder, move, copy, and delete.

Writes here move, overwrite, or delete real files and folders.
View endpoints

Folder permissions

3 endpoints

Read a folder's permissions, read a user's effective permission on a folder, and set the permission a user or group has on a folder.

Writes here change who can see or edit a folder.
View endpoints

Users

5 endpoints

List users, read a single user, create a user, update a user, and delete a user.

Writes here create, change, or remove real people's accounts.
View endpoints

Groups

5 endpoints

List groups, read a single group, create a group, replace a group's members, and delete a group.

Writes here change group membership, which affects folder access.
View endpoints

Shared links

4 endpoints

List shared links, read a single link, create a file or folder link, and delete a link.

Writes here can expose a file or folder to people outside the domain.
View endpoints

Search

1 endpoint

Search for files and folders by name, content, and metadata, scoped to what the calling user can see.

Reads only; results are limited to the user's own permissions.
View endpoints

Audit reporting

4 endpoints

Generate audit reports on file activity, logins, and permission changes, then check the job and download the result.

Reads only; reports can expose who did what across the domain.
View endpoints

Events

2 endpoints

Read the cursor that marks the newest and oldest available events, then read file-system events after a given id.

Reads only; the feed reports file and folder changes.
View endpoints
Endpoint reference

Every Egnyte API method.

Filter by method, access, or permission, or search any path. Select a row for version detail, rate limits, the related webhook event, and the source.

MethodEndpointWhat it doesAccessPermissionVersion

Files & folders

List folder contents, read file or folder metadata, download a file, upload a file, create a folder, move, copy, and delete.8

Returns folder children or single-item metadata. The user only sees items their Egnyte permissions allow.

Acts onfile or folder
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

File bytes stream from the fs-content path, separate from the metadata path. A specific version is fetched with entry_id.

Acts onfile
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Single-shot upload for files up to 100 MB; larger files use the chunked endpoint.

Acts onfile
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventfile_upload
Rate limitStandard limits apply

For files over 100 MB. Each chunk is numbered, and the final request commits the upload.

Acts onfile
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventfile_upload
Rate limitStandard limits apply

The fs path takes an action field; add_folder creates a folder at the path.

Acts onfolder
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventfolder_create
Rate limitStandard limits apply

The action move with a destination relocates the item.

Acts onfile or folder
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventfile_move
Rate limitStandard limits apply

The action copy with a destination duplicates the item.

Acts onfile or folder
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Removes the item; deleting a folder removes its contents.

Acts onfile or folder
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventfile_delete
Rate limitStandard limits apply

Folder permissions

Read a folder's permissions, read a user's effective permission on a folder, and set the permission a user or group has on a folder.3

Lists the explicit permissions on the folder, by user and group.

Acts onfolder permission
Permission (capability)Egnyte.permission
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Resolves inheritance to one of Owner, Full, Editor, or Viewer for the folder.

Acts onfolder permission
Permission (capability)Egnyte.permission
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Assigns Owner, Full, Editor, Viewer, or None to the named users and groups on the folder.

Acts onfolder permission
Permission (capability)Egnyte.permission
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Users

List users, read a single user, create a user, update a user, and delete a user.5

User management is served under v2. Results page with a start index and count.

Acts onuser
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns the user's username, email, name, active status, and group membership.

Acts onuser
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Takes the username, email, name, and authentication type for the new account.

Acts onuser
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

A partial update; deactivating a user by setting active to false frees their license.

Acts onuser
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Removes the account. A user is often deactivated rather than deleted to preserve their data.

Acts onuser
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Groups

List groups, read a single group, create a group, replace a group's members, and delete a group.5

Group management is served under v2 and uses the Egnyte.user scope. Results page with a start index and count.

Acts ongroup
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns the group's display name and member list.

Acts ongroup
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Group membership affects folder access, since permissions can be assigned to a group.

Acts ongroup
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

A PATCH replaces the named fields, including the full member list when provided.

Acts ongroup
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Removes the group; any folder permissions assigned to it no longer apply.

Acts ongroup
Permission (capability)Egnyte.user
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply
List shared links, read a single link, create a file or folder link, and delete a link.4

Returns link ids; details for a single link are read by id.

Acts onshared link
Permission (capability)Egnyte.link
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Shows the link's path, type, accessibility, expiry, and recipients.

Acts onshared link
Permission (capability)Egnyte.link
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Accessibility can be anyone, password, domain, or recipients; a link can expire by date or number of uses.

Acts onshared link
Permission (capability)Egnyte.link
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Once deleted, the link no longer grants access to the file or folder.

Acts onshared link
Permission (capability)Egnyte.link
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply
Search for files and folders by name, content, and metadata, scoped to what the calling user can see.1

The current search interface is served under v2 and uses the Egnyte.filesystem scope. Results are limited to what the calling user can see.

Acts onsearch result
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Audit reporting

Generate audit reports on file activity, logins, and permission changes, then check the job and download the result.4

Starts a report job; the response gives a job id to poll, then download.

Acts onaudit report
Permission (capability)Egnyte.audit
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Starts a report job covering login events and access points.

Acts onaudit report
Permission (capability)Egnyte.audit
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Starts a report job covering who changed which folder permissions.

Acts onaudit report
Permission (capability)Egnyte.audit
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Reports run asynchronously; the job id is polled until the report is ready.

Acts onaudit report
Permission (capability)Egnyte.audit
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Events

Read the cursor that marks the newest and oldest available events, then read file-system events after a given id.2

Returns latest_event_id and oldest_event_id, used to start or resync a poll.

Acts onevent
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Reports file and folder operations and comments, not user or settings changes. Poll no more often than every 5 minutes.

Acts onevent
Permission (capability)Egnyte.filesystem
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply
No endpoints match those filters.
Webhooks

Webhook events.

Egnyte does not push file changes to a receiver. Instead it records a stream of file-system events an app or AI agent reads on a schedule, advancing a cursor so it sees only what is new since the last check.

EventWhat it signalsTriggered by
file_uploadRecorded when a file is uploaded or a new version is added. Read from the events feed, not pushed./pubapi/v1/fs-content/{path}
/pubapi/v1/fs-content-chunked/{path}
file_deleteRecorded when a file or folder is deleted. Read from the events feed, not pushed./pubapi/v1/fs/{path}
file_moveRecorded when a file or folder is moved to a new path. Read from the events feed, not pushed./pubapi/v1/fs/{path}
folder_createRecorded when a folder is created. Read from the events feed, not pushed./pubapi/v1/fs/{path}
No events match that search.
Rate limits & pagination

Rate limits, pagination & request size.

Egnyte limits how fast and how much an app or AI agent can call, through a per-second rate and a daily quota counted against each access token, with the ceilings rising on higher plans.

Request rate

Egnyte meters calls against each access token, not against the app's key, so each connected user carries an independent allowance. The default is 2 calls per second per token and 1,000 calls per day per token, with both ceilings raised on higher Egnyte plans. The OAuth token endpoint is limited separately to 100 token requests per hour. Going over the per-second limit or the daily quota returns HTTP 403 with an X-Mashery-Error-Code header naming which limit was hit (ERR_403_DEVELOPER_OVER_QPS for the per-second throttle, ERR_403_DEVELOPER_OVER_RATE for the daily quota) and a Retry-After header giving the seconds until that limit resets.

Pagination

List endpoints page with an offset and a count, returning the total so an app knows when it has read everything. The events feed pages differently: it is cursor-based, where a request returns events after a given event id and the next request passes the last id seen, advancing through the stream.

Request size

Uploads under 100 MB use the single-shot content endpoint; larger files use the chunked upload endpoint, which sends the file in parts. The events feed retains only the most recent 300,000 events, and events older than that, or older than the retention window, fall off, at which point an app re-reads the cursor endpoint to resync.

Errors

Status codes & error handling.

The status codes an agent should handle, and what to do about each.

StatusCodeMeaningWhat to do
401UnauthorizedThe access token is missing, invalid, or expired.Send a valid Bearer token in the Authorization header, refreshing it if it has expired.
403Forbidden / ERR_403_DEVELOPER_OVER_QPSEither a rate limit was hit, or the token lacks the scope or the user lacks the file permission for the request. The X-Mashery-Error-Code header names a throttle when it is a rate limit: ERR_403_DEVELOPER_OVER_QPS for the per-second limit, ERR_403_DEVELOPER_OVER_RATE for the daily quota.On a throttle, wait the seconds in the Retry-After header. Otherwise, grant the missing scope or the user permission.
404Not FoundThe path or resource does not exist, or the user cannot see it.Confirm the folder path is URL-encoded element by element, and that the user has permission to the item.
409ConflictThe request conflicts with the current state, such as the OAuth token endpoint being over its hourly limit, or a name already existing at the target path.For the token endpoint, slow down token requests. For a name clash, choose a new name or path.
503Service UnavailableEgnyte is temporarily unavailable or the request was shed under load.Retry with exponential backoff after a short wait.
Versioning & freshness

Version history.

Egnyte versions its API in the path. The file system, permissions, links, audit, and events areas are on v1, while user and group management and the newest search interface are on v2.

Version history

What changed, and when

Latest versionv1
2025-11-20Feature update
Public APIs for Copilot custom agents

Egnyte released public APIs that let developers reach Copilot custom agents, rolled out to all customers by 20 November 2025. This added agent-facing methods on top of the existing path-versioned Public API, without changing how the file system, permissions, links, audit, or events areas are versioned or authenticated.

What changed
  • Public APIs for Copilot custom agents made available to all customers
2025-10-02Feature update
Hybrid Search Public API

Egnyte released the Hybrid Search Public API for Copilot, blending vector similarity with keyword matching, rolled out to all customers by 2 October 2025. It extends content discovery beyond the standard search interface while keeping results bound to the calling user's own file permissions.

What changed
  • Hybrid Search Public API for Copilot made available to all customers
v1Current version
Path-versioned Public API (v1 with v2 areas)

Egnyte versions its Public API in the URL path. The file system, folder permissions, shared links, audit reporting, and events areas are served under v1, while user management, group management, and the current search interface are served under v2. There is no version header; each area is called at its published path version. Authentication is OAuth 2.0 with per-area scopes (Egnyte.filesystem, Egnyte.permission, Egnyte.user, Egnyte.link, Egnyte.audit), and access is additionally bounded by the calling user's own file permissions.

What changed
  • File system, permissions, links, audit, and events served under the v1 path
  • User management, group management, and the current search interface served under the v2 path
  • OAuth 2.0 access with space-delimited, per-area scopes
  • Per-token rate limiting (2 calls per second and 1,000 per day by default, higher on larger plans)

An integration calls each area at the path version Egnyte publishes for it.

Egnyte API release notes ↗
Questions

Egnyte API, answered.

How does an app authenticate, and what does the token reach?+
Egnyte uses OAuth 2.0. An app obtains an access token through the authorization-code flow, where the user signs in and approves scopes, or the resource-owner password flow for a server-side integration, then sends it as 'Authorization: Bearer '. The token acts as a specific Egnyte user, so it can never see or change anything that user could not in the web interface, even when the requested scope would otherwise allow it.
What are the OAuth scopes, and how do they map to what an agent can do?+
Each area has its own scope: Egnyte.filesystem covers files, folders, search, and the events feed; Egnyte.permission covers reading and setting folder permissions; Egnyte.user covers user and group management; Egnyte.link covers shared links; and Egnyte.audit covers audit reporting. Scopes are requested space-delimited at authorization time, and requesting only the ones an integration needs improves the chance a user approves it.
What are the rate limits?+
Egnyte counts calls against each access token, not the app's key, so each connected user has an independent allowance. The default is 2 calls per second and 1,000 calls per day per token, both raised on higher plans, and the OAuth token endpoint is capped separately at 100 token requests per hour. Going over returns HTTP 403 with an X-Mashery-Error-Code header naming the throttle and a Retry-After header giving the seconds until it resets.
How does an agent learn about file changes if there are no webhooks?+
Egnyte does not push changes to a receiver. Instead it records a stream of file-system events that an app reads on a schedule. A request to the cursor endpoint returns the newest and oldest event ids, then the events endpoint returns operations newer than a given id, filterable by folder and type. The feed keeps the most recent 300,000 events, and Egnyte advises polling no more often than every five minutes.
Why are some areas on v1 and others on v2?+
Egnyte versions its API in the path rather than by date, and the areas were introduced at different times. The file system, folder permissions, shared links, audit reporting, and events areas are served under v1, while user management, group management, and the current search interface are served under v2. There is no version header to pin; each area is simply called at its published path version.
How are file paths formatted in API calls?+
A file or folder is addressed by its full path under a root such as Shared or Private. Each element of the path in the URL must be URL-encoded on its own, while the forward slashes between elements are left unescaped. Metadata and folder listing use the fs path, and the file bytes are read or written through a separate fs-content path.
Related

More storage API guides for agents

What is Bollard AI?

Control what every AI agent can do in Egnyte.

Bollard AI sits between a team's AI agents and Egnyte. Grant each agent exactly the access it needs, read or write, area by area, and every call is checked and logged.

  • Set read, write, or full access per agent, never a shared Egnyte token.
  • Denied by default, so an agent reaches only what has been explicitly allowed.
  • Every call recorded in plain English: who, what, where, and the decision.
Egnyte
Contracts Agent
Read files and folders ResourceOffReadFull use
Create shared links ActionOffReadFull use
Set folder permissions ActionOffReadFull use
Create and delete users ActionOffReadFull use
Per-agent access, set in Bollard AI, not in Egnyte