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

# DDownload API

Jentic publishes the only available OpenAPI specification for DDownload API, keeping it validated and agent-ready. DDownload is a file-hosting platform whose v2 API covers account information, upload server discovery, file and folder lifecycle, and batch existence checks. Authentication is a single API key passed as a query parameter. The 16 endpoints follow a flat, action-style convention (e.g. `/file/rename`, `/folder/create`) rather than RESTful CRUD, so workflows tend to chain GETs with action verbs in the path.

## For AI agents

List, rename, move, and delete files and folders on DDownload, plus discover the right upload server and read account stats. Suited for agents managing hosted-file libraries.

## Scope

Does not handle media transcoding, image transforms, sharing-link analytics, or user account creation - use for DDownload file and folder management only.

## Capabilities

- Read account profile and storage statistics from `/account/info` and `/account/stats`
- Discover the correct upload server URL via `/upload/server` before pushing a file
- Inspect a single file's metadata or batch-check up to many file codes at once
- Rename files, move them between folders, and toggle public or private status
- Create, rename, list, and delete folders to organise hosted content
- Recover the list of recently deleted files for restore or audit workflows

## Use cases

### Programmatic file library management

Teams using DDownload as a hosted file backend often need to keep file names, folder structures, and visibility settings in sync with an external system. The API exposes `/file/rename`, `/file/set_folder`, and `/file/set_property` to drive these mutations, plus `/folder/list` and `/file/list` for reconciliation. Because every endpoint is a GET with the API key as a query parameter, the workflow fits cleanly inside a scheduled batch job.

Example prompt: Call `/folder/list` to enumerate folders, then for each mismatched file call `/file/set_folder` with the file_code and target fld_id.

### Upload pipeline with server discovery

DDownload requires clients to call `/upload/server` first and post the binary to the returned host rather than to a fixed endpoint. After upload, `/file/info` confirms the file_code and size are correct. This pattern keeps uploads close to the user geographically but means an agent must always run the discovery step before sending bytes.

Example prompt: GET `/upload/server`, POST the file to the returned URL, then GET `/file/info`?file_code={code} to verify the upload succeeded.

### Batch existence and integrity checks

Distribution platforms that publish DDownload links at scale need to verify that referenced files still exist before serving them to end users. The `/file/check` endpoint accepts a list of file codes and returns existence status per code, and `/files/deleted` lists files removed in the recent window so a downstream catalogue can flag broken links and trigger re-uploads.

Example prompt: GET `/file/check`?file_code=code1,code2,code3 and flag any entry where status is not 'available' for re-upload.

### AI agent managing a hosted file library through Jentic

An agent assigned to keep a DDownload library tidy can search Jentic for 'rename a DDownload file' or 'list DDownload folders' and execute the matching operation without ever seeing the API key. Jentic injects the key as a query parameter and returns clean JSON, so the agent can stay focused on the file-organisation task rather than transport details.

Example prompt: Search Jentic for 'rename a DDownload file', load the `/file/rename` schema, supply file_code and the new name, and execute.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/account/info` | Get account info |
| GET | `/account/stats` | Get account statistics |
| GET | `/upload/server` | Discover the upload server URL |
| GET | `/file/list` | List files in the account |
| GET | `/file/check` | Batch-check file existence |
| GET | `/file/rename` | Rename a file by file_code |
| GET | `/folder/create` | Create a new folder |
| GET | `/folder/delete` | Delete a folder |

## Key resources

- **Account** — Account info and storage statistics
- **Upload** — Upload server discovery before posting a file
- **File** — Per-file inspect, rename, move, and property updates
- **Folder** — Folder create, rename, list, and delete operations

## Why Jentic

- **Setup:** Wiring the DDownload API by hand means learning its flat path convention where every action key rides as the 'key' query parameter across the account, file, and folder endpoints. Through Jentic you install once, import the DDownload API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** DDownload carries file and folder targets in the request parameters rather than as a resource id in the URL path, so limit the agent to the operations it needs, such as listing files or checking account stats. Because you pick the operations, destructive ones like folder deletion or file rename are not included unless you add them.
- **Credential handling:** Your DDownload API key is stored once, encrypted, by your own Jentic One instance and appended as the 'key' query parameter at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'rename a DDownload file' or 'list DDownload folders', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without learning DDownload's flat path conventions.

## Related APIs

- **Dropbox API** — Mature file-storage and sync platform with collaboration features and shared links.
- **Box API** — Enterprise content platform with governance, classification, and admin controls.
- **Filestack API** — File-upload pipeline with transformations and CDN delivery.

## FAQ

### Why is there no official OpenAPI spec for DDownload API?

DDownload does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call DDownload API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the DDownload API use?

DDownload uses a single API key passed as the query parameter named key on every request. Through Jentic the key is held in the encrypted vault and injected at execution time, so the raw key never enters the agent's prompt or response.

### Can I upload files directly with the DDownload API?

Not at the api-v2 base URL. The flow is two-step: GET `/upload/server` to discover the upload host, then POST your file to the returned URL. Confirm the result by calling `/file/info` with the returned file_code.

### What are the rate limits for the DDownload API?

The OpenAPI spec does not document explicit rate limits. Treat `/file/check` as the preferred way to verify many files in one call rather than calling `/file/info` per code, which keeps request volume predictable.

### How do I list all files in a DDownload folder through Jentic?

Run pip install jentic, search for 'list DDownload files in a folder', and Jentic returns the `/file/list` operation with its input schema. Load the operation, supply the fld_id of the folder, and execute. Jentic attaches the API key automatically.

### Can the DDownload API recover deleted files?

It can list them. `/files/deleted` returns recently removed files so you can identify candidates for re-upload, but the API itself does not undelete in place - you re-upload via `/upload/server` and then move the new file_code into the right folder with `/file/set_folder.`

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

Yes. Because Jentic One is self-hosted, you decide which DDownload operations your agent can call, so you can allow read-only actions like `/file/list` and `/account/stats` while excluding the rest. DDownload carries file and folder targets in the request parameters rather than in the URL path, so destructive operations such as `/folder/delete` and `/file/rename` are only reachable if you add them to the agent's allowed set. Your own rules govern both the operations and the API key the agent may use at execution time.
