As part of doing some speculative work to automate making an Auth0 environment consistent, I realized that Auth0 API entities (https://auth0.com/docs/apis) are not able to be created via the Management API (https://auth0.com/docs/api/management/v2/tokens). My goal is to create a program that can check for the existence of and create/update accordingly all of the configuration that would manually be done in the Dashboard, and this API creation being absent will not allow me accomplish the goal. Management in the Dashboard for setting up Auth0 is great when you are just getting to know the product, but in order to create identical environments programmatically, this is a must have in order to use Auth0 in my solution. Any suggestions?
You can create manage Auth0 APIs (resource servers) via the management API with the
/api/v2/resource-servers endpoint. You can find the full documentation here
Does the Auth0 management APIs support managing email templates and email server configuration?
Do you plan to support import/export in the near term future?
I have been maintaining a project, https://github.com/tomjkidd/auth0-automation, whose sole goal is to make it so that I can take snapshots of the current configuration, and to allow me to restore/deploy that configuration to other tenants. The first problem with this solution is that it uses many requests to query for all of the entities, and then requires create/update requests in addition. For free tier apps, this also starts running into throttling limits that occur for the number of requests that I have to make. The second problem is that for some entities, I have to use one field to see if the entity exists (like name), and a different field to identify the entity (client-id). This does not include some issues where there are dependencies between entities, which requires you to handle entities in different ways. That said, I have mostly been able to do what is needed with this project, but it leads me to think: why is it this complicated to configure an environment?
My life would be easier if the data model for a tenant wasn’t a only captured by the current dashboard state. It’d be nice to be able to audit changes, and to capture complete environments to be able to restore or recreate them. If you haven’t thought about this, I think it’d be a worthwhile investment, and would give you the benefit of allowing users to have more stable environments through version control.