Chapter 14. Exporting and importing the Developer Portal
As a 3scale API provider, you can export and import the Developer Portal for the following purposes:
- Creating backups.
- Keeping the Developer Portal in an external repository, for example, GitHub.
- Integrating the Developer Portal with other applications.
Use the Developer Portal API as a Content Management System (CMS) to import and export the Development Portal content. For this, perform the following steps to generate a key with enough permissions to use the Developer Portal API.
Procedure
- Navigate to Account settings > Personal > Tokens and click Add Access Token.
- Name the access token and check Developer Portal API.
Choose permissions:
- Read only allows retrieving Developer Content portal contents.
- Read and Write allows retrieving and restoring Developer Portal contents.
- Click Create Access token.
- Copy and store the token information displayed.
Check the endpoints list navigating from the left panel to Integrate > 3scale API Docs. Then, scroll down to Developer Portal API. Use the token generated to call each endpoint and fill in the fields according to your needs.
Developer Portal API endpoints considerations
The Developer Portal API available from 3scale 2.14 is not compatible with previous versions. Also, from 3scale 2.14, JSON is the only data format compatible for all requests and responses.
For each endpoint, you can perform the following actions:
-
GETto read and list resources. -
POSTto create and add resources. -
PUTto modify resources. -
DELETEto delete resources.
-
Built-in objects cannot be deleted. Call the
GET /admin/api/cms/templatesendpoint with thetype=builtin_pageparameter to get a list of builtin pages and thetype=builtin_partialparameter to get a list of builtin partials. - To do a complete backup, you must call each content. There is no API endpoint that downloads a complete archive containing all files.
-
If
contentis not sent, it does not return the published or draft content. Instead, it returns a summary with information like template name and section because the content is too long.
Use the details listed under each endpoint to refine its output after executing it. Consider the following for the listed parameters:
- All endpoints reject unsupported parameters; if unsupported parameters are sent, the request is canceled.
-
GET /admin/api/cms/templatesendpoint accepts acontentparameter. By default, it returns a list of Developer Portal templates. To also get published and draft content, usecontent=trueparameter. -
GET /admin/api/cms/templatesendpoint acceptstypeandsection_idparameters to filter results. -
GET /admin/api/cms/sectionsendpoint acceptsparent_idparameter to filter results. -
GET /admin/api/cms/filesendpoint acceptssection_idparameter to filter results.