Canva Developers Community - Latest posts https://community.canva.dev Latest posts 🎁 Unwrapping our 13th festive release: App Ownership Transfer Is Here! Does this support transferring ownership to an account that is not currently in the same Team in the future?

]]>
https://community.canva.dev/t/unwrapping-our-13th-festive-release-app-ownership-transfer-is-here/8476#post_2 Wed, 11 Mar 2026 04:53:10 +0000 community.canva.dev-post-13844
:trophy: Adoption Award Winners for February 2026! I just received a very well-structured notification from the “App Adoption Award”—unlike the previous emails that usually came from Ryan, Kristine, or Matty at the end of each month. This time it arrived only a few days after reaching the milestone, so I’m guessing this flow might still be improving, which could mean the program is likely still running. :sweat_smile::sweat_smile:

Anyway, that’s just my speculation. We’ll still have to wait for the “App Adoption Award in early April.”

]]>
https://community.canva.dev/t/adoption-award-winners-for-february-2026/8590#post_4 Mon, 09 Mar 2026 07:09:27 +0000 community.canva.dev-post-13832
Introducing the Content Publisher Intent (BETA) — A New Era for Publishing in Canva On the subject of the output size, it makes all the sense, but the problem is that it is not an optional parameter and only accepts a single value. Therefore, if our app supports all sizes and aspect ratios, we have to choose between fixing a single size on our side or adding complexity for the user by having them choose a value that we could already know from the design / PDF itself. Am I missing something?

On the other hand, with the design editor intent, the user can choose to flatten or even compress the PDF, which is really helpful in some specific cases. Is there a way for us to obtain the flattened PDF via the content publisher intent?

Thank you!

]]>
https://community.canva.dev/t/introducing-the-content-publisher-intent-beta-a-new-era-for-publishing-in-canva/8409#post_17 Thu, 05 Mar 2026 19:13:59 +0000 community.canva.dev-post-13821
:trophy: Adoption Award Winners for February 2026! Thanks for your question :slight_smile:

We’ll be sharing more details about the future of the App Adoption Award in early April. Stay tuned!

]]>
https://community.canva.dev/t/adoption-award-winners-for-february-2026/8590#post_3 Thu, 05 Mar 2026 00:40:17 +0000 community.canva.dev-post-13816
:trophy: Adoption Award Winners for February 2026! Will the App Adoption Award be extended to next year?

]]>
https://community.canva.dev/t/adoption-award-winners-for-february-2026/8590#post_2 Wed, 04 Mar 2026 15:00:30 +0000 community.canva.dev-post-13813
🎉 Announcing General Availability of Content Publisher Intent! Thanks @meredith here is the story

We submitted the app with 2 mediaSlots, one using an ExactValueRange, { fileCount: { exact: 1 } }, and the other using a MaxValueRange, { fileCount: { max: 1 } } because we wanted the second mediaSlot to be optional. This was all working fine during dev/testing and production submission version, at the time of submission. Some time after, we started getting an error in the console that said “Error: Single page selection must exist”. This error seemed to be thrown from the second mediaSlot using the MaxValueRange as it now supposedly expects at least one image to be added, as the app worked fine again when tested with commenting out that mediaSlot or switching it to a MinMaxValueRange.

]]>
https://community.canva.dev/t/announcing-general-availability-of-content-publisher-intent/8556#post_6 Wed, 04 Mar 2026 01:06:34 +0000 community.canva.dev-post-13809
🎉 Announcing General Availability of Content Publisher Intent! Hi @Tom ,
Publish Extension migration submissions are getting priority in the review queue as we know the deadline is approaching. You will not be sent to the back of the queue if you resubmit.

There weren’t any releases for the content publisher intent over the last week or so. Do you mind sharing what you had to change so we can investigate?

Thanks!

]]>
https://community.canva.dev/t/announcing-general-availability-of-content-publisher-intent/8556#post_5 Tue, 03 Mar 2026 17:41:48 +0000 community.canva.dev-post-13808
🎉 Announcing General Availability of Content Publisher Intent! @Ofir_Zeevi @meredith

Hi, we submitted a new version of our app (APPS-38166) last week and it includes the Publish Intent. It was all verified and working as of the submission date.

Now we find we are getting error “Error: Single page selection must exist“.

Question: Did anything in the SDK change?

Anyway know how to fix this and have made the change, but we will need to cancel our “in review” APPS-38166 submission and probably be sent to the back of the queue. We are trying to get this update approved before our publish extension is removed.

Thanks

Tom

]]>
https://community.canva.dev/t/announcing-general-availability-of-content-publisher-intent/8556#post_4 Tue, 03 Mar 2026 01:30:31 +0000 community.canva.dev-post-13804
:trophy: Adoption Award Winners for February 2026! Congratulations to our winners for February 2026!

