Contact Us 1-800-596-4880

Traits & policies concepts of RAML based APIs

If your API exposes a RAML definition that users might need to reference, then the RAML definition should reliably detail every element that is expected in calls to your API. For example when applying a client ID-based policies implies that all requests coming to your API include a client ID and client Secret (by default expected as query parameters). To prevent user requests from being rejected, create a trait in the RAML root and then reference this trait in every operation of your API. The trait might look like this:

traits:
  - client-id-required:
      queryParameters:
        client_id:
          type: string
        client_secret:
          type: string

And then you can apply this trait in each individual operation like this:

/products:
  get:
    is: [client-id-required]
    description: Gets a list of all the inventory products.
  1. Click Policies on the API dashboard.

    In the list of policies, the RAML snippet link contains the RAML code you need to add to the RAML.

    raml snippet
  2. Click RAML Snippet.

  3. Select RAML 0.8 or RAML 1.0 to match the API RAML version.

  4. Edit the API to add the code.

  5. Redeploy the API.