Apigee added the Beta release of SmartDocs to the 14.04.16 release of the Developer Services portal. SmartDocs lets you document your APIs on the Developer Services portal in a way that makes the API documentation fully interactive. Interactive documentation means portal users can:

  • Read about your APIs
  • Send a live request to your API
  • View a live response returned from the API

By creating an interactive documentation on your APIs, you make it easy for portal user to learn, test, and evaluate your APIs.

The Edge management API is a RESTful API that enables you to access API Services using any HTTP client. Apigee uses SmartDocs to create interactive documentation for the Edge management API. See that API documentation here.

SmartDocs is fully supported on all browsers supported by the portal except for IE9. For IE9, you cannot upload attachments to a SmartDocs API. In addition, for IE9 support, you must ensure that your SmartDocs model uses the templates at  https://smartdocs.apigee.com/3/ instead of https://smartdocs.apigee.com/1/. For more information, see the section below on editing the SmartDocs template.

SmartDocs portal example

When you first access the portal, you see an example SmartDocs API on the portal Home page called Get Weather for WOEID:

This API uses the Yahoo Weather API to return XML-formatted weather reports based on an identifier called a WOEID (Where On Earth ID). For example, the WOEID for Palo Alto, CA is 12797282:

  1. Click on Get Weather for WOEID to open the API in SmartDocs. The SmartDocs page appears:
  2. Enter the WOEID in the value of the 'w' query parameter.
  3. Select the Send this request button to submit your request.
  4. Select the Request tab to view the request.
  5. Select the Response tab to view the response from Yahoo. 

The Get Weather for WOEID API was created from this WADL file. Download and edit this WADL file, and then use the following procedures to add your own APIs to SmartDocs. See WADL Reference for more on creating WADL files.

How to document your APIs by using SmartDocs

SmartDocs represents your APIs by using a model, where the model contains all the information about your APIs. The portal extracts information about your APIs from the model to render the documentation pages on the portal as Drupal nodes, where each Drupal node corresponds to a page of documentation on the portal.

The general steps that you follow to use SmartDocs are:

  1. Configure the Drupal SmartDocs module on the portal.
  2. Create a SmartDocs model.
  3. Add APIs to the model from a WADL file, Swagger definition, or manually.
  4. Render the model as a collection of Drupal nodes. Each Drupal node contains information about a single API. For example, if a resource in your API supports both a POST and a PUT request, SmartDocs creates a separate Drupal node for the POST and PUT.
  5. Publish the Drupal nodes. Once published, your portal users can view and interact with your API.
  6. Edit the Drupal nodes, either before or after you publish them. You can edit the Drupal nodes by using the Drupal editor or by editing the original WADL file or Swagger definition.
  7. Enable SSL. Because SmartDocs can send authentication credentials to your backend as part of making a request to your APIs, you should enable SSL on your portal to ensure that those credentials are secure. In the portal production and test environments, Apigee provides the SSL certificate required to make https:// requests. However, before you go live with your portal, you must obtain your own SSL certificate and enable SSL. For more, see Using SSL on the portal.

Configuring the SmartDocs module

Apigee implemented SmartDocs as a custom Drupal module. Use the following procedure to configure the SmartDocs module.

If you are connecting the portal to an on-premises version of Apigee Edge, then you must ensure that SmartDocs was installed on the Edge Management Server at the time you installed Edge. For more information, see the "Install and Configuration Guide" in the documentation for the Apigee Edge On-Premises Deployment Kit.

To configure the SmartDocs module:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select Modules in the Drupal administration menu. The list of all installed Drupal modules appears.
  3. If it is enabled, disable the SmartDocs (beta) module.
  4. Enable the SmartDocs module.
  5. Save the configuration.
  6. Select Configuration > Dev Portal Settings in the Drupal administration menu.
  7. Set the Connection Timeout and Request Timeout to 16 seconds.
  8. Save the configuration.
  9. Configure URL settings:
    1. Select Configuration > Search and metadata > URL aliases > Settings from the Drupal menu.
    2. Set the Maximum alias length and Maximum component length to 255.
    3. Expand Punctuation.
    4. For the Left curly bracket ({) and Right curly bracket (}) settings, select No action (do not replace).
    5. Save the configuration.
  10. If your portal connects to an OPDK installation of Apigee Edge (ignore this step if your portal connects to a cloud-based version of Edge):
    1. Select SmartDocs > Settings in the Drupal administration menu.
    2. Expand the Advanced Settings area.
    3. Expand the Management API Override Settings area.
    4. Set the Use Management API URL Override checkbox.
    5. Set the Management API URL Override to: https://routerIP:portNumber/management where routerIP:portNumber is the IP address and port number of the router for an on-premises Edge OPDK installation. If your Edge installation has multiple routers connected to a load balancer, specify the IP and port number of the load balancer, not of a router.
    6. Save the configuration.