The following apps will be receiving rewards from our App Adoption Awards program:

Check them out and show some love to the developers! :rocket:

Happy coding,
Matty

]]>
https://community.canva.dev/t/adoption-award-winners-for-february-2026/8590#post_1 Tue, 03 Mar 2026 00:46:12 +0000 community.canva.dev-post-13803
🎉 Announcing General Availability of Content Publisher Intent! hi @coral - apologies, content extensions developers accidentally got included in those communications. This deprecation only applies to Publish extensions. You can find your extensions in your developer portal. Publish extensions are anything that use at least one of the /publish/xxx endpoints in the old extensions documentation.

]]>
https://community.canva.dev/t/announcing-general-availability-of-content-publisher-intent/8556#post_3 Tue, 24 Feb 2026 00:22:35 +0000 community.canva.dev-post-13791
🎉 Announcing General Availability of Content Publisher Intent! Hi, I got an email reminder titled - ‘Final reminder - Update your Publish Extension‘. However, I don’t think I have any Publish Extension currently live on Canva. How can I check?

I only have a Content Extension that is live on Canva app store. Thanks!

]]>
https://community.canva.dev/t/announcing-general-availability-of-content-publisher-intent/8556#post_2 Mon, 23 Feb 2026 18:50:05 +0000 community.canva.dev-post-13790
Announcing the general availability of the bulkCreate and publish APIs 🚀 We’re excited to announce that the bulkCreate and publish APIs are now available to all developers on the Canva developer platform. This unlocks new ways to integrate your apps more deeply into Canva experiences :sparkles:

During beta, these APIs enabled you to launch the Content Publisher and Bulk Create Data Connector intent experiences directly from your apps. With general availability, the APIs are now stable and ready for public app release in the Canva Apps SDK.

In line with our deprecation policy, we’ll maintain this API version for the next six months while continuing to make improvements. Feedback remains welcome :speech_balloon:

Find out more about these APIs and get started:

We’re ready when you are. Finalize your apps and submit them for review — we can’t wait to see what you build :puzzle_piece:

The Canva Team

]]>
https://community.canva.dev/t/announcing-the-general-availability-of-the-bulkcreate-and-publish-apis/8561#post_1 Fri, 06 Feb 2026 04:48:02 +0000 community.canva.dev-post-13722
:trophy: Adoption Award Winners for December! Just posted! (congratulations :wink: ) @kevyn

]]>
https://community.canva.dev/t/adoption-award-winners-for-december/8505#post_3 Mon, 02 Feb 2026 22:15:28 +0000 community.canva.dev-post-13716
:trophy: Adoption Award Winners for January! Congratulations to our winners for January 2026! :tada:

The following apps will be receiving rewards from our App Adoption Awards program :money_with_wings::

  • Codia AI Design

  • Watermark Maker

  • Type Curve

  • Image Mixer

To try out each of the winning Apps, head to the Canva Apps Marketplace :cowboy_hat_face:

Happy coding,
Matty

]]>
https://community.canva.dev/t/adoption-award-winners-for-january/8557#post_1 Mon, 02 Feb 2026 22:14:32 +0000 community.canva.dev-post-13715
:trophy: Adoption Award Winners for December! Will the winners for January 2026 be announced soon?

]]>
https://community.canva.dev/t/adoption-award-winners-for-december/8505#post_2 Mon, 02 Feb 2026 07:59:16 +0000 community.canva.dev-post-13714
🎉 Announcing General Availability of Content Publisher Intent! We’re excited to share that the Content Publisher Intent is now generally available across the Canva developer platform. This marks a major milestone in how developers can build rich publish experiences directly within Canva.

With the beta launch, we introduced the ability to experiment with the intent to publish content, provide previews, and configure platform-specific publish settings natively in the Share menu and other surfaces. With GA, you now have a stable, supported way to bring seamless publishing workflows to your apps, backed by production-ready tooling.

:sparkles: What GA Means for You

  • The intent is now stable and ready for public app release in the Canva Apps SDK (no longer limited to beta usage). As per our deprecation policy we commit to maintaining this version of the API for the next 6 months as we continue to add improvements. Feedback remains welcome!
  • Users can publish designs directly from Canva to your platform with accurate previews and platform-specific options like captions and tags.
  • You’ll benefit from integrated discoverability where users are ready to share - from the Editor’s Share menu and other surfaces as support is added.

:light_bulb: Next Steps

If you haven’t yet explored the intent, explore our key resources to begin your journey:

If you started development during the beta, now is a great time to finalise your integration, submit your app for review, and launch a publish experience to your users!

