Register for InstructureCon25 • Passes include access to all sessions, the expo hall, entertainment and networking events, meals, and extraterrestrial encounters.
Found this content helpful? Log in or sign up to leave a like!
Hi everyone,
I'm currently working on implementing content migrations using the Canvas API, specifically with migration_type=zip_file_importer
.
After uploading a .zip
file via the file upload flow (starting with POST /api/v1/folders/:folder_id/files
), I receive an upload_url
and upload_params
. I can successfully upload the file to that URL using multipart/form-data
.
However, to initiate the content migration, the API requires a pre_attachment
or valid file reference. I noticed that the upload flow internally redirects to:
/api/v1/files/:id/create_success?uuid=...
I tried calling this endpoint manually via curl
with the correct file ID and UUID, but I receive a 400 Bad Request
. It seems this endpoint is intended for internal use by the browser after upload.
My questions are:
Is /api/v1/files/:id/create_success?uuid=...
a supported or documented API endpoint?
If not, what is the official and recommended way to retrieve the uuid
or attachment
needed for the pre_attachment
when importing with zip_file_importer
?
Should we always fetch the uploaded file info using /api/v1/folders/:folder_id/files
or /api/v1/users/self/files
instead?
Any clarification or official guidance would be appreciated. Thanks!
I haven't tried uploading a zip for content migration myself, but I think the issue may be with querying progress.
Create_success is indeed a valid endpoint.
Did you follow the instructions in Content Migrations | Instructure Developer Documentation Portal?
Under "Create a content migration", "for file uploading", step 4 seems to suggest that querying progress may be required when using zip files, probably to wait until it finishes processing?
thank you for your help, i will
I'm not sure if this will affect what you're trying to do, but I wanted to mention it just in case since I see you're trying to retrieve the UUID...
On the Upcoming Canvas Changes page, they list the UUID field as being deprecated from the Files API response on 8/13/2025:
Change Type | Change | Description | Effective Date | Resource |
---|---|---|---|---|
Deprecation |
Removal of the UUID field from the File API |
The UUID field is removed from the FIle API response in efforts to streamline response payloads and minimize exposure of internal identifiers. |
2025-08-13 |
None |
Just wanted to mention it in case this might impact what you're working on here.
To interact with Panda Bot in the Instructure Community, you need to sign up or log in:
Sign In