Creating a model

A model contains all the information about the representation of your API. You can define multiple models on the portal to support different APIs, or group all of your APIs into a single model.

Each model specifies a unique name, called the machine readable name, that also defines the base URL of the generated Drupal nodes. The URL of each Drupal node is in the form:

http://<drupalBasePath>/<machineModelName>/apis/<httpMethod>/<resourcePath>

where:

  • drupalBasePath: The base URL of your portal.
  • machineModelName: The machine model name.
  • httpMethod: The HTTP method of the API, such as: get, put, post, or delete.
  • resourcePath: The resource path.

For example, if you specify the machine readable name as 'myModel', then the URL for the generated Drupal node for a GET request to a resource named '/books' is:

http://prod-myco.devportal.apigee.com/myModel/apis/get/books

To create a model:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs in the Drupal administration menu.
  3. Select Add a New Model at the top of the page.
  4. Enter the following fields:
    • Display Name: The model name that will be displayed across the site.
    • Machine Readable Name: The internal identifier for the model that must be unique among all models.  The machine readable name must contain only lowercase letters, numbers, and underscores with no spaces.
    • Description: A description of the model.
  5. Select Create Model.

After you create the model, you are redirected to the Models page, which shows all SmartDocs models in alphabetical order. Click on the model name to go to its page. From there, you can:

  • Set the current API revision of the model
  • Add an API revision
  • Import a WADL file describing your API or specify the URL of a Swagger definition that describes your API.
  • Modify the model settings, including the style sheets used by the model.
  • Export the model to a file.
  • Delete the model.

Adding APIs to a model

You can add APIs to a model by:

  • Importing a WADL file containing the API definition
  • Importing a Swagger definition
  • Manually creating resources and methods

Import a WADL

After you have successfully created a model, import a WADL file that describes your API. Every time you import a WADL file, you automatically create a new revision of the model.

While the WADL spec on the W3C website at http://www.w3.org/Submission/wadl/ specifies that a WADL can contain multiple <resources> tags, SmartDocs can only process a WADL file that contains a single <resources> tag. See WADL Reference for more on creating WADL files.

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Models in the Drupal administration menu.
  3. Select the model you want to update.
  4. Under Operations, select Import.
  5. Select WADL File in the Choose Format dropdown on the SmartDocs import page.
  6. Select Upload or URL Path in the WADL Options dropdown.
    1. If you select Upload, browse to the WADL file and select Upload.
    2. If you select URL Path, specify the URL of the WADL file  and select Upload.
  7. After the  upload complete, select the link corresponding to the file name to see if there were any errors.
  8. Select the Import button to import it into the model.
    You are redirected to the model’s information page where you can now render the model.

Import a Swagger API description

After you have successfully created a model, you can import a Swagger API description. Swagger uses files containing JSON objects to describe an API. Every time you import a Swagger definition, you automatically create a new revision of the model.

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Models in the Drupal administration menu.
  3. Select the model you want to update.
  4. Under Operations, select Import.
  5. Select Swagger in the Choose Format dropdown on the SmartDocs import page.
  6. Specify the Swagger URL, the URL corresponding to the top-level Swagger file describing your API.
  7. Select the Import button to import it into the model.
    You are redirected to the model’s information page where you can now render the model.

Manually create resources and methods

If you do not have a WADL file or Swagger definition that represents your API, you can manually add APIs to your model. Also, if you use a WADL file or Swagger definition to create your model, you can use this procedure to edit your APIs after the import.

