canonical: https://jentic.com/apis/nueva.io/nueva

# Nueva Emineo Download Center Folders Files API

The Emineo Download Center Folders Files API uploads files into the folder tree that belongs to a product in the Emineo download center, and removes them again. An upload names the owning productId and either an existing parentFolderId or a rootFolderName for a new root-level folder, which defaults to the product title, and can set a display name, alternative text, and caption. The response returns the product, the resolved folder with its path, and the stored file record with its id, MIME type, size, and URL. A file can then be deleted by its id or by its exact stored URL, and the folder itself remains.

## For AI agents

Upload a file into a product's folder in the Emineo download center with an optional caption and alt text, and delete uploaded files by id or by URL.

## Scope

Does not list products, browse folder contents, or manage download-center users. Use for uploading files into product folders and deleting uploaded files only.

## Capabilities

- Upload a file into an existing product folder by passing productId and parentFolderId
- Create a new root-level folder for a product during upload with rootFolderName, defaulting to the product title
- Attach a display name, alternativeText, and caption to an uploaded file
- Read back the resolved folder path and the stored file's id, mime, size, and url from the upload response
- Delete an uploaded file by its id while keeping the folder
- Delete an uploaded file by its exact stored URL

## Use cases

### Agent-maintained product download pages

A product team's AI agent keeps each product's downloads current when a new datasheet is published. Through Jentic the agent searches for 'upload a file to a product folder', gets the Emineo upload operation with its input schema, and sends a multipart request with the required productId and files, plus the parentFolderId of the product's datasheet folder. The api-token is injected at call time, and the agent records the returned file id for later replacement.

Example prompt: Call POST `/folders/files` as multipart with productId, parentFolderId, files set to the new datasheet PDF, and caption 'Datasheet v2', then store the returned file.id and file.url

### Creating a folder on first upload

When a product has no download folder yet, an upload can create one. Leaving parentFolderId empty and passing rootFolderName creates a new folder at the root of the product's tree, and if rootFolderName is also omitted the product title is used. The response returns the folder id and path so later uploads can target it directly.

Example prompt: Call POST `/folders/files` as multipart with productId, rootFolderName 'Installation guides', and files set to the install guide, then save the returned folder.id for future uploads

### Replacing outdated downloads

Retiring an old file is a single delete. DELETE `/folders/files/{id}` removes a file by the id returned at upload time, and DELETE `/folders/files/by-url` removes it by the exact URL stored for the file, which helps when only the public link is known. Both leave the folder in place and return a deleted flag.

Example prompt: Call DELETE `/folders/files/by-url` with url set to the old datasheet's stored URL, confirm deleted is true, then upload the new version with POST `/folders/files`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/folders/files` | Upload files into a product folder |
| DELETE | `/folders/files/{id}` | Delete an uploaded file by id |
| DELETE | `/folders/files/by-url` | Delete an uploaded file by URL |

## Key resources

- **Product folders** — The folder tree owned by a product, addressed by parentFolderId or created with rootFolderName
- **Uploaded files** — Stored file records with id, name, alternativeText, caption, mime, size, and url

## 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:** 47 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 69 / 100
  - AI-Readiness & Agent Experience: 22 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 83 / 100
- **View full report:** https://jentic.com/apis/nueva.io/nueva/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 Emineo Download Center by hand means sending the api-token header, building multipart uploads with productId and files, and tracking folder ids. Through Jentic you install once, import it from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** The upload and the two deletes sit at separate paths (`/folders/files`, `/folders/files/{id}`, `/folders/files/by-url`), and the product and folder travel in the request body, so a rule bounds which operations your agent may call rather than which product. You choose the operations, so deletes are not included unless you add them.
- **Credential handling:** Your Emineo API token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'upload a file to a product folder' or 'delete a product file by URL', and Jentic returns the matching Emineo operation with its input schema, including productId, parentFolderId, and rootFolderName, so the agent builds the request correctly.

## Related APIs

- **Box API** — Content management with folders, permissions, and shared links
- **Uploadcare Upload API** — File upload service with CDN delivery
- **Cloudinary Upload API** — Upload and transform images and video

## FAQ

### What authentication does the Emineo Download Center Folders Files API use?

Per its OpenAPI spec, the API authenticates with a static API token sent in the api-token request header. Through Jentic the token is held by your own instance and injected at call time, so your agent never handles it.

### Can I upload a file without an existing folder in the Emineo Download Center?

Yes. POST `/folders/files` requires productId and files, and parentFolderId is optional. Without it, the API creates a root-level folder named by rootFolderName, or by the product title if you omit that too, and returns the new folder's id and path.

### What are the rate limits for the Emineo Download Center Folders Files API?

The OpenAPI spec does not specify rate limits. Check with Nueva, the provider, at https://nueva.io for current limits.

### How do I delete a file when I only have its link?

Call DELETE `/folders/files/by-url` with the url query parameter set to the exact file URL as stored for the upload. The response returns the file id, the url, and a deleted flag. If you kept the id from the upload response, DELETE `/folders/files/{id}` does the same by id.

### How do I upload a product file through Jentic?

Search Jentic for 'upload a file to a product folder', load the Emineo upload operation, and send a multipart request with productId, files, and optionally parentFolderId, name, and caption. The response gives the stored file's id and url for your records. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there an Emineo Download Center MCP server?

You do not need an MCP server to give your agent the Emineo Download Center. Jentic connects it directly from the API Directory: import it, store your API token once, and your agent calls the upload and delete operations it needs on demand.

### Can I limit what my agent is allowed to do with the Emineo Download Center Folders Files API?

Yes. Write a rule that allows only POST `/folders/files`, and the agent can add files to product folders but cannot call either delete operation. If you later want it to retire old files, add DELETE `/folders/files/{id}` alone, and the calls it makes are logged for review.