Thank you to everyone who provided feedback during the beta period. We’re thrilled to see what you build next!

The Canva Team :light_blue_heart:

]]>
https://community.canva.dev/t/announcing-general-availability-of-content-publisher-intent/8556#post_1 Fri, 30 Jan 2026 06:14:18 +0000 community.canva.dev-post-13711
NEW: App Compatibility Toggle This is working for us now. Thanks!

]]>
https://community.canva.dev/t/new-app-compatibility-toggle/8542#post_3 Wed, 28 Jan 2026 16:12:49 +0000 community.canva.dev-post-13705
NEW: App Compatibility Toggle This is great, thanks for releasing this! When we went to submit our existing app with this toggle turned on, we got an immediate rejection during the submission process about not having a unique name, though we didn’t change the name. Is this a bug in the submission process?

]]>
https://community.canva.dev/t/new-app-compatibility-toggle/8542#post_2 Fri, 23 Jan 2026 14:52:33 +0000 community.canva.dev-post-13684
Known Issue - App Creation Currently Affected Hi everyone,

The app creation issue has now been resolved and you should be able to create new apps without any problems.

Action required: If you created an app after 2026-01-21 00:00:00 UTC, you’ll need to recreate it. We’re very sorry for the inconvenience this causes.

There would be a notification in your app detail page if your app is impacted.

To recreate your app:

  • Go to the Your apps tab in the developer portal

  • Select the Create an app button

  • Copy the affected app’s configuration across to the new app

  • [Optional: Delete the old app once you’ve confirmed the new one is working]

Again, we apologise for the disruption to your workflow. If you have any questions or issues, please let us know.

]]>
https://community.canva.dev/t/known-issue-app-creation-currently-affected/8543#post_2 Fri, 23 Jan 2026 11:01:34 +0000 community.canva.dev-post-13682
📣 Update: More Localized Messages Hi @Tom

Thanks for confirming with us! That is correct, we have recently updated our documentation that now localization for apps is mandatory.

For dynamic text returned from an API, please refer to this guideline. Keen to understand further your specific usecase though if you don’t mind sharing (if the guideline is insufficient)!

]]>
https://community.canva.dev/t/update-more-localized-messages/8529#post_3 Fri, 23 Jan 2026 02:25:20 +0000 community.canva.dev-post-13680
Known Issue - App Creation Currently Affected Hi everyone,

We’re aware of an issue currently affecting app creation. This only impacts apps created after 2026-01-21 00:00:00 UTC, preventing developers from testing these apps locally.

Workaround: Please use Firefox as your browser for now, which should allow you to continue testing.

We’re actively working on a fix and will share more details about the specific issue shortly.

Thanks for your patience, and apologies for the disruption to your workflow.

]]>
https://community.canva.dev/t/known-issue-app-creation-currently-affected/8543#post_1 Fri, 23 Jan 2026 01:14:13 +0000 community.canva.dev-post-13679
NEW: App Compatibility Toggle :tada: New feature alert! The Developer Portal now has an :sparkles: App compatibility :sparkles: toggle!

Enable it to surface your app on responsive designs like Canva docs :page_facing_up: and Canva email :e_mail: — helping you reach even more users across different design formats! :rocket:

Before you flip the switch: make sure your app is ready by checking out the Feature Support guide on how to make your app compatible, as well as the Design Types guide to understand different design formats.

Once you’re all set, head to Developer Portal → Your App → Compatibility Tab → App compatibility to enable the app compatibility toggle.

Questions? Let us know — we’re here to help! :speech_balloon:

]]>
https://community.canva.dev/t/new-app-compatibility-toggle/8542#post_1 Thu, 22 Jan 2026 23:17:54 +0000 community.canva.dev-post-13678
New `@canva/app-middleware` package! Hey Canva developers,

A little overdue, but in an effort to improve our Developer Experience, we’re packaging up as much of our SDK functionality as possible, to allow for easy updates and better version control. So, we’re excited to announce that @canva/app-middleware is now available on npm! This preview SDK makes it super easy to verify JWT tokens in your Node.js backend services, and replaces jwt_middleware and design_token modules that were previously included in the Apps SDK Starter Kit.

What does it do?

If you’re building apps with Canva, you need to verify tokens to authenticate users and access design context. We’ve built a comprehensive SDK that handles:

Feature highlight

Express.js middleware - Drop-in middleware for Express apps that automatically verifies tokens and adds decoded payloads to your requests

import { user } from "@canva/app-middleware/express";

app.post(
  "/api/user/profile",
  user.verifyToken({ appId: "your-app-id" }),
  (req, res) => {
    const userId = req.canva.user.userId!;
    // Your code here
  }
);

