Upload a new asset file to Frontify programmatically using the GraphQL `uploadFile` mutation flow
domain: developer.frontify.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Call the `uploadFile` GraphQL mutation (requires the `basic:write` scope) to create a temporary file upload and receive a temporary file ID plus presigned URL(s) for uploading binary data in parts
Upload the file's binary content directly to the returned presigned URL(s); for files under roughly 15MB this is a single part, while larger files are split into multiple parts up to a few GB each
Once all parts are uploaded, use the temporary file ID in a follow-up mutation to permanently attach it to a target type such as Asset, Attachment, or Revision
Note that the temporary file ID can only be redeemed once — plan the follow-up linking mutation to run immediately after upload completion rather than caching the ID for later reuse
Verify the resulting Asset/Attachment appears correctly in the target Frontify library or project via a follow-up query
Known gotchas
The temporary file ID from `uploadFile` is single-use — attempting to link it to more than one Asset/Attachment, or reusing it after it's already been consumed, will fail
Chunk sizing is computed dynamically when `chunkSize` is left null, so integrations shouldn't hardcode assumptions about part counts or sizes across different file sizes
The mutation requires the `basic:write` OAuth scope specifically — a token issued with only read scopes will be rejected even if the account otherwise has upload permission in the UI
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?