canonical: https://jentic.com/apis/intralinks.com/intralinks

# Intralinks Content Connectors

The Intralinks Content Connectors API exposes Intralinks' bridge between user-owned cloud storage providers and Intralinks workspaces, so files held in third-party storage can be listed, fetched, and copied into a virtual data room (VDR) without leaving the source system. The API surfaces three layers - Storage Providers (the catalogue of supported services), Storage Accounts (per-user OAuth-linked connections), and Storage Content (containers and data objects accessible through those accounts) - together with a Copy operation that moves content into Intralinks. It is intended for due-diligence, M&A, and regulated dealmaking workflows where source-of-truth files live in user storage but must be shared inside a controlled VDR.

## For AI agents

List, browse, and copy files from a user's connected cloud storage account into an Intralinks data room so an agent can stage deal documents without moving files out of their source system.

## Scope

Does not manage Intralinks workspace permissions, user provisioning, or deal-room reporting - use for connecting third-party storage and copying its content into Intralinks only.

## Capabilities

- List the storage providers a user can link, such as the catalogue returned by GET `/il-storage/providers`
- Create or update a per-user storage account connection through POST `/il-storage/accounts` and the OAuth flow on `/il-storage/accounts/authorize/{providerId}`
- Browse a container's children and metadata using the cdmi_objectid or path-based object endpoints
- Create new storage containers under a connected account using path-based POST operations
- Copy a selected data object from a connected storage account into an Intralinks workspace via `/il-connectors/copy`

## Use cases

### Stage Diligence Files into a Data Room

Stage diligence files from a deal team's existing cloud storage into an Intralinks workspace without asking team members to download and re-upload. The Content Connectors API lists the user's connected storage accounts, browses containers and objects, and copies selected items into Intralinks via the `/il-connectors/copy` endpoint. Users authorize each storage account once through the OAuth flow on `/il-storage/accounts/authorize/{providerId}.`

Example prompt: Call `/il-storage/accounts` to list the user's connected accounts, then GET `/il-storage/accounts/{accountId}/objects`/ to list root objects, and finally POST `/il-connectors/copy` to move the selected object into the target Intralinks workspace.

### User Storage Account Onboarding

Walk a user through linking a third-party storage provider to Intralinks so they can later draw files from it into deals. The flow lists supported providers via GET `/il-storage/providers`, then either accepts credentials through POST `/il-storage/accounts` or initiates an OAuth handoff via POST `/il-storage/accounts/authorize/{providerId}.` Once linked, the account ID can be reused on later browse calls.

Example prompt: Call GET `/il-storage/providers`, present the returned list to the user, then call POST `/il-storage/accounts/authorize/{providerId}` to start the OAuth flow for the chosen provider.

### Folder Browsing UI for Connected Storage

Build a folder-browsing UI for a connected storage account by paging through container objects with the GET endpoints on `/il-storage/accounts/{accountId}/objects/{parentContainerPath}`/ and `/il-storage/accounts/{accountId}/cdmi_objectid/{objectId}/.` The fields query parameter controls whether children, metadata, or both are returned, which keeps payloads small for nested folder views. New folders can be created with the matching POST operations.

Example prompt: Call GET `/il-storage/accounts/{accountId}/objects/{parentContainerPath}`/ with fields=children for the selected folder and render the returned ContainerObjectResponse as a folder listing.

### Agent-Driven Deal File Move via Jentic

An AI deal-room agent uses Jentic to discover and call the Intralinks Content Connectors API to move a named contract from a user's connected storage into a target Intralinks workspace. The agent chains list, browse, and copy operations without hardcoding the Intralinks SDK. Through Jentic the OAuth credentials are held in the credential vault and never enter the agent context.

