This section provides guidelines that API providers can use to manage API content such as API documentation and legal agreements.
Note: For information about tagging API documentation and other documentation so that it's visible only to viewers with a certain role or permission level, see API Documentation Maintenance.
Within the platform, editing of API and Legal Agreement content is limited to:
Development of document content must be performed outside the platform, with the exception of Swagger API documentation which is entered directly into the templates in the API > Documents section.
Following the guidelines below will help ensure your fileset is consistent in structure, with clean, well-formed HTML that will look correct when viewed under varying circumstances such as in different browsers and in search results.
Bear in mind:
<html> <head> <title>Document Title</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="../../../../resources/style/reset.css" rel="stylesheet" type="text/css" /> <link href="../../../../resources/style/base.css" rel="stylesheet" type="text/css" /> <link href="../../style/document.css" rel="stylesheet" type="text/css" /> </head> <body> HTML Content </body> </html>
<title>XXX API | Page Title</title>
Yes, all HTML files must be saved in UNIX code format. This requirement is to ensure optimum compatibility across operating systems.
One method you can use to verify if your files have the correct format is to select View > Document Properties in TextPad. If the "Code set" is UTF-8, and "File type" is UNIX, then the code format your file is saved as is correct.
Note that you must also add the following meta data tag in your <head> tag to indicate that the file code set is UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
After adding an API, you can add documentation for your API in the API > Documents section using one or more of the following methods:
API documentation content should be defined using standard HTML and CSS files. In choosing styles, make sure you’re aware of any corporate or team guidelines, and be consistent across your file set so that users see the same styles and typographical conventions as they read your content.
As well as formatted HTML for your content, and CSS files to control the visual display, you can upload some other types of content and link to them from your HTML files. For example, you can use the following:
<a href="filename.swf" target="_blank">Training video</a>
The extra property after the filename, target="_blank", tells the browser to open the file in a new window instead of displaying the content in the current window (the platform UI).
The platform supports content pages written in HTML. You must create your API and legal documents in an external HTML authoring tool and upload the documentation using File Explorer.
API documentation and legal content in the platform can be uploaded and managed by API Admins and Business Admins.
If you are using Simple Dev theme, the API documentation must be uploaded by a Site Admin to a special folder in the Content folder structure, using Default Theme's Administration menu..
You can upload a ZIP file that contains your API documentation using File Explorer.
You can include links to your own external website, or any other external site, in your developer portal documentation or API documentation.
Remember to use the "target="_blank" attribute on the link so that the external site opens in a new window rather than replacing the platform user interface. Refer to the examples below.
Link to an API website:
<p>For full information and API documentation, please visit the <a href="http://acmepaymentscorp.com/docs/index.htm" target="_blank">ACME Payments API main page</a>.</p>
Link to the specification for a standard:
<p>For more information about OAuth 2.0, refer to the <a href="http://oauth.net/2" target="_blank">OAuth 2.0 specification</a>.</p>
To upload your reference file see: How do I upload my API documentation?
You might find that the default styles in the platform work fine for you and are all you need. If you need custom styles, you can create or upload a CSS file. You can add or edit a CSS file in the same way as you do an HTML file.
Click here to download a sample API documentation style sheet. These styles are part of the document.css style sheet located userdocs\style directory. If you would like to develop your API documentation using these styles, or choose to update these styles, make sure you update the document.css file before uploading your documentation to the site.
The following paths illustrate the location of the \style directory relative to the \learnmore directory. This is where the current document.css file is stored. Based on your requirements you can choose to store your \css in a different location (for example, in the same directory as your files or in a \css folder in your \Documents directory).
\userdocs\home\learnmore \userdocs\style
When you upload a document or artifact to the API > Documents section using the File Explorer, a JSON-based TOC (table of contents) file is created (format: toc.{APIVersionID}.json; for example, toc.89be612e-cde6-4a35-944b-80d7b5401099.acmepaymentscorp..json). Information about the way you've set your documents to display on the document table of contents, under the Documents menu item in the left menubar, are stored in this file.
Using a file editor, you can manually update the "defaultFile":"{filename}.html" parameter of the file to set your default HTML document.
If you currently have a HTML document loaded and would like to switch back so that users see the generated documentation, you can delete this parameter and reset the default document back to Swagger.
Yes, you can upload your existing file set into the platform via File Explorer. Make sure that relative file locations in the platform are the same as in your source files so that you don’t break any links between files (if any exist). The content also needs to be organized in the required document structure. See How do I organize my API and legal agreement documentation files?
Note: You must include head and body tags that reference all the css style sheets used in your API documentation.
The API > Documents section includes an interface that allows you to add and maintain your API documentation.
You can upload documentation using File Explorer. You can upload documentation on a file by file basis, or you can upload a ZIP file.
To update API and legal agreement documentation that you've added to the platform, you must upload the new file using File Explorer. See How do I upload my API documentation? or How do I upload my API legal agreements? for details.
When you add or change API documentation, it’s a good idea to preview it in the browser to make sure it looks correct and no symbol characters are displaying. For example, if you have more than one space separating a word, the additional space may be displayed as a symbol character in some browsers.
When you save the content, it’s displayed for you in your own browser window. However, another user reading API documentation might use a different browser. Since there are differences between browser defaults that might affect the visual display, it’s a good idea to check how your content looks in the most popular browsers.
Simply copy and paste the URL. Although you need to be signed in to edit the content, no login is required for viewing most content pages.
It’s a good idea to make sure your content changes look OK in Internet Explorer, Firefox, and Google Chrome.
If you would like your documentation to be searchable in the platform, include the <title> tag (for example, <title>Doc Name</title>) at the top of your HTML file, within the <head> tag.
The example below shows the structure and sequence.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Searchable Text</title> <link href="../../../../resources/style/reset.css" rel="stylesheet" type="text/css" /> <link href="../../../../resources/style/base.css" rel="stylesheet" type="text/css" /> <link href="../../style/document.css" rel="stylesheet" type="text/css" /> </head> <body> <h2>Document Heading</h2> <p>Document Content</p> </body> </html>
Use the standard # coding as shown below.
Coding of the link:
<p>For more information, see <a href="#section_2">Section 2</a>.</p>
Coding of the destination content:
<a name="section_2"></a><h4>Section 2</h4>
Note: coding for this type of link is the same in Default Theme and Simple Dev theme.
Use a standard <a href> link with the filename, as shown below.
For more information about the ACME Payments API, see <a href="index_pmt_api.htm">ACME Payments API: Overview</a>.</p>
Use a standard <a href> link with the relative path and the filename, as shown below.
<p>For more information about security with the ACME Payments API, see <a href="api_payments/acmepaymentsapi_security.htm">Security</a>.</p>
Use a standard <a href> link with the relative path and the filename, as shown below.
<p>For an overview of the ACME Payments API, see <a href="../index_pmt_api.htm">ACME Payments API: Overview</a>.</p>
Normally, when coding a relative link to another file, you must include the full filename, including extension, and take into account folder names that you might need to reference in going up or down the folder structure from one folder to another, as in the examples shown above.
When coding a link to a platform user interface page or main platform content page, you don't need to do that. You can code an absolute link using a special class that substitutes the path.
Note: You can use this approach to link to a platform page from:
You'll need to do these things:
Below are the URLs for some platform content pages you might want to link to:
For example, let's say you want to link from the API documentation to the My APIs list. All you need to do is reference the unique name, help, as follows:
<p>Go to the <a class="soa-control-cm-route-link" href="#/home/apis">My APIs list (Default Theme)</a>, and choose the API from the list.</p>
Here is another example.
Let's say you want to link from your API documentation main index page to the Glossary of Terms in the developer portal help.
First, access the Glossary of Terms in the portal to get the URL. You'll see that the URL is:
{protocol}{hostname}/{TenandID}/#/home/learnmore?basics_glossary.htm
Again, you'll need to complete these actions:
In your file, the link looks like this:
<a class="soa-control-cm-route-link" href="#/home/learnmore?basics_glossary.htm">Link to the platform's Glossary of Terms</a>
To users, the link looks like this:
Link to the platform's Glossary of Terms
Let's say you want to link from your API documentation main index page to the Markdown example file that's part of the developer portal help. This file resides in a subfolder.
First, access the file in the portal to get the URL. You'll see that the URL is:
{protocol}{hostname}/{TenandID}/#/home/learnmore/assets/markdown.htm
To link to this file from your API documentation page, you'll need to complete these actions:
In your file, the link looks like this:
<a class="soa-control-cm-route-link" href="#/home/learnmore/assets/markdown.htm">Link to the Markdown sample file</a>
To users, the link looks like this:
Link to the platform's Markdown sample file
In the <head> tag of your file, the script file is referenced like this (line break added for readability):
<script language="javascript" src="/ui/apps/atmosphere/123/resources/console/SOA/console/common/tag_lib/dist/tag_lib.min.js" type="text/javascript"></script>
When coding a link to an external site, document, or other file, first test the link yourself in the browser. Include target="_blank" as shown below so that the site or document opens in a new browser tab or window rather than replacing the existing one.
<p>For more information, visit <a href="http://acmepaymentscorp.com/api" target="_blank">http://acmepaymentscorp.com/api</a>.</p>
If you have multiple documentation files in the documentation folder and want to link directly to one of them without using a relative link, you can just use the standard coding to reference another file in the same folder, as shown below:
<a href="another_api_doc_file.htm">Another API Doc File</a>
The platform includes a JavaScript file, tag_lib.min.js, that you can link to in the <head> tag of your HTML files to support the use of the following tags in your API documentation or other content files:
You do not need to reference this file when using the soa-control-cm-route-link class used in linking to platform pages.
If you are using one or more of the additional tags that rely on the JavaScript file, tag_lib.min.js (see When do I need to reference the tag_lib.min.js file? above), you'll need to include a link to this file.
In the <head> tag of your HTML file, reference the script file like this (line break added for readability):
<script language="javascript" src="/ui/apps/atmosphere/123/resources/console/SOA/console/common/tag_lib/dist/tag_lib.min.js" type="text/javascript"></script>
The entire <head> tag might look something like the below:
<html lang="en" xmlns:soa="http://soa.com"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <!-- The css files below are needed for the inline testing feature to be displayed correctly --> <link rel="stylesheet" type="text/css" href="/resources/style/reset.css"/> <link rel="stylesheet" type="text/css" href="/resources/style/base.css"/> <!-- The script files below are needed for the inline testing feature to work correctly --> <script language="javascript" src="config.js" type="text/javascript"></script> <script language="javascript" src="/ui/apps/atmosphere/123/resources/console/SOA/console/common/tag_lib/dist/tag_lib.min.js"type="text/javascript"></script>
File Explorer is a simple file management tool that allows you to upload documentation source files to various parts of the platform UI:
File Explorer includes the following functionality:
File Manager Features | Description |
---|---|
Go up a Directory | Allows you to navigate one level up the directory tree. By default, API documentation is stored in the \documents default directory. If you are creating a folder structure, make it below, not above. All documentation for a specific API should reside in the applicable \documents folder or folders below it. |
New Directory | Allows you to create a new subdirectory in the current directory. |
Upload a File | Allows you to upload a single file; for example, HTML, .swg, and associated documentation support files such as images, one file at a time. |
Upload a Zip Archive | Allows you to upload a ZIP archive into the \Documents folder. |
Download Directory | Allows you to download the current directory, and all files and folders below it that you are authorized to access, into one ZIP file. You have the option to save or open the file. |
Show in TOC | A checkbox that allows you to display a file in the left-hand navigation underneath the Documents menu. |
Default | A radio button that allows you to identify the default file that will load when Documents menu is selected. |
Rename | Allows you to rename a file. When selected a File Name popup displays where you enter the file to be renamed. |
View Direct | Allows you to view the current file via a URL address. |
Set Display Name | Allows you to configure the name that will display in the Documents section if the Show in Toc option is selected. When selected, a File Name popup displays where you enter the file to be renamed. |
Delete | Allows you to delete a file by clicking "x." |
You can take additional steps to control accessibility of the API documentation:
Note: First, upload the page that you want to display as the default. For instructions, see How do I upload API documentation?
Note: When renaming a file, it's important to make sure the new name includes a valid file extension that's correct for the file format; for example, index.html or index.htm.
Swagger (http://swagger.io) is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. It produces dynamically generated documentation that includes methods, parameters and models. The platform includes an implementation of Swagger that works in conjunction with the Add a New API Wizard.
When you define an API, the structure is dynamically generated and added to a predefined Swagger template. The documentation-ready structure is available in the API > Documents section where you add a title, description, implementation notes, and parameter information.
The documentation content is stored in a resources.swg file. Using the File Explorer you can add this file to your table of contents to make it the default display document when a user clicks the API > Documents menu. You can also add the Swagger document URL to your HTML documentation.
The Swagger documentation includes a series of page controls for displaying and navigating through the method documentation as follows:
Swagger Controls:
Editing Options:
You can add / edit the following areas in Swagger documentation. First navigate to API > Documents page that includes the Swagger and perform the desired step.
The developer portal provides a pre-defined Swagger style sheet that is internal to the product and is applied to all dynamically generated Swagger documentation structures.
The developer platform automatically generates the Swagger documentation and pre-fills it with information from the runtime service definition. It parses the definition file and generates a Swagger document with no adornments (descriptions and so forth) that is technically accurate for each resource and verb.
At that point the API Admin can annotate the Swagger documentation in two ways:
Whether the properties file is uploaded or auto-generated, the developer portal merges the properties file with the generated Swagger documentation to produce the resulting document that is displayed to the user (rendered by the Swagger UI JavaScript).
By default, when you add an HTML file to the documents list in the folder for your API documentation, the developer portal defaults to using HTML documentation only, rather than a mix of HTML docs and Swagger docs.
For instructions to use a mix of Swagger and HTML files, see Combined Authored and Generated API Documentation.
It's best to modify the display names; otherwise, the display name is the filename, including extension.
Note: If you have a Swagger properties file in the documentation folder, the developer portal merges the Swagger properties with the generated Swagger template.
For information about uploading API documentation files, see How do I upload API documentation?
The APIs > Legal section provides functionality that allows you to upload and manage legal agreements that pertain to each API. An API may require one or more legal agreements. Legal agreements with an approved status display in the API Access function. A user must accept the terms of the legal agreements to gain access to API functionality.
API legal agreements use the platform default style sheets. Active legal agreements display in the API Access Wizard when a user requests access to your API. To ensure that your legal agreement displays properly in this wizard, download the legal agreement sample file and use it as a template to structure your legal agreement HTML.
Click here to download a sample legal agreement file.