What are DataDoe Files?
Files are temporary utility files stored in your Organization's DataDoe storage. They let you upload binary content (such as images) and reference it later from Actions, automations, or AI agents through a stable file ID.
Each file belongs to:
- your Organization
- a specific Seller or Vendor connection
- a file group that defines allowed formats, default lifetime, and intended use
Files are not Amazon assets. They are staging objects inside DataDoe that other features (for example, Actions - Manage Images) use at execution time.
How to access Files
In the DataDoe app
Open Files (opens in a new tab) from the side menu. The page lists files for the active group tab and shows status, seller or vendor, size, and expiry.
Via MCP or REST API
Files are available through DataDoe MCP tools and the REST API. This is the recommended path for AI agents and custom integrations.
File groups
A file group defines what a file can be used for. Each group has its own allowed file types, default TTL, and validation rules.
| Group | Purpose | Allowed types | Max size | Default TTL |
|---|---|---|---|---|
LISTING_IMAGES | Images referenced by listing create/update Actions | PNG, JPG, TIFF | 32 MB | 12 hours |
APLUS_IMAGES | Images referenced by A+ Content Actions | PNG, JPG, TIFF | 32 MB | 12 hours |
More groups may be added over time. Always pass the correct group when creating a file.
Data row usage
Each uploaded file counts as 100 data rows toward your organization's data row usage for as long as it remains uploaded. Delete or let files expire when you no longer need them to free that usage. See Subscription & Pricing for how data rows affect your plan.
File lifecycle
Every file moves through these statuses:
WAITING_FOR_UPLOAD: the file record exists, but the content has not been uploaded yet.UPLOADED: the file content is stored and the file can be referenced by other features.EXPIRED: the TTL has elapsed and the file can no longer be used.
After a successful REST upload, status usually changes to UPLOADED within seconds. A background reconcile job also runs periodically as a safety net.
TTL (time to live)
When you create a file, you set how long it remains valid (ttlHours). If omitted, the group default is used (12 hours). Allowed range: 1 to 720 hours. In the DataDoe app upload form, common presets are 1 hour, 12 hours, 24 hours, 7 days, and 30 days.
Start any Action that references a file before it expires. Validation rejects expired files.
Scoping
A file is always tied to the Seller or Vendor you pass at creation time (sellerOrVendorId). When you reference a file from an Action, the Action's seller or vendor and connection must match the file.
How to upload a file
Upload options: Upload images via MCP, the REST API, or the DataDoe upload page (opens in a new tab). MCP uploads are limited to 500 KB per image to stay within the request-size limits of popular AI agents.
The upload flow has two steps:
- Create a file record and receive an upload target.
- Upload the binary content.
Using MCP
MCP combines both steps in one call. Pass the file bytes as base64 in contentBase64:
1{
2 "name": "main-product-photo.png",
3 "group": "LISTING_IMAGES",
4 "type": "PNG",
5 "sellerOrVendorId": "YOUR_SELLER_OR_VENDOR_ID",
6 "ttlHours": 12,
7 "contentBase64": "BASE64_ENCODED_IMAGE_BYTES"
8}Call the files_create tool. On success, the response includes file.id (UUID) and file.status = UPLOADED.
Other MCP tools:
| Tool | Purpose |
|---|---|
files_list | List files with filters and pagination |
files_get | Get metadata for one file by ID |
files_download_url_get | Get a one-time download URL for an uploaded file |
files_delete | Delete a file and its stored object |
Using the REST API
POST /api/v1/filesto create the file and receivefileanduploadUrl.PUTthe image bytes touploadUrl(presigned upload URL, valid for 30 minutes). Use the URL exactly as returned; do not add or change checksum headers.GET /api/v1/files/{fileId}to confirmstatusisUPLOADED. This usually succeeds within seconds after thePUTcompletes. You can poll this endpoint if needed.
Other API endpoints:
| Method | Endpoint | Purpose |
|---|---|---|
GET | /api/v1/files | List files |
GET | /api/v1/files/{fileId} | Get file metadata |
GET | /api/v1/files/{fileId}/download | Download uploaded file |
DELETE | /api/v1/files/{fileId} | Delete a file |
See the DataDoe API docs (opens in a new tab) for request and response schemas.
Common use cases
Listing image updates
Upload product images to the LISTING_IMAGES group, then reference file UUIDs from an AMAZON_LISTINGS_CREATE or AMAZON_LISTINGS_UPDATE Action.
For the full workflow (slots, replace vs remove, seller vs vendor rules, and examples), see Actions - Manage Images.
Limits and validation
- Maximum file size via MCP: 500 KB per image.
- Maximum file size via REST API and UI: 32 MB.
- File type must be allowed for the selected group (for
LISTING_IMAGESandAPLUS_IMAGES: PNG, JPG, or TIFF). - The seller or vendor must exist in your Organization and have a valid connection.
- Only
UPLOADED, non-expired files can be referenced by Actions. - Each uploaded file uses 100 data rows of storage usage.
Related documentation
- Actions for DataDoe Actions overview.
- Actions - Manage Images for setting listing images with
AMAZON_LISTINGS_CREATEandAMAZON_LISTINGS_UPDATE. - How to connect to the API for REST API setup.
- DataDoe MCP overview for connecting an AI agent to DataDoe.

