Files API
List and manage file uploads associated with your forms.
The Files API lets you list file uploads associated with your account. Files are created when respondents submit file upload questions or when you upload media (images, videos) in the form builder.
All response bodies use snake_case field names.
List Files
/api/v1/filesReturns a paginated list of file uploads for the authenticated user. Includes both builder media uploads (owned by the user) and respondent file uploads (associated with the user's forms).
Query Parameters
pageintegerPage number (default: 1)
per_pageintegerResults per page (default: 50)
Response Fields
idstringUnique file upload ID
blob_urlstringPublic URL for accessing the file
original_namestringOriginal filename as uploaded by the user
uuid_namestringUUID-based filename used in blob storage
sizeintegerFile size in bytes
content_typestringMIME type of the file (e.g., "image/png", "application/pdf")
form_idstring or nullThe form this file is associated with (for respondent uploads)
user_idstring or nullThe user who uploaded this file (for builder media). null for respondent uploads.
created_atstringISO 8601 upload timestamp
File Types
Files fall into two categories based on the user_id and form_id fields:
| Category | user_id | form_id | Description |
|---|---|---|---|
| Builder media | Set | null or set | Images, videos, or documents uploaded by you in the form builder (e.g., question images, logos) |
| Respondent uploads | null | Set | Files submitted by respondents through file upload questions |
Storage Limits
File storage is tracked per account. You can check your current usage via the User API. Storage limits vary by plan tier. When a form is deleted, associated respondent file uploads are cleaned up and storage is reclaimed asynchronously.
Response
{
"files": [
{
"id": "668a1b2c3d4e5f6a7b8c9d01",
"blob_url": "https://abcdef.public.blob.vercel-storage.com/uploads/a1b2c3d4.pdf",
"original_name": "project-proposal.pdf",
"uuid_name": "a1b2c3d4.pdf",
"size": 245760,
"content_type": "application/pdf",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"user_id": null,
"created_at": "2026-02-25T14:30:00.000Z"
},
{
"id": "668a1b2c3d4e5f6a7b8c9d02",
"blob_url": "https://abcdef.public.blob.vercel-storage.com/uploads/e5f6a7b8.png",
"original_name": "hero-banner.png",
"uuid_name": "e5f6a7b8.png",
"size": 1048576,
"content_type": "image/png",
"form_id": null,
"user_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-02-20T10:15:00.000Z"
}
],
"total": 38,
"page": 1,
"per_page": 50
}
Code Examples
curl -X GET "https://api.nueform.io/api/v1/files?page=1&per_page=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Error Responses
Standard error responses returned by this endpoint.
Error Codes
401UnauthorizedMissing or invalid API key
500Server ErrorInternal server error
Error Example
{
"error": "Unauthorized"
}