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

# Filestack API

Jentic publishes the only available OpenAPI specification for Filestack API, keeping it validated and agent-ready. The Filestack API is a file-handling platform spanning upload (multipart and URL-based), metadata, transformations, and CDN delivery across five hostnames - the File API, Upload API, CDN, Processing API, and Cloud API. Authentication is by query-string API key, with optional security policy and signature parameters for signed URLs. Filestack is used by product teams that need to embed reliable upload widgets and on-the-fly image processing without operating their own ingestion pipeline.

## For AI agents

Upload, transform, and deliver files via Filestack's nine endpoints across upload, processing, and CDN hosts using a query-string API key.

## Scope

Does not handle persistent DAM cataloguing, video conferencing, or e-signature workflows - use for upload, transform, and delivery of files only.

## Capabilities

- Upload files via single-shot POST /store/{storeLocation} or chunked multipart endpoints
- Run on-the-fly image transformations via the processing host with chained transform tokens
- Fetch file binaries and metadata by handle for downstream rendering or analysis
- Generate signed URLs using Filestack security policies and HMAC-SHA256 signatures
- Delete a file by handle when content is retired from a product or campaign
- Initiate a multipart upload session for large files and resume on failure

## Use cases

### User-Generated Upload Widget Backend

Product teams that ship a file picker can hand uploads to Filestack via POST /store/{storeLocation} or the /multipart/* endpoints, returning a stable handle for the application to reference. Filestack absorbs the bandwidth spikes, virus-scans content, and exposes the file via its CDN, so the application does not need to run its own ingest tier.

Example prompt: On a large file upload, call POST /multipart/start, iterate POST /multipart/upload with each chunk, then commit and return the resulting handle to the calling application.

### On-The-Fly Image Optimisation

Marketing and e-commerce teams can have an agent call the processing host with a chained transform string (resize, crop, compress) so the same source image renders perfectly across hero, thumbnail, and email contexts. Filestack handles the rendering and CDN caching, removing the need to pre-generate every variant.

Example prompt: Construct a transform URL using GET /{apikey}/{transforms}/{handle} with resize=width:600,height:400 and return the optimised CDN URL.

### Signed URL Distribution

Teams handling sensitive documents can generate Filestack security policies (base64 JSON) and HMAC-SHA256 signatures, then share signed URLs that expire and restrict allowed operations. The agent assembles the policy plus signature query parameters and returns a tamper-evident URL the recipient can use without the underlying API key.

Example prompt: Build a JSON policy with expiry and allowed calls, base64 it, sign it with HMAC-SHA256, and return the policy and signature appended as query parameters to the file URL.

### AI Agent Filestack Integration via Jentic

An agent connected to Jentic can search by intent (for example transform an image to a thumbnail), receive the right Filestack operation across upload, processing, or CDN hosts, and execute without the API key entering its context. Integration drops from a multi-day Filestack SDK adoption to a single search-load-execute cycle.

Example prompt: Search Jentic for upload a file to filestack, load POST /store/{storeLocation}, and execute with the file payload while Jentic injects the API key.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /file/{handle} | Retrieve a stored file by handle |
| DELETE | /file/{handle} | Delete a stored file |
| GET | /file/{handle}/metadata | Read file metadata |
| POST | /store/{storeLocation} | Single-shot upload to a configured store |
| POST | /process | Run a processing task on a file |
| POST | /multipart/start | Start a multipart upload session |
| POST | /multipart/upload | Upload a chunk in an active multipart session |

## Key resources

- **File** — Read, delete, and inspect metadata for stored files by handle
- **Store** — Single-shot upload to a configured store location
- **Multipart** — Start, upload chunks, and commit large files
- **Process** — Run image and document transformations via the processing host

## Why Jentic

- **Setup:** Wiring the Filestack API by hand means passing the key, policy, and signature as query parameters, computing HMAC signatures, and switching between the upload, process, and CDN hosts yourself. Through Jentic you install once, import the Filestack API from the API Directory, store the key and signing secret once, and your agent calls it.
- **Permission scoping:** Filestack puts the file handle in the URL path (/file/{handle}, /file/{handle}/metadata), so a rule can pin your agent to the files you allow. You choose the operations it may call, so a destructive action like deleting a file is not included unless you add it to the upload and transform operations.
- **Credential handling:** Your Filestack API key, security policy, and signing secret are stored once, encrypted, by your own Jentic One instance and injected at execution time. The raw keys and HMAC secret never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'transform an image' or 'store an upload', and Jentic returns the matching Filestack operation across the upload, processing, and CDN hosts with its input schema, so the agent calls the right endpoint without reading the spec.

## Related APIs

- **Cloudinary Upload API** — Image and video media platform with deeper transformation graph
- **Filerobot DAM API** — DAM-first product where assets live in a managed library
- **Dropbox API** — Source files from Dropbox and ingest into Filestack for transformation

## FAQ

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

Filestack does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Filestack 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 Filestack API use?

Filestack authenticates with an API key sent as the key query parameter. For signed access, add a base64-encoded security policy and an HMAC-SHA256 signature as policy and signature query parameters. Through Jentic, the API key is stored in the vault and the agent never handles it directly.

### Can I upload a large video with the Filestack API?

Yes. Use the multipart flow: POST /multipart/start to open a session, POST /multipart/upload for each chunk, then commit. This lets you resume on failure and avoids hitting the single-shot upload size limit.

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

Filestack throttles per API key based on your plan tier rather than publishing a fixed RPS. The processing host applies separate quotas to transformations versus delivery. Agents should treat 429 responses as a signal to back off and retry.

### How do I transform an image with Filestack via Jentic?

Search Jentic for transform a filestack image, load the GET /{apikey}/{transforms}/{handle} operation, and execute with a transform string such as resize=width:600. Jentic injects the API key from the vault.

### Can I delete a file from Filestack programmatically?

Yes. Call DELETE /file/{handle} with the file handle, signed if your account requires it. The CDN cache is invalidated by Filestack as part of the deletion.

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

Yes. Jentic One runs self-hosted, so your own rules decide which Filestack operations and credentials the agent may use. Because Filestack puts the file handle in the URL path, such as /file/{handle} and /file/{handle}/metadata, you can pin the agent to the handles you allow and grant only the operations you intend, for example letting it call POST /store/{storeLocation} to upload and GET /file/{handle} to read while withholding DELETE /file/{handle}. The API key and signing secret stay with your instance and are injected at execution, so the agent can only exercise the scope you defined.