Framework primitives - Core verification functions work anywhere - Next.js, AWS Lambda, Cloudflare Workers, Fastify, Hono, or any Node.js environment

import { initUserTokenVerifier } from "@canva/app-middleware";

const verifier = initUserTokenVerifier({ appId: "your-app-id" });
const payload = await verifier.verifyToken(token);

Token extraction utils - Built-in support for Authorization headers, query strings, cookies, or build your own custom extractor

This is a preview

We’re releasing this as a preview to get your feedback early. Try it out, kick the tires, and let us know what you think. What works well? What’s missing? What’s confusing? Your input will help shape the final release.

Get started

Install from npm:

npm install @canva/app-middleware@latest

Check out the docs:

npm package:

We’d love to hear your feedback, so please do not hesitate to reach out with any questions.

Cheers
Anto

]]>
https://community.canva.dev/t/new-canva-app-middleware-package/8540#post_1 Thu, 22 Jan 2026 06:50:56 +0000 community.canva.dev-post-13674
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Hi Liu, confirming as of today the temporary fix Gordon mentioned (for apps not using typescript or passing incorrect values) is out.

All apps should be working again, regardless of whether the new versions have been launched. Glad to hear you’ve managed to submit the fixes as well!

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_13 Tue, 20 Jan 2026 01:53:39 +0000 community.canva.dev-post-13663
📣 Update: More Localized Messages @jes Questions on localization

Is localization now compulsory?

Noticed that there’s now an alert in the developer portal that says translation is required and to upload your app’s UI strings before submitting.

The docs still suggest that localization is optional and its currently not a required action in the App status section of the portal.

Our app also has dynamic text thats returned from an API, if it is compulsory, would this also be expected to be translated?

]]>
https://community.canva.dev/t/update-more-localized-messages/8529#post_2 Fri, 16 Jan 2026 07:01:14 +0000 community.canva.dev-post-13660
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Hi @liu, thanks for your quick response.

I have already corrected and submitted the updated version for review.

To help our team quickly review the correct app, could you please supply your app ID? We will look to expedite the fix. Thanks in advance.

However, I have a clarification question: Will incorrect values (like aiDisclosure: ‘ai’) be handled as part of this merge plan? I have several applications currently passing aiDisclosure: ‘ai’ instead of the correct enum values.:sob:

As a once off, we plan to disable runtime validation for released app versions for a short period time including allowing incorrect values as a grace period. However new app versions should use the correct values (either none or app_generated) and may throw errors otherwise.

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_12 Fri, 16 Jan 2026 03:23:19 +0000 community.canva.dev-post-13649
🎁 Unwrapping our final festive release: Upcoming change for export-only apps via Content Publisher intent Hey are there any plans on having a richer page selector exposed via the Content Publisher intent? The one used here for Google Drive is more flexible than the one currently available:

]]>
https://community.canva.dev/t/unwrapping-our-final-festive-release-upcoming-change-for-export-only-apps-via-content-publisher-intent/8478#post_2 Fri, 16 Jan 2026 00:53:46 +0000 community.canva.dev-post-13646
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Hi John,

Thank you and your team for your prompt response and action! We greatly appreciate your quick investigation and decision to temporarily reinstate runtime validation.

I will immediately work with my team to update the code correctly and add the aiDisclosure field in all relevant locations. We will also stop using any shortcuts and more strictly adhere to TypeScript type definitions—a great lesson learned! :blush:

I have already corrected and submitted the updated version for review.

However, I have a clarification question: Will incorrect values (like aiDisclosure: ‘ai’) be handled as part of this merge plan? I have several applications currently passing aiDisclosure: ‘ai’ instead of the correct enum values.:sob:

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_11 Fri, 16 Jan 2026 00:16:01 +0000 community.canva.dev-post-13643
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Update: The fix is merged, any apps not sending this field should work again by tuesday.

We’ll work on a smooth transition for anyone else not using the types before reapplying the validation

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_10 Thu, 15 Jan 2026 23:53:59 +0000 community.canva.dev-post-13642
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Thanks for the thoughtful suggestions. Rest assured what you experienced was not intentional, our process will not cause working behaviour to become errors with no warning when all goes well, this was unintentional.

Glad to hear you’ll be adding the field. Great idea to switch to using TypeScript more fully, it will make things easier in the long run for you I’m sure!

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_9 Thu, 15 Jan 2026 23:09:38 +0000 community.canva.dev-post-13641
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Hi John,

Thank you so much for the quick response and action! Really appreciate your team’s swift investigation and decision to revert the runtime validation temporarily.