To manually add an API:

  1. Create a new revision of the model.

    When you create the revision, you specify the single base path of all APIs in the model, meaning all APIs in a model share the same base path. For example, specify the base path as:

    https://myCompany.com/v1

    When you add resources to the model, they extend the base path.
  2. Define one or more resources for the model. The resource path combines with the base path of the model revision to specify the full URL of the resource. For example, if your resource defines a path of "/login", the full URL of the resource is:

    https://myCompany.com/v1/login
  3. Define one or more methods for each resource. A method specifies the HTTP verb that can be invoked on a resource. For example, for the "/login" resource, you support POST for login and DELETE for logout. This resource does not support other HTTP verbs, such as PUT or GET. Therefore, define two methods for the resource, one for the POST and one for the DELETE.

    The method uses the resource URL from its parent resource. Therefore, all methods with the same URL are defined under a single resource in SmartDocs.

As a general rule:

  • Create a SmartDocs model for each unique base URL in your API.
  • Define a SmartDocs resource for each unique resource in your API.
  • Define a SmartDocs method for each HTTP verb supported by a resource.

Creating a new revision of a model

You can only add a resource to an existing revision of a model. If the model already has a revision, you can add your resource. If the model is new and has no revisions, create a new revision.

To create a new revision of a model:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Models in the Drupal administration menu.
  3. Select the model you want to update.
  4. Under Operations, select Add API Revision.
  5. On the Add API Revision page, enter the following information:
    • Display Name: The name of the revision as it appears in the portal.
    • Version ID: A short identifier for the revision.
    • Description: A description of the revision.
    • Base URL: The base URL of all APIs in the revision of the model. A model can use different base URLs for each revision. For example, you include a version indicator in the base URL. For the first model revision, the base URL is:

      https://myCompany.com/v1

      For the next revision, the base URL could be:

      https://myCompany.com/v2
  6. Select Add API Revision. You are redirected to the revision page of the model. You can now define resources on the model.

Defining a resource

A resource specifies the full URL of an API. When defining a resource, you specify the resource path, which is combined with the base URL in the model revision to create the full URL of the resource.

You can omit the resource path. In that case, the resource URL is the same as the base URL of the model revision.

To define a resource:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Models in the Drupal administration menu.
  3. Select the model you want to update.
  4. Under Operations, select API Revisions to view all revisions of a model.
  5. Select a revision to edit.
  6. On the revision page, select Add Resource from the dropdown menu.
  7. On the Add Resource page, enter the following information:
    • Display Name: The name of the resource.
    • Path: The resource path, starting with "/". The value of Path is combined with the Base URL of the model revision to create the full URL of the resource.
    • Description: A description of the resource.
    • Parameters: Optionally enter the JSON object defining each parameter on the resource. These parameters are described below.
  8. Select Add Resource. You are redirected to the model page. You can now define methods on the resource.

Optionally, you can add parameters to the resource, such as template, query, and header parameters. All resource parameters are inherited by any methods defined on that resource. Therefore, if you define a query parameter on the resource, all methods added to that resource must support that query parameter.

Alternatively, you can define parameters on a method. For example, a POST method might support query parameters that are not supported by a DELETE method. Therefore, add any parameters specific to a method when you define the method, as described below.

The following image shows an existing SmartDocs page for the Apigee Approve or Revoke Developer App API with each type of parameter highlighted:

Each parameter type is defined by a JSON object:

Type

JSON object

Notes

Template

{
 "dataType": "string",
 "defaultValue": "",
 "description": "The organization name.",
 "name": "org_name",
 "required": true,
 "type": "TEMPLATE"
}

Template params are always required, so set required to true, and omit the value to  defaultValue.

 

The description value appears in a popup when the user hovers over the URL in a SmartDocs page.

Query

{
 "dataType": "string",
 "defaultValue": "",
 "description": "The location.",
 "name": "w",
 "required": true,
 "type": "QUERY"
}

Required query params can still specify a defaultValue, but often do not.

 

For optional query params, set required to false and specify a value to defaultValue.

Header

{
 "dataType": "string",
 "defaultValue": "application/json",
 "description": "Specify as <code>application/json</code>.",
 "name": "Content-Type",
 "required": true,
 "type": "HEADER"
}

Notice how you can use HTML tags in the description.  

A template parameter defines a variable in the resource path. For example, you define two template parameters on the resource. Notice how each parameter definition in the parameter array is separated by a comma:

