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

# Ep SmartHub User API

The SmartHub User API lists the studios a user can access in the EP Residuals Hub, browses the folder tree inside each project, and uploads residuals documents with their metadata. It creates nested folder paths such as a 2024/Q4/Residuals hierarchy in a single call and attaches custom fields like a ticketNumber to a folder. File metadata is returned without the binary so an agent can build the SmartHub viewer URL to preview a document.

## For AI agents

Browse projects and folders in the EP Residuals Hub, create nested folders with ticket metadata, upload residuals documents, and read file metadata. Authenticated with an Apigee OAuth2 token and a PingOne user JWT.

## Scope

Does not handle residuals calculation, payroll, or payment processing. Use for filing and browsing documents in the EP Residuals Hub only.

## Capabilities

- List the studios and projects a user can access in the EP Residuals Hub
- Browse a project's library roots and walk down through nested child folders
- Create nested folder paths in one call and attach custom fields such as a ticketNumber
- Upload residuals documents to a folder with an overwrite mode and document-type metadata
- Update a folder's custom fields to map a ticketNumber onto an existing folder
- Read file metadata and resolve the SmartHub viewer URL to preview a document

## Use cases

### Residuals Document Filing

A post-production team files residuals paperwork into the EP Residuals Hub organised by project and quarter. The SmartHub User API creates the nested folder path in one idempotent call, attaches the residuals ticket number as folder metadata, and uploads the signed report with its document type and label so it is findable later.

Example prompt: Create the folder path 2024/Q4/Residuals under a project folder with a ticketNumber of RES-12345, then upload the residuals report into it with a documentType of 'Residuals Report'

### Project Library Browsing

An agent navigates a studio's document library without a human clicking through SmartHub. It lists the projects the user can access, reads the root folders for a chosen studio such as Sony Pictures, and walks down through child folders to locate the right residuals folder before acting on its files.

Example prompt: List accessible projects, get the root folders for the Sony Pictures project, then browse its child folders to find the Residuals folder

### AI Agent Document Automation via Jentic

An AI agent connects to the SmartHub User API through Jentic without holding EP's OAuth2 or PingOne tokens itself. It searches by intent, receives the matching operation and its input schema, and runs folder creation and file uploads with credentials injected at run time, so a residuals filing workflow completes end to end.

Example prompt: Search Jentic for 'upload a residuals document', load the upload operation schema, and send a file to the target folder with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/projects` | List accessible studios and projects |
| GET | `/projects/{projectId}/folders` | Get a project's library root folders |
| POST | `/folders/{folderId}/folders` | Create a folder, including nested paths, with metadata |
| GET | `/folders/{folderId}/files` | List files in a folder |
| POST | `/folders/{folderId}/files` | Upload a file to a folder |
| PUT | `/folders/{folderId}` | Update a folder's custom fields |
| GET | `/files/{fileId}` | Get file metadata |

## Key resources

- **Projects** — List the studios and projects a user can access via /projects
- **Folders** — Browse, create, and update folders and their metadata under /folders and `/projects/{projectId}/folders`
- **Files** — List, upload, and read metadata for files via `/folders/{folderId}/files` and `/files/{fileId}`

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 73 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 90 / 100
  - Developer Experience & Jentic Compatibility: 71 / 100
  - AI-Readiness & Agent Experience: 53 / 100
  - Agent Usability: 94 / 100
  - Security: 68 / 100
  - AI Discoverability: 100 / 100
- **View full report:** https://jentic.com/apis/ep.com/ep/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the SmartHub User API by hand means managing two credentials at once: an Apigee OAuth2 client-credentials token for the application and a PingOne user JWT for identity, each sent in its own header. Through Jentic you install once, import SmartHub from the API Directory, store both credentials once, and your agent calls it.
- **Permission scoping:** The SmartHub User API carries the project, folder, and file ids in the URL path, so a rule can scope your agent to specific paths and to the operations you pick, such as read-only browsing of one project's folders. You choose which operations it may call, so folder creation and file upload are not included unless you add them.
- **Credential handling:** Your Apigee OAuth2 and PingOne 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 'upload a residuals document' or 'list project folders', and Jentic returns the matching SmartHub operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Box API** — General-purpose content storage with folders, files, and sharing
- **EveryPage API** — Upload documents and get trackable share links with readership analytics
- **CraftMyPDF API** — Generate PDF documents from templates and data

## FAQ

### What authentication does the SmartHub User API use?

The SmartHub User API requires two tokens per its OpenAPI spec: an Apigee OAuth2 client-credentials token in the Authorization header for application authorization, and a PingOne user JWT in the X-PingOne-JWT header for user identity. Through Jentic both are stored encrypted by your own Jentic One instance and injected at execution time, so neither reaches the agent.

### Can I create nested folders with the SmartHub User API?

Yes. The create-folder operation accepts a path like 2024/Q4/Residuals and builds the whole hierarchy in one call, returning the existing folder if it is already there. You can attach custom fields such as a ticketNumber to the deepest folder it creates, which is useful for mapping residuals tickets.

### What are the rate limits for the SmartHub User API?

The OpenAPI spec does not specify rate limits for the SmartHub User API. Check with the EP SmartHub team for current limits, and note that folder and file list operations are paginated with a pageSize of up to 200 results per page.

### How do I upload a residuals document with the SmartHub User API through Jentic?

Search Jentic for 'upload a residuals document' and it returns the SmartHub upload operation with its input schema. Load the schema and send the file to the target folder with the Apigee OAuth2 and PingOne tokens injected at run time. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the SmartHub User API?

Yes. Write a rule that allows only the read operations, such as listing projects and browsing folders, so the agent can navigate the library but cannot create folders or upload files. You pick the exact operations it may call, and every request runs through your own instance where it is logged for review.

### Is there a SmartHub User API MCP server?

You don't need an MCP server to give your agent the SmartHub User API. Jentic connects it directly from the API Directory: import it, store your EP credentials once, and your agent calls the folder and file operations it needs without a separate server to install.
