Skip to content
Back

Invalid URI. Register your new client on Flutter

  • 0
  • Flutter
Jedyn
6 Aug, 2025, 09:18

Hello everyone, I've had recovery password flow implemented for about over a year and I've tested it on both test and production projects. Recently one of my users messaged me that it doesn't work and indeed it does not - yet I haven't changed the implementation, nor anything on the dashboard related to it.

I'm getting 400 error code response with message ""Invalid url param: Invalid URI. Register your new client (myClientName) as a new platform on your project console dashboard""

I'm basically calling

TypeScript
@override
  Future<Token?> sendRecoveryEmail(String email) =>
      _account.createRecovery(email: email, url:  recoveryPageUrl);

The case is, I do have it created, I've also tried changing it to a wildcard (*) and it still does not seem to work, I've created a new web platform, basically tried everything and seems something has changed. Can anyone help me with the issue?

TL;DR
Issue: "Invalid `url` param: Invalid URI. Register your new client as a new platform on your project console dashboard" error when sending recovery email in Flutter. - Developer has implemented recovery password flow successfully in the past. - Recent user reported it not working with a 400 error code response. - Developer hasn't made any changes to the implementation. - Error message suggests registering a new client, which developer has already done. - Tried changing to wildcard (*) and creating a new web platform but issue persists. **Solution:** Ensure that the URI being passed as `url` in `sendRecoveryEmail` method is correctly formatted
Jedyn
6 Aug, 2025, 09:40

To elaborate, I have deeplinking and everything setup - the flow basically fails on sending the email step.

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more