[
 {
  "dataType": "string",
  "defaultValue": "",
  "description": "Mention the organization name.",
  "name": "org_name",
  "required": true,
  "type": "TEMPLATE"
 },
 {
  "dataType": "string",
  "defaultValue": "",
  "description": "Mention the user email.",
  "name": "developer_email",
  "required": true,
  "type": "TEMPLATE"
 }
]

You can then use the template parameters in the resource Path definition, enclosed in "{}". For example, set the path to:

/login/{org_name}/{developer_email}

In the SmartDocs API page, the user must edit the URL to specify the org_name and developer_email portion of the URL before they can submit a request.

Defining a method

Define one or more methods for each resource. The method definition specifies an HTTP verb that can be invoked on the resource. A resource can have a single method defined on it, or multiple methods.

As part of defining the method, specify any parameters used by the method, including query and header parameters. See the description above for resource for information about adding parameters to a method.

The following image shows an existing SmartDocs page for the Apigee Create Developer API with each area of the page highlighted with the corresponding value that you set when defining a method:

The next image shows the same page but with the Description of the Request Body selected:

To define a method:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Models in the Drupal administration menu.
  3. Select the model you want to update.
  4. Under Operations, select API Revisions to view all revisions of a model.
  5. Select a revision to edit.
  6. On the revision page, select Add Method from the dropdown menu for one of the resources.
  7. On the Edit Method page, enter the following information:
    • Display Name: The name of the API, which also becomes the title of the Drupal page for the API.
    • Description: Describe the API.
    • Method Verb: The HTTP verb type.
    • Authentication: Specify the authentication mode, if any, for the method. For more, see Configuring the SmartDocs authentication type.
    • Content Type: The content type of the request and response. See the section below about configuring different authentication methods.
    • Parameters: (Optional) Any query or header parameters for the method. See the description above for adding a parameter to a resource for more information.
    • Request Body Documentation: (Optional) Describe the request body. POST and PUT methods take a request body. You can use this area to describe it. If you omit this value, the Description link under Request Body is omitted from the generated SmartDocs page.
    • Request Body Example: (Optional) Show an example of a request body, typically as a JSON object or as XML. For the POST and PUT verbs, the Request Body Example is passed as part of each request. Users of the SmartDocs page edit this example before they submit a request to the API. If you omit this value, the Value link under Request Body is omitted from the generated SmartDocs page.
    • Tags: An array of tags associated with the API. SmartDocs uses tags to group similar APIs together. For example, you might apply the tag "Statistics" to all APIs about statistics. You can group APIs from different resources under a single tag. if they all use the same tag.
  8. Select Add Method. You are redirected to the model page. You can now render and publish your method.

Rendering a model

After you add APIs to a model, you can render the model. Rendering converts the model's description of the API into Drupal nodes. When rendering completes, you will have a single Drupal node for each API, where each Drupal node corresponds to an HTML page.

To render a model:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Models in the Drupal administration menu.
  3. Select the model you want to render.
  4. Select API Revisions under Operations.
  5. Select the revision you want to render. You can only render nodes from a single revision of the model.
  6. Select the methods to render.
  7. Select Render Nodes from the Update options dropdown.
  8. Click Update.
  9. You are redirected to a confirmation page with the following options:
    • Publish nodes immediately: Select this option to publish the nodes after rendering completes.
    • Path Generation: Specifies how the URL to the Drupal page is generated. Either as defined by the Resource Path w/ Method Type (default), by the Method Title, or by the Method UUID.
  10. Select Render Nodes.
  11. A loading screen appears to view progress on your nodes being rendered.
    After the nodes have been rendered, the ID of the Drupal node for each API appears under the Node Association column of the model. Click on the link in the Node Association column to see the rendered node.

Publishing nodes

A node is not visible to portal users until it is published. You can optionally choose to publish nodes during the rendering process. If you do choose not to publish the nodes, then you have to manually publish them after rendering completes.

To publish a node:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Models in the Drupal administration menu.
  3. Select the model you want to render.
  4. Select API Revisions under Operations.
  5. Select the revision you want to render. You can only render nodes from a single revision of the model.
  6. Select the methods to render.
  7. Select the nodes in the revision to publish.
  8. Select the Publish Nodes from the Update options dropdown.
  9. Click Update.