Example prompt: Use Jentic to search for 'copy a file from cloud storage into Intralinks', load `/il-connectors/copy`, and execute it with the source accountId and objectId together with the destination workspace identifier.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/il-storage/providers` | List storage providers a user can link |
| GET | `/il-storage/accounts` | List the current user's connected storage accounts |
| POST | `/il-storage/accounts` | Create a new storage account using supplied provider credentials |
| POST | `/il-storage/accounts/authorize/{providerId}` | Initiate the OAuth flow for a storage provider |
| GET | `/il-storage/accounts/{accountId}/objects/` | List root-level objects in a connected storage account |
| GET | `/il-storage/accounts/{accountId}/cdmi_objectid/{objectId}/` | Retrieve a container or object by its CDMI object id |
| POST | `/il-connectors/copy` | Copy a selected storage object into an Intralinks workspace |

## Key resources

- **Storage Providers** — Static catalogue of storage systems a user can connect, listed by GET `/il-storage/providers.`
- **Storage Accounts** — Per-user OAuth-linked connections to a provider, managed via POST/GET/PUT/DELETE on `/il-storage/accounts` and the `/authorize/{providerId}` endpoint.
- **Storage Content - Container** — Container objects (folders) inside a storage account, addressable by CDMI object id or by path, with GET, POST, PUT, and DELETE operations.
- **Storage Content - DataObject** — Individual data objects (files) inside a storage container, with the same id-based and path-based addressing as containers.
- **Copy** — Single endpoint at `/il-connectors/copy` that copies a selected object from a connected storage account into an Intralinks workspace.

## Why Jentic

- **Setup:** Wiring Intralinks Content Connectors by hand means running its OAuth 2.0 authorization-code flow for the ilAuthCode scheme, keeping separate tokens for each underlying storage provider, and managing token refresh and the copy plumbing yourself. Through Jentic you install once, import Intralinks from the API Directory, store the tokens once, and your agent calls it.
- **Permission scoping:** Intralinks puts the storage account and object in the URL path (`/il-storage/accounts/{accountId}/objects`, `/il-storage/accounts/{accountId}/cdmi_objectid/{objectId}`), so a rule can pin your agent to one account: it can list providers, enumerate that account's objects, and run `/il-connectors/copy` and nothing else. You choose the operations it may call, so account creation and authorization endpoints are not included unless you add them.
- **Credential handling:** Your Intralinks OAuth token and any underlying storage-provider tokens are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'copy a file from cloud storage into Intralinks' or 'list objects in a storage account', and Jentic returns the matching `/il-connectors/copy` or `/il-storage/accounts/{accountId}/objects` operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Box Content API** — Source-side cloud storage commonly linked as a provider in Intralinks Content Connectors.
- **Dropbox API v2** — Another commonly linked storage provider for diligence files staged into Intralinks.
- **Box Content API** — Direct cloud-storage and document-collaboration platform used as a standalone alternative to a VDR.

## FAQ

### What authentication does the Intralinks Content Connectors API use?

Every operation in the spec is secured by the `ilAuthCode` OAuth 2.0 scheme with the `ilservices` scope. Through Jentic the OAuth tokens are held in the credential vault and injected at execution time, so raw access tokens never enter the agent context.

### Can I copy files from a connected storage account into Intralinks with this API?

Yes. Once a storage account is linked, `/il-connectors/copy` accepts a source object reference and a destination Intralinks workspace identifier and performs the copy server-side. There is no need to download the file to the agent first.

### What are the rate limits for the Intralinks Content Connectors API?

The OpenAPI spec does not declare numeric rate limits. Practical throughput depends on the underlying storage provider and the Intralinks tenant configuration. Refer to your Intralinks account team for production limits.

### How do I browse a connected storage account through Jentic?

Install the SDK with `pip install jentic`, search for 'browse files in a connected Intralinks storage account', load `/il-storage/accounts/{accountId}/objects/{parentContainerPath}`/, and execute it with the path of the folder to list. The fields query parameter controls whether children, metadata, or both are returned.

### How do I create a new folder in a connected storage account?

Use the path-based POST on `/il-storage/accounts/{accountId}/objects/{parentContainerPath}`/ or the CDMI-id-based POST on `/il-storage/accounts/{accountId}/cdmi_objectid/{objectId}/.` The Content-Type must be `application/cdmi-container`. The response is a ContainerObjectNoMetadataResponse describing the new folder.

### Does the API expose individual file uploads?

The spec exposes container and data-object endpoints under `/il-storage/accounts/{accountId}/cdmi_objectid/{objectId}`/ and the path-based variants. End-to-end content upload semantics depend on the underlying storage provider; this API is primarily a connector to existing storage rather than a full upload pipeline.

### Can I limit what my agent is allowed to do with the Intralinks Content Connectors API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and Intralinks puts the storage account and object in the URL path, so a rule can pin the agent to a single account. You can allow it to list providers via GET `/il-storage/providers`, enumerate that account's objects, and run POST `/il-connectors/copy` while excluding everything else. The account-creation and OAuth authorization endpoints, such as POST `/il-storage/accounts/authorize/{providerId}`, stay off limits unless you explicitly add them.