I will immediately work with my team to update our code properly and add the aiDisclosure field to all relevant places. We’ll also remove those as any shortcuts and follow TypeScript types more strictly - lesson learned! :sweat_smile:

A suggestion for future rollouts:
I noticed many other apps seem to have the same issue. For similar breaking changes in the future, perhaps consider a progressive enforcement approach:

Phase 1: Warning logs (developers get alerted but apps still work)
Phase 2: Grace period with countdown notifications
Phase 3: Full enforcement
This would give developers time to react while maintaining platform stability.

Thanks again for your understanding and for working with the developer community. Your responsiveness really helps us maintain quality apps for Canva users.

Best regards,
Liu

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_8 Thu, 15 Jan 2026 08:29:47 +0000 community.canva.dev-post-13639
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Thanks for clarifying Liu.

In addition to our docs which mentioned the field, the typescript types are also a mechanism of ensuring that you are aware of the correct usage of our API. We apologise that we didn’t also have runtime validation for V2 earlier.

Our plan is to revert the runtime validation for the time being but I recommend disclosing as soon as possible, it’s been 15 months since we announced it. Let me know if you have any trouble!

Thanks again for your report and swift responses, this aided us in getting to the bottom of the problem.

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_7 Thu, 15 Jan 2026 08:15:15 +0000 community.canva.dev-post-13638
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Yes, I’m 100% sure. I initially used v2

TypeScript, but I lazily used as any. ai image editor ,ai-age-filter … I hope you can set this parameter a bit more broadly first.

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_6 Thu, 15 Jan 2026 08:06:47 +0000 community.canva.dev-post-13637
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Thanks for the reply, we are actively investigating could you please confirm:

  1. What are the name of the apps you have seen that are broken (including yours)? This will help us reproduce to aid our investigations
  2. What exact error message or behaviour are you seeing? Description, screenshots & copy paste would be very helpful
  3. Are you using typescript?
  4. Are you certain your version of asset from npm is also v2?
]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_5 Thu, 15 Jan 2026 07:52:59 +0000 community.canva.dev-post-13636
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Hi,

Thanks for the clarification.

Actually, I upgraded to V2 quite early - in fact, my first version was already built on V2. However, the issue is about the enforcement timeline, not the field introduction itself.

What I observed:

  • Previously (until 2 days ago): passing aiDisclosure: 'ai' worked fine, and omitting it also worked

  • Since 2 days ago: suddenly it became strictly enforced, causing runtime errors

  • This affected both my production app and other apps I’ve seen

My concern:
While I understand the 15-month notice period for the field’s introduction, the strict enforcement appears to have been enabled very recently without a clear transition period or warning. This is different from just adding a new field.

Impact:

  • My production app is now broken

  • I’ve noticed other developers’ apps experiencing similar issues

  • Users are affected immediately

Suggestion:
I recommend implementing a proper transition strategy, such as:

  • A grace period with warnings before strict enforcement

  • Clear communication about enforcement timeline (not just field availability)

  • Perhaps defaulting to ‘none’ temporarily with deprecation warnings

Could you confirm when the strict enforcement was enabled? This would help us understand the actual timeline we had to adapt.

Thanks for your understanding.

Best regards,
Liu

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_4 Thu, 15 Jan 2026 07:46:59 +0000 community.canva.dev-post-13635
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Hi @liu thanks for raising your concern. At Canva we greatly emphasise backwards compatibility for the benefit of developers and users so that Apps can have long lives with minimal maintenance and users can have certainty in their experiences of the platform.

The aiDisclosure field was added as a new required field part of the V2 release of the Canva Apps SDK in September 2024. Developers have had over 15 months to upgrade. It was a major release, though not a breaking change to existing apps.

Could you explain what behaviour you are seeing? Is it just the types that are failing or a runtime error? If it’s a error while using the app, it appears that you’ve uncovered a bug where the field is expected even for apps on v1 of the Apps SDK.

We needed to make the field required rather than default to ‘none’ to ensure no content is incorrectly undisclosed AI due to omission.

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_3 Thu, 15 Jan 2026 06:57:11 +0000 community.canva.dev-post-13633
📣 Update: More Localized Messages We’re delighted to see the continued growth and positive response to Canva Apps localization since we increased the limit earlier this year.

Based on your ongoing feedback and evolving needs, we’re excited to announce that the limit for localised messages per App has been increased to 500!

Thank you for continuing to make Canva accessible to users around the world.

]]>
https://community.canva.dev/t/update-more-localized-messages/8529#post_1 Thu, 15 Jan 2026 04:51:35 +0000 community.canva.dev-post-13631
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Including evidence I found in other posts regarding this key being optional

