Legacy: Tyk Classic PortalYou’re viewing documentation for the Tyk Classic Portal, which is no longer actively maintained.If you’re looking for the latest API documentation for the new Tyk Developer Portal, please refer to the
Postman collection or visit the
Tyk Developer Portal section.The Classic Portal is in maintenance mode and will be deprecated soon. For questions or support, contact us at
support@tyk.io.
Prerequisites
- You have an API created in your Dashboard. See Create an API for more details.
- You have a Policy created in your Dashboard that has access rights to this API
- You have a Portal Catalog entry for this API. Here we will call it “Internal API”
- You have a developer account that can access your Developer Portal.
Add a group field to the API Catalog profile
For this example, we’ll add a custom field to the Portal catalog “Group”. This group is set to “internal” which indicates that only developers ininternal
group shoud have access to the Catalog.
Go to Portal Management > Catalog -> Your API screen

Add a custom field to the developer profile
For this example, we’ll add a custom field to the developer profile also called “Group”. This group is set set to “internal” it means that developer should have access to the catalogs with the same Group restriction. Go to Portal Management > Developers screen
Modify the Portal Catalog Template to add Show/Hide Logic
The developer portal is fully customizable via templates. We’ll add custom logic to the portal catalog template (catalogue.html) to show/hide the “Internal API” catalog based on the value of the “Group” field for the developer. The main difference from the default template is two changes:- Get user data state at the start of template:
{{$profile := .UserData }}
- Before rendering api catalog element, which renders list of APIs, we insert the following section:
Multiple API subscriptions
If you have enabled “Enable multiple API subscriptions” option in the portal settings, you also need to modifyrequest_multi_key.html
template.
The main difference from the default template is two changes:
- Get user data state at the start of template:
{{$profile := .UserData }}
- Before rendering
<li>
element, which renders list of APIs, we insert the following section:
Developer Logged In, Group field set to internal (Internal API is visible)

Developer Logged In, Group field not set or set so group other than internal (Internal API not visible)

No User Logged In (Internal API not visible)
