All the different pieces of the API Ecosystem really don't matter unless the developer who' is consuming the API is able to succeed. We tend to think of the developer experience as starting with the developer portal, which is true it starts there, but it by no means ends there.
It starts with a self-registration process where they can begin to establish an identity that allows them to connect with an identity service that may provide them additional grants and privileges. They should be able to manage passwords and profile in the central Identity Management system and begin exploring the developer portal fairly quickly.
Developers usually work in teams and we should provide tools to allow them to share things with other team members and make it easy to check how things are going. This may include shared analytics for how their applications are performing against the API, key management or other tools.
And then there’s documentation. It needs to be provided both in plain language and as technical documents like swagger or OpenAPI contracts which can be imported into the developer’s tools.
The portal should also provide code examples and software development kits (SDKs)… but none of this really matters until they can engage and start trying it. To give access to the API we start getting further into the API Platfor by generating keys that can actually be used with the try it now tools or with the developer’s own software.
Then as they begin to build their applications, they're going to want to start seeing some analytics to see what kinds of errors are being thrown in real life and to understand if their application is performing well with the API.
Now that they have learned about the API, seen it in action, and understood how to fine tune their apps, the developer’s experience will continue to mature and they're going to realize they need other tools and get new ideas… and the cycle repeats and continues.
Remember, the developer experience is not just a dev portal. The developer interacts with everything from the documentation through identity services and creating keys that allow them to build apps and try out the API and even gain visibility into the performance of their engagement with the API.
Ultimately the developer is the primary consumer of the API and therefore the customer and our entire goal is to make that experience as smooth and successful as possible.