Unpublishing a node

You can unpublish a published node at any time. Unpublishing a node makes it invisible to portal users.

To unpublish a node:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Models in the Drupal administration menu.
  3. Select the model.
  4. Select API Revisions under Operations.
  5. Select the model revision of the node you want to unpublish.
  6. Select the nodes in the revision to unpublish.
  7. Select the Unpublish Nodes from the Update options dropdown.
  8. Click Update.

Changing the revision of a model

You create a new revision of a model by importing a new WADL file or Swagger definition into an existing model, or by manually creating a new revision. After creating the new revision, you can render and publish the revision, which replaces the currently published Drupal nodes.

You can only render and publish nodes from one model revision at a time. If you want to change revision the revision of a published model, change the current revision and then render and publish the methods.

To change the revision of a model:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Model in the Drupal administration menu.
  3. Select the model you want to update.
  4. Select API Revisions under Operations.
  5. Select the model revision you want to publish.
  6. Render and publish the nodes as described above.

Editing a node

After you render a node, you can edit it by using the Drupal editor. For example, you can edit the HTTP verb and description of an API, or add a new query or header parameter to the API. You can edit nodes created from a WADL file or Swagger definition, or nodes that created manually.

You can also edit the original WADL file or Swagger definition. When you are done with editing, import the WADL file or Swagger definition back into the model as a new revision, then render and publish your changes as described above. 

To edit a node by using the Drupal editor:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Browse to the Drupal node corresponding to the API documentation that you want to edit.
  3. Select Edit to use the Drupal editor.
  4. After your edits are complete, select Update Method.

Exporting and importing a model

SmartDocs lets you export an existing model to a file. For example, you might define a production and a staging environment. You then make all of your SmartDocs edits in the staging environment. When you are ready to release your APIs, you export the staging model and import it into the production model.

Importing a model creates a new revision of the model. SmartDocs attempts to match existing APIs in the model with imported APIs. If SmartDocs detects a match, the import updates the Drupal node corresponding to the existing API. If SmartDocs does not detect a match, then the import creates a new Drupal node for the API.

For example, you have a POST API the corresponds to a Drupal node with an ID of 91. You then import a model and SmartDocs detects a match of a POST API in the imported model to the existing POST API. Any updates to the POST API then update Drupal node 91. If SmartDocs does not detect a match, it creates a new Drupal node with a new ID.

Drupal performs the match by using the following characteristics of the API:

  • machineModelName: The machine model name.
  • httpMethod: The HTTP method of the API, such as: GET, PUT, POST, or DELETE.
  • resourcePath: The resource path.
  • query params: Any query parameters used by the API.

If all four characteristics of an imported API match an existing API in the model, then SmartDocs updates the existing Drupal node.

The exported model is represented by a single JSON object with entries for resources and methods. That means you can edit the exported model to modify a resource or method, and then reimport the model. If you do edit the JSON object, do not modify the following fields:

  • revisionNumber
  • createdTime
  • modifiedTime
  • apiRevisionId
  • resourceId

To export a model:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Model in the Drupal administration menu.
  3. Select the model you want to export.
  4. Select Export under Operations.
  5. Select the export file type as SmartDocs JSON.
  6. Select the Export button.
  7. You are prompted to save the file to disk or open it in an editor.

To import a model:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Model in the Drupal administration menu.
  3. Select the model you want to export.
  4. Select Import under Operations.
  5. Select SmartDocs JSON in the Choose Format dropdown.
  6. Select Upload or URL Path in the SmartDocs JSON Options dropdown.
    1. If you select Upload, browse to the JSON file and select Upload.
    2. If you select URL Path, specify the URL of the SmartDocs JSON file  and select Upload.
  7. After the upload complete, select the link corresponding to the file name to see if there were any errors.
  8. Select the Import button to import it into the model.
  9. You are redirected to the model’s information page where you can now render the model. Note that the import creates a new revision of the model.
  10. Render and publish the nodes.

Editing the SmartDocs template

The SmartDocs template defines how your Drupal nodes appear on the screen. A template includes CSS files, JavaScript files, and template code.

Each SmartDocs model can use the same template or a custom template unique to the model. After you render your nodes, you can modify the template to alter the way the page appears.

