Summary
We are migrating profile photo hosting to our Content Delivery Network (CDN) for improved performance and security. This change does not affect any API endpoints or behaviors — only the format of the profile photo URLs returned by endpoints such as GET /users/{user_gid}
.
The images themselves, including formats and available resolutions, remain unchanged.
Current URL example
https://s3.us-east-1.amazonaws.com/asana-user-private-us-east-1/assets/1234567890123456/profile_photos/9876543210123456/1234567890abcdef1234567890abcdef1_128x128.png
New URL example
https://asanausercontent.com/us1/1234567890123456/profile_photos/9876543210123456/1234567890abcdef1234567890abcdef1_128x128.png?e=1748357483&v=0&t=cXNKUkpEN2ZDQ1ZUSEliMHk5RnNtZG5WYVhKbXktaWU2ZzFZYUVLWWJRU3g2Y3l3MVg0NTNwNHZmd3kx
Key changes:
- The domain is now asanausercontent.com
- URLs are signed with an expiration timestamp and query parameters
We plan to begin a gradual rollout of the new URLs starting July 14, 2025.
Note: In the future, we will also serve attachments from this domain. That change will be less disruptive, as attachment URLs are already signed and time-limited. Additionally, we do not recommend relying on the exact format or domain name of profile photo URLs, as these details may change again in the future. Always retrieve the latest URL dynamically via the API to ensure compatibility.
Who is affected
This change affects API consumers who persist and reuse the profile photo URLs returned by the API. Existing, previously resolved URLs will stop working after the transition.
Clients that fetch the profile photo URL from the API on-demand when displaying the photo are not affected.
Timeline
Timeline
- August 5, 2025: Gradual rollout of new URLs begins
- September 1, 2025: Old URLs will stop working and return
HTTP 403 Forbidden
Migration steps
No API changes are required. However, if your application persists or caches profile photo URLs, you must update your implementation to always fetch the current URL from the API before displaying a profile photo. We recommend against persisting these URLs, as they are now signed and expire after a set period.
You might also need to add the new domain, asanausercontent.com, to your DNS filtering or firewall domain allowlist if you have such measures in place. This is the first time we serve content from this domain.
Why we’re making this change
- Improved performance: CDN delivery reduces latency for faster image loading.
- Enhanced security and privacy compliance: Signed URLs align with our security standards.
- Domain consolidation: Simplifies and standardizes the domains serving Asana content.
The tradeoff of this change is that signed URLs cannot be cached indefinitely.
Support
We believe this update will deliver meaningful performance and security improvements. Thank you for your understanding as we roll it out.
If you encounter any issues or have questions, please reach out—we value your feedback. You can also subscribe to our changelog updates for the latest information.