Skip to main content

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.

GroupPurposeAllowed typesMax sizeDefault TTL
LISTING_IMAGESImages referenced by listing create/update ActionsPNG, JPG, TIFF32 MB12 hours
APLUS_IMAGESImages referenced by A+ Content ActionsPNG, JPG, TIFF32 MB12 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:

  1. WAITING_FOR_UPLOAD: the file record exists, but the content has not been uploaded yet.
  2. UPLOADED: the file content is stored and the file can be referenced by other features.
  3. 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:

  1. Create a file record and receive an upload target.
  2. Upload the binary content.

Using MCP

MCP combines both steps in one call. Pass the file bytes as base64 in contentBase64:

json
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:

ToolPurpose
files_listList files with filters and pagination
files_getGet metadata for one file by ID
files_download_url_getGet a one-time download URL for an uploaded file
files_deleteDelete a file and its stored object

Using the REST API

  1. POST /api/v1/files to create the file and receive file and uploadUrl.
  2. PUT the image bytes to uploadUrl (presigned upload URL, valid for 30 minutes). Use the URL exactly as returned; do not add or change checksum headers.
  3. GET /api/v1/files/{fileId} to confirm status is UPLOADED. This usually succeeds within seconds after the PUT completes. You can poll this endpoint if needed.

Other API endpoints:

MethodEndpointPurpose
GET/api/v1/filesList files
GET/api/v1/files/{fileId}Get file metadata
GET/api/v1/files/{fileId}/downloadDownload 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_IMAGES and APLUS_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.