By default, models reference template files located at https://smartdocs.apigee.com. To add custom JavaScript or CSS files to the SmartDocs template, put the files on a server and make sure that the server is accessible to the portal. Alternatively, you can use the Drupal Media module to upload your assets directly to the portal for reference. For example, you can start by copying all of the JavaScript and CSS files from https://smartdocs.apigee.com, editing them, and then putting them on a server accessible by your portal.

To modify the template:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Model in the Drupal administration menu.
  3. Select the model you want to export.
  4. Select Settings under Operations.
  5. Edit the template as necessary.
  6. Save the template.
  7. Browse to a Drupal node. You should see your template changes on the page.

If your portal does not have an external internet connection, you can reference the templates embedded within the SmartDocs module.

To use the template embedded in the SmartDocs module:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Setting in the Drupal administration menu.
  3. Expand the Advanced Settings area.
  4. Expand the Management API Override Settings area.
  5. Set the Use Local SmartDocs JS/CSS checkbox.
  6. Save the configuration.

Configuring the SmartDocs authentication type

APIs defined in SmartDocs can either be open, meaning no authentication credentials are required to access them, or secure. A secure API requires that you pass credentials when making a call to the API.

For a secure API, SmartDocs supports the following types of authentication:

  • Basic authentication (default) - Pass basic authentication credentials as a username and password pair. If you do not specify to use OAuth as the credential type, the API defaults to using basic authentication.
  • OAuth 2.0 - A third-party service provider authenticates the user's credentials, ensures that the user has authorization to the API, and then issues an access token. When you make a SmartDocs request to a protected API, SmartDocs builds and signs the request and sends it to the service provider. The service provider then validates the token and ensures that it has not expired.
  • Custom token - Pass a token value as a header or query parameter to each request.

In a WADL file, you specify if an API requires authentication by using the <apigee:authentication> Apigee tag, as shown below:

<method id="statusespublic_timeline" name="GET" apigee:displayName="PublicTimeline">
    ...
    <apigee:authentication required="true"/>
</method> 

If the API is open, set the required attribute to false.

Notice that you cannot specify the type of authentication in the WADL file. You do that by editing the node in Drupal. For more information on WADL files, see WADL Reference.

On the API page in Drupal, SmartDocs adds the following button to let users specify their basic authentication credentials:

If you edit the node to set the authentication type to OAuth, then SmartDocs adds the following button to the page:

For custom token, SmartDocs adds:

Configuring basic authentication

If you use basic authentication with your API, then you only have to specify the <apigee:authentication> tag in the WADL file that you use to create the model. Because basic authentication is the default, no other configuration is necessary.

To apply basic authentication to methods created from a source other than a WADL file, edit the method to set its Authentication to BASICAUTH.

Configuring OAuth 2.0 authentication

You can configure a model to use OAuth 2.0 in SmartDocs, instead of the default of basic authentication.

To enable OAuth:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Model in the Drupal administration menu.
  3. Select the model you want to update.
  4. Select API Revisions under Operations.
  5. For the model revision you want to edit, select Auth Settings under Operations.
  6. Expand OAuth 2.0 Web Server Flow.
  7. Enter the values in the Client ID, Client Secret, and Authorization URL fields.
  8. Set the Authorization Verb as GET or POST.
  9. Enter the Access Token URL and Access Token Type.
  10. Enter the Access Token param name.
  11. Select the Client Authentication Name.
  12. Select Save Authentication Settings.

For each method in the model, edit the method to set its Authentication to OAUTH2WEBSERVER.

Configuring custom token authentication

You can configure a model to use custom token authentication.

To enable custom tokens:

  1. Log in to your portal as a user with admin or content creation privileges.
  2. Select SmartDocs > Model in the Drupal administration menu.
  3. Select the model you want to update.
  4. Select API Revisions under Operations.
  5. For the model revision you want to edit, select Auth Settings under Operations.
  6. Expand Custom Token.
  7. For each token:
  8. Set the Token Type.
  9. Set the token Name and Value.
  10. Select Save Authentication Settings.

For each method in the model, edit the method to set its Authentication to CUSTOM.

 

 

Help or comments?

  • Something's not working: See Apigee Support
  • Something's wrong with the docs: Click Send Feedback in the lower right.
    (Incorrect? Unclear? Broken link? Typo?)