Please ignore it, even if the application passes an incorrect value or no value at all. key:aiDisclosure

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_2 Thu, 15 Jan 2026 04:47:54 +0000 community.canva.dev-post-13630
Urgent: `aiDisclosure` Breaking Change Causing Upload Failures - Request for Backward Compatibility Dear Canva Developer Platform Team, I'm writing to report a **critical breaking change** in the `@canva/asset` upload API that has been affecting many existing apps since approximately **January 13-14, 2026**. --- ## 🔴 Issue Summary The `aiDisclosure` parameter in the `upload()` function appears to have become **mandatory** without prior deprecation notice. This change has caused widespread failures for users attempting to: - Add assets to designs - Upload to media library **Affected API:** ```typescript import { upload } from "@canva/asset"; await upload({ type: "image", url: "https://example.com/image.jpg", mimeType: "image/jpeg", thumbnailUrl: "https://example.com/thumb.jpg", aiDisclosure: "none" // ← Previously optional, now required });

:clipboard: Request

To maintain backward compatibility and minimize disruption to the Canva app ecosystem, we kindly request:

  1. Default fallback behavior: If

    aiDisclosure

    is missing or invalid, default to

    "none"

    (matching previous behavior)

  2. Graceful deprecation: Instead of hard failures, show a console warning to guide developers:

    ⚠️ Warning: 'aiDisclosure' will be required in a future version.
    Please update your integration. Defaulting to 'none'.
    See: https://www.canva.dev/docs/apps/asset-upload

  3. Advance notice: Provide a reasonable migration window (e.g., 30-60 days) before enforcing mandatory parameters


:light_bulb: Why This Matters

  • Many production apps are now broken without any code changes on our end

  • Users are experiencing failures with no clear error messaging

  • This undermines trust in the stability of the Canva platform APIs


:white_check_mark: Our Commitment

We fully understand and support the importance of AI disclosure for transparency. We are committed to updating our integration to comply with this requirement. We simply ask for a graceful transition period to:

  • Protect existing users from unexpected failures

  • Give developers adequate time to update their code

  • Maintain the stability of the Canva app ecosystem

]]>
https://community.canva.dev/t/urgent-aidisclosure-breaking-change-causing-upload-failures-request-for-backward-compatibility/8528#post_1 Thu, 15 Jan 2026 04:32:20 +0000 community.canva.dev-post-13629
:trophy: Adoption Award Winners for December! Congratulations to our winners for December 2025! :tada:

The following apps will be receiving rewards from our App Adoption Awards program :money_with_wings::

  • Frames Lab

  • Vector Studio

  • Calendar Builder

To try out each of the winning Apps, head to the Canva Apps Marketplace :cowboy_hat_face:

Happy coding,
Matty

]]>
https://community.canva.dev/t/adoption-award-winners-for-december/8505#post_1 Mon, 29 Dec 2025 22:12:55 +0000 community.canva.dev-post-13581
Introducing the Content Publisher Intent (BETA) — A New Era for Publishing in Canva Hey @ottetz, happy to jump in and clarify a few things.

On the design name, we’re actively discussing this internally since getDesignMetadata no longer provides it. We’ll share an update once there’s a clear direction on whether it will be included in contentMetadata.

For the need to specify a size when exporting with the Content Publisher intent, this is part of creating a more predictable experience for developers. By explicitly defining the output size, you avoid any guesswork around dimensions and ensure the export is optimized for your platform. The goal is to make publishing more consistent and seamless.

Let me know if you have any other questions.

Cheers!

]]>
https://community.canva.dev/t/introducing-the-content-publisher-intent-beta-a-new-era-for-publishing-in-canva/8409#post_16 Tue, 16 Dec 2025 05:31:37 +0000 community.canva.dev-post-13543
🎁 Unwrapping our 10th festive release: Introducing Message Preferences for Developer Notifications Hi @ruacon , if you can DM me your app name and app ID for this. It would be great! Thanks.

so does that mean I need to enter an email for each product?

Yes, for now, you’d need to enter an email for each product.

]]>
https://community.canva.dev/t/unwrapping-our-10th-festive-release-introducing-message-preferences-for-developer-notifications/8465#post_3 Mon, 15 Dec 2025 02:37:46 +0000 community.canva.dev-post-13538
Introducing the Content Publisher Intent (BETA) — A New Era for Publishing in Canva Thank you for the quick response and for making the changes — we really appreciate it!

Until recently, we could retrieve the design title via getDesignMetadata(), but that no longer seems to be possible. Are you planning to include the design name in contentMetadata?

