You can choose to auto approve developers and applications or require admin approval for developers and applications by navigating to Settings and the Security tab in your Dev Portal settings.
If your settings require developer or application approval, you can manage approvals by navigating to Access and approvals in the sidebar. You need the API Registration Approver and Portal Viewer role assigned to the Teams that control the APIs to approve these.
Additionally, you can add developers to teams by clicking on the settings menu next to the name of the developer.
Once approved, developers can create applications and view APIs, and the application can generate credentials to use the APIs.
Applications and API keys are specific to a geographic region.
When you enable application registration by selecting an authentication strategy during publication, the resulting applications and API keys are tied to the developers and traffic in that region.
You can pre-create developer accounts to provision their team association and API access before they access the Dev Portal.
-
To automatically create developers and send them an email to create a password, send a POST request to the /portals/{portalId}/developers endpoint:
curl -X POST "https://us.api.konghq.com/v3/portals/$DEV_PORTAL_ID/developers" \
--no-progress-meter --fail-with-body \
-H "Authorization: Bearer $KONNECT_TOKEN" \
--json '{
"full_name": "Raina Sovani",
"email": "raina.sovani@example.com",
"status": "approved",
"send_invitation_email": true
}'
- Copy and export the developer ID:
export DEVELOPER_ID='YOUR DEVELOPER ID'
-
Add the developer to an existing team that has the correct roles for the APIs they need access to by sending a POST request to the /portals/{portalId}/teams/{teamId}/developers endpoint:
curl -X POST "https://us.api.konghq.com/v3/portals/$DEV_PORTAL_ID/teams/$TEAM_ID/developers" \
--no-progress-meter --fail-with-body \
-H "Authorization: Bearer $KONNECT_TOKEN" \
--json '{
"id": "'$DEVELOPER_ID'"
}'
Logging in to Dev Portals:
-
SSO: If a developer is created in a Dev Portal with SSO configured, they must be able to use SSO to log in if their email address is configured in the identity provider.
After they log in, they will automatically be approved. Both OIDC and SAML SSO are supported.
-
Basic auth: If a developer is created in a Dev Portal with basic auth configured, they must be able to set their password. This can be done one of two ways:
-
send_invitation_email: true: Developers can use the link in the email to set their password.
- Developers can click Forgot password in the Dev Portal UI to set a password, regardless of whether
send_invitation_email is true or false.
You can automate applications and application registrations on behalf of a developer or team using the Konnect API.
The authentication strategy you want to use must be enabled on your Dev Portal and your published API.
Key auth credentials can’t be automatically created or imported.
-
Create a developer application by sending a POST request to the /portals/{portalId}/applications endpoint:
curl -X POST "https://us.api.konghq.com/v3/portals/$DEV_PORTAL_ID/applications" \
--no-progress-meter --fail-with-body \
-H "Authorization: Bearer $KONNECT_TOKEN" \
--json '{
"name": "KongAir Application",
"description": "A portal application provisioned for a developer by a Portal Admin.",
"auth_strategy_id": "'$AUTH_STRATEGY_ID'",
"owner": {
"id": "'$DEVELOPER_ID'",
"type": "developer"
}
}'
If the application is for a team, configure owner.type: team and set owner.id to the team ID instead of $DEVELOPER_ID.
- Copy and export the application ID:
export APPLICATION_ID='YOUR APPLICATION ID'
-
Create an application registration by sending a POST request to the /portals/{portalId}/applications/{applicationId}/registrations endpoint:
curl -X POST "https://us.api.konghq.com/v3/portals/$DEV_PORTAL_ID/applications/$APPLICATION_ID/registrations" \
--no-progress-meter --fail-with-body \
-H "Authorization: Bearer $KONNECT_TOKEN" \
--json '{
"api_id": "'$API_ID'",
"status": "approved"
}'
DCR applications:
If the application will be using a DCR provider with the given auth strategy, your configuration depends on your use case:
- You want to create a new DCR application, where the IdP client will be created in the identity provider and assigned a
client_id. This will be set as the client_id of the application and can’t be changed moving forward. Do not specify dcr_client_id or client_id in this case. client_id will be present in the response.
- You want to create an application that is linked to an existing IdP client, but treated as if it was created via the DCR app creation process. This allows you to import existing IdP clients when onboarding your applications into Konnect. In this case, you must specify
dcr_client_id and client_id will be present in the response.
You can assign an application to a team so that all members of that team share ownership of the application.
Any team member can edit, manage, and use the application.
Apps shared by a team appear in each member’s apps in the Dev Portal.
Team membership and roles are managed via Dev Portal teams and roles.
This is useful in cases such as when a developer leaves your organization.
With team application sharing, the team retains uninterrupted access to the application.
Important considerations:
- All members of the team that owns an application receive full ownership access.
- Applications can only be transferred to teams that have API Consumer access for every API currently registered by the application.
Similarly, you can only register APIs to team-owned applications if everyone in the team has access to the API.
This is true even if an individual team member has broader access through other teams.
To enable team application sharing, navigate to your Dev Portal in Konnect and click Access and approvals > Teams. Click the relevant team, go to Settings, and enable Allow team to own applications.
To transfer ownership of an application to either a developer or team, navigate to the app and from the Actions dropdown menu, select “Transfer ownership”.
For more information about how to configure Dev Portal developer teams, see Dev Portal RBAC.
For more information about the developer experience, see Dev Portal developer sign-up.
Keep the following limitations in mind for developers and applications:
- Each developer can create a maximum of 500 applications.
- Each application can have a maximum of 20 API keys.
- Each API that uses the ACE plugin can have a maximum of 1,000 operations.
- API Packages have a per-request PATCH limit of 100.