(Continuing our blog series on Is your API Naked: 10 API Roadmap considerations).
Just like you have processes to add and maintain user accounts with your website, you'll need the same for developers using your API. Making it easy for developers to quickly get API account details squared away is critical to reduce barriers to adoption.
And good user management will reduce your support costs and increase customer sat.
This includes setting developers up with an account and any authentication credentials they need to work with your API. But you'll also need UI and processes to add, maintain (such as reset) and revoke or delete these accounts. You may also need to take into account how to hand out keys or OAuth keys, and even consider an approval process, if you are going that route. (although you don’t necessarily need to use API keys).
Also, consider whether you can make things simpler by defining rights around standard user profile. For example, ‘bronze’ customers have access to certain APIs or requests vs. ‘gold’ customers.
Finally, consider any other information you can give developers that will make it faster and easier to work with you - to get their questions answered without calling you. For example, usage statistics and alerts on versioning upgrades and outages.
Do you need to start from scratch?
Before building or buying this, consider if you might be able to extend some other existing user management UI and processes to work for developers requesting access to your API.
Key to this decision is - how much integration do you need into your existing business processes? Do you need to create accounts in your CRM system, and make sure you have enough developer information to map developers to applications, and customers?
Consider the following user management questions for your API roadmap:
For on-boarding developers
- Do you already have a way to manage user accounts that you plan to re-use for your API? Or have you considered it?
- If you have, do you also wish to offer OAuth keys?
- If you have no user management at all, what does a user need to do in order to sign up to use your API?
- Can they sign up quickly and easily using a web browser?
- Can you simplify things by defining ‘tiers’ of users?
- What kind of information do they need to have access to?
For maintaining and managing accounts
- Can you re-set their passwords?
- What user interface do you want to create for user management?
- Can users do it using a web site or is there some other way?
- Can you monitor their usage? Can they monitor it themselves
- Can you revoke user accounts?
- Do you need to implement an approval or screening process?
- Do you need reporting and analytics around users – active developers, engagement and retention rates?
Integrating your API users into the rest of your business
- Does your developer activity need to get mapped into your sales, support, and ERP systems?
- Does your API key structure enable you to map developers to applications, your customers, and their end users?
- Does user data need to be integrated with existing profiles or user data systems? Can you use existing SSO (single sign-on) systems?
- Can you create the right usage incentives by providing developer access to their own usage data?