Also, for regular apps we can export pdf_standard without specifying a size, but that doesn’t work with the Content Publisher intent. Is there a recommended workaround for this?

]]>
https://community.canva.dev/t/introducing-the-content-publisher-intent-beta-a-new-era-for-publishing-in-canva/8409#post_15 Fri, 12 Dec 2025 20:30:46 +0000 community.canva.dev-post-13528
🎁 Wrapping Up Devcember with some Intent-ions for the New Year As the final Devcember ribbons settle, we’re taking a moment to look back at everything that’s been unwrapped this season. From workflow-boosting updates to shiny new API capabilities, the elves have been busy making sure every developer leaves with at least a little extra magic in their toolkit. But as fun as these gifts were, they were really leading to something bigger.

:sparkles: The Intents Platform is coming.

A new foundation for building richer, smarter, more seamless experiences directly inside Canva — a place where apps can understand what users are trying to do and step in naturally, instantly, and delightfully.

For indie builders and platform veterans alike, this is the moment to:

  • Start dreaming up new apps built natively for Intents

  • Prepare existing apps to migrate and unlock deeper, more contextual interactions

And to help make that journey smoother for everyone, the foundation has already shifted in your favor:
:sparkles: Our intent-first docs, CLI, and starter kit now give you a clearer, more intuitive path to building intent-driven apps from the very start — reducing friction and helping you move faster with confidence.
:sparkles: The upgraded Developer Portal makes it easier than ever to develop, test, and validate intents, so you can iterate quickly and see exactly how your app behaves in real user flows.

Thank you for celebrating Devcember with us. As we say at Canva, we’re only 1% of the way there — and this next chapter for the Developers Platform is just the beginning. We’re excited to continue this journey with all of you.

Onward to the Intents Platform! :rocket:

]]>
https://community.canva.dev/t/wrapping-up-devcember-with-some-intent-ions-for-the-new-year/8479#post_1 Fri, 12 Dec 2025 00:32:09 +0000 community.canva.dev-post-13526
🎁 Unwrapping our final festive release: Upcoming change for export-only apps via Content Publisher intent We are relaxing our restriction on export only apps for a specific surface in Canva. Export-only experiences will be allowed when an app integrates via the Content Publisher intent, while the Design Editor left panel will remain focused on creation tools. An update to the Developer Terms and policy docs will follow shortly.

In short

  • Publishing surfaces - export-only is allowed :tada: You can start building a Content Publisher intent experience now, and release to the marketplace early next year when the API moves into GA.
  • Design surfaces - export on its own is not allowed (no change from today)

What is changing

  • Content Publisher intent
    • Apps in the Share menu that use Content Publisher intent can now be export-only.
    • They must still meet all Content Publisher intent contracts, UX expectations, and App Review requirements.
  • Design Editor intent
    • Apps in the left hand panel cannot be export-only.
    • They must provide meaningful design functionality, with export as an optional part of that flow.

What you should do

  • If you are planning an export-only integration, design it for the Content Publisher intent in the Share menu.
  • If your Design Editor app is effectively export only, start planning a move to Content Publisher intent or adding real design functionality. Intents are designed to work together within a single app, so you can use the Content Publisher intent seamlessly with the Design Editor intent - even with shared authentication.
  • Watch for a formal update in the Developer Terms and policy pages soon - that will be the version App Review uses.

:christmas_tree: We are excited to unlock more powerful publishing integrations while keeping the Canva editor focused on helping everyone design.

]]>
https://community.canva.dev/t/unwrapping-our-final-festive-release-upcoming-change-for-export-only-apps-via-content-publisher-intent/8478#post_1 Fri, 12 Dec 2025 00:26:56 +0000 community.canva.dev-post-13525
🎁 Unwrapping our 14th & 15th festive release: Multi-Account & Multi-Provider OAuth Arrive in Developer Preview! ’Twas the middle of Devcember when the dev-elves gathered ’round,

Awaiting new powers soon to be found… :musical_notes:

Today, two sparkling gifts land beneath the developer tree — both now available in Developer Preview via the @canva/[email protected] package:

:wrapped_gift: Multi-Account OAuth

:wrapped_gift: Multi-Provider OAuth

Together, they unlock the most flexible authentication flows ever released for Canva apps. Let the festivities begin!

:wrapped_gift: Multi-Account OAuth (Developer Preview)

Apps can now let users connect multiple accounts from the same provider — ideal for DAM tenants, multiple cloud drives, social profiles, or any integration where users switch identities.

With Multi-Account OAuth, developers can:

  • :busts_in_silhouette: Link multiple accounts from a single provider

  • :compass: Fetch accounts with displayName, principal, avatar, and connection status

  • :locked_with_key: Use account-specific getAccessToken() to call external APIs

  • :repeat_button: Refresh accounts or request re-authorization as needed

See the sample code in the docs

:wrapped_gift: Multi-Provider OAuth (Developer Preview)

