---
title: StagedUploadsCreatePayload - GraphQL Admin
description: Return type for `stagedUploadsCreate` mutation.
api_version: 2025-07
api_name: admin
type: payload
api_type: graphql
source_url:
html: https://shopify.dev/docs/api/admin-graphql/2025-07/payloads/stageduploadscreatepayload
md: https://shopify.dev/docs/api/admin-graphql/2025-07/payloads/stageduploadscreatepayload.md
---
# StagedUploadsCreatePayload
payload
Return type for `stagedUploadsCreate` mutation.
## Fields
* stagedTargets
[\[StagedMediaUploadTarget!\]](https://shopify.dev/docs/api/admin-graphql/2025-07/objects/StagedMediaUploadTarget)
The staged upload targets that were generated.
* userErrors
[\[UserError!\]!](https://shopify.dev/docs/api/admin-graphql/2025-07/objects/UserError)
non-null
The list of errors that occurred from executing the mutation.
***
## Mutations with this payload
* [stagedUploadsCreate](https://shopify.dev/docs/api/admin-graphql/2025-07/mutations/stagedUploadsCreate)
mutation
Creates staged upload targets for file uploads such as images, videos, and 3D models.
Use the `stagedUploadsCreate` mutation instead of direct file creation mutations when:
* **Uploading large files**: Files over a few MB benefit from staged uploads for better reliability
* **Uploading media files**: Videos, 3D models, and high-resolution images
* **Bulk importing**: CSV files, product catalogs, or other bulk data
* **Using external file sources**: When files are stored remotely and need to be transferred to Shopify
The `stagedUploadsCreate` mutation is the first step in Shopify's secure two-step upload process:
**Step 1: Create staged upload targets** (this mutation)
* Generate secure, temporary upload URLs for your files.
* Receive authentication parameters for the upload.
**Step 2: Upload files and create assets**
* Upload your files directly to the provided URLs using the authentication parameters.
* Use the returned `resourceUrl` as the `originalSource` in subsequent mutations like `fileCreate`.
This approach provides better performance for large files, handles network interruptions gracefully, and ensures secure file transfers to Shopify's storage infrastructure.
***
**Note:** File size is required when uploading \\\V\I\D\E\O\\\ or \\\M\O\D\E\L\\_3\D\\\ resources.
***
After creating staged upload targets, complete the process by:
1. **Uploading files**: Send your files to the returned [`url`](https://shopify.dev/docs/api/admin-graphql/latest/objects/StagedMediaUploadTarget#field-StagedMediaUploadTarget.fields.url) using the provided [`parameters`](https://shopify.dev/docs/api/admin-graphql/latest/objects/StagedMediaUploadTarget#field-StagedMediaUploadTarget.fields.parameters) for authentication
2. **Creating file assets**: Use the [`resourceUrl`](https://shopify.dev/docs/api/admin-graphql/latest/objects/StagedMediaUploadTarget#field-StagedMediaUploadTarget.fields.resourceUrl) as the `originalSource` in mutations such as:
* [`fileCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fileCreate): Creates file assets from staged uploads
* [`productUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productUpdate): Updates products with new media from staged uploads
Learn more about [uploading media to Shopify](https://shopify.dev/apps/online-store/media/products).
* input
[\[StagedUploadInput!\]!](https://shopify.dev/docs/api/admin-graphql/2025-07/input-objects/StagedUploadInput)
required
### Arguments
The information required to generate staged upload targets.
***
***
## Map
### Mutations with this payload
* [stagedUploadsCreate](https://shopify.dev/docs/api/admin-graphql/2025-07/types/stagedUploadsCreate)