To Prepare RAML for Policies (Nov 2017 and Jul 2017)
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:
1 2 3 4 5 6 7 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:
1 2 3 4 /products: get: is: [client-id-required] description: Gets a list of all the inventory products.
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.
Click RAML Snippet.
Select RAML 0.8 or RAML 1.0 to match the API RAML version.
Edit the API to add the code.
Redeploy the API.