Alongside multi-account support, apps can now register multiple OAuth providers at once — all inside the same Canva app.

This means users can connect:

  • Google and Dropbox

  • Meta and Bynder

  • Multiple DAMs, CRMs, clouds — whatever your app supports

Apps can now:

  • Register multiple providers in the app manifest

  • Initialize OAuth per provider

  • Combine multi-provider + multi-account for ultimate flexibility

See the sample code in the docs

Both of these new capabilities—multi-account and multi-provider—are available now in Developer Preview, bundled inside: @canva/[email protected]

Find the full guide and API reference here:

To see everything we’ve launched so far, check out the Developer Christmas 2025 thread.

Happy Devcember! :sparkles:

]]>
https://community.canva.dev/t/unwrapping-our-14th-15th-festive-release-multi-account-multi-provider-oauth-arrive-in-developer-preview/8477#post_1 Fri, 12 Dec 2025 00:21:08 +0000 community.canva.dev-post-13524
🎁 Unwrapping our 13th festive release: App Ownership Transfer Is Here! You asked for even more flexibility — and the elves have delivered again. Following the release of Multiplayer App Development, we’re excited to introduce a feature many teams have been eagerly waiting for: App Ownership Transfer. :wrapped_gift:

Teams evolve, responsibilities shift, and now your app can shift right along with them.

App Owners can now transfer ownership to another collaborator directly in the Developer Portal. When ownership is transferred, the previous owner becomes a Manager, keeping visibility and collaborator controls without the full-owner responsibilities.

Here’s how access levels work today:
:alien_monster: Members – Can edit fields, preview the app, and submit for review
:puzzle_piece: Managers – Everything a Member can do, plus manage collaborators
:magic_wand: Owners – Full control, including deleting apps and now transferring ownership

Where to find it:
Developer Portal → Your App → Collaborators Tab → Role → Owner → Transfer Ownership

This has been one of the top follow-up requests since we launched Multiplayer, and we’re thrilled to continue strengthening team workflows this Devcember. Give it a try — and let us know how it supports your development flow! :christmas_tree::sparkles:

See the full docs here for more information.

]]>
https://community.canva.dev/t/unwrapping-our-13th-festive-release-app-ownership-transfer-is-here/8476#post_1 Fri, 12 Dec 2025 00:07:43 +0000 community.canva.dev-post-13523
🎁 Unwrapping our second festive release: Localization now available in 18 languages Hi @ruacon just to follow on from Gel’s post, if you’d like to resubmit your app for translation, please just write a note in the Testing instructions page to let us know there are no functional or design changes and that this is purely for additional translation. Then we can fast track you straight through to translation : ) Thanks so much!

]]>
https://community.canva.dev/t/unwrapping-our-second-festive-release-localization-now-available-in-18-languages/8451#post_7 Thu, 11 Dec 2025 23:36:29 +0000 community.canva.dev-post-13521
🎁 Unwrapping our second festive release: Localization now available in 18 languages Hi @kevyn just to let you know we’re looking into this for you and someone will be in touch as soon as we’ve assessed if it’s doable!

]]>
https://community.canva.dev/t/unwrapping-our-second-festive-release-localization-now-available-in-18-languages/8451#post_6 Thu, 11 Dec 2025 23:31:36 +0000 community.canva.dev-post-13520
🎁 Unwrapping our 12th festive release: bulkCreate + publish APIs Now Available (Preview) As part of this week’s Devcember releases, we’re introducing two new APIs in the @canva/design App SDK: bulkCreate and publish, now available for developers to preview.

These APIs are designed to simplify multi-design creation workflows. Apps can initiate Bulk Create directly, with their data automatically shown to them, and then move easily into Publishing those generated designs - built on top of the existing Data Connector and Content Publisher intents. Because this is an early preview, we’re actively improving both APIs, and developer feedback is especially welcome.

:sparkles: Highlights

  • Programmatically open Bulk Create from your app

  • Use your data to generate a design

  • Continue the flow into Publishing without interruptions

  • Build more guided, efficient end-to-end experiences

  • Try the APIs today in Preview, and expect regular updates

:puzzle_piece: Examples

:blue_book: Explore the docs

We’re excited to support more seamless app → product integrations and scaled content workflows with these new tools, and we look forward to your feedback as we continue refining them into the future.

To catch up on everything we’ve launched so far, check out the Developer Christmas 2025 thread. Happy Devcember! :sparkles:

]]>
https://community.canva.dev/t/unwrapping-our-12th-festive-release-bulkcreate-publish-apis-now-available-preview/8472#post_1 Thu, 11 Dec 2025 03:36:18 +0000 community.canva.